The plug-in offers us an application within the application, to make the original one do things it could not do before. The kind of plug-in I am referring to here is a dll or "Dynamic Linked Library" which is an extensive compilation of source - files linked in to your computers memory map of a running computer application, in such a way that it runs as a native part of the application code itself. It becomes one with the running application code instance, and extends its capabilities.
Having briefly touched on the technical implementation of the plug-in I will now take a step back and reflect on the larger perspective of implementing plug-in before narrowing in to the technical specifications of 1 plug-in(Genr8 Autodesk Maya Plugin).
While giving the reader the chance to explore the example of the specific plug-in above I now turn my focus to the theoretical reasoning behind implementing a plug-in, plus the possible implications. Being as I have my focus on Architetural design I became interested in plugins when I started to understand some of the limitations of the software that we use. Why you choose to use the strategy of plugins can vary. My reason first and foremost is a scenario where you are using a software application and you are not satisfied with the limitations or the amount of parameters the application is using.
More to follow