Power of Plugins
Just recently I have been told by my boss to work on a feature. After a few commits to the sandbox, code-reviews and QA, suddenly, I have been told that this feature might be helpful only for a certain client and some clients might not need it. But the feature should be part of the core always(as its been already developed, and for future needs). I didn't know what to do or how to proceed. Later my boss told me to have a global on-off functionality which will be enabled for certain clients and disabled for certain clients. Thats good. And that solved the issue.
Did you notice anything BIG in this? I do.With just one single flag, the whole feature will be treated as a PLUGIN. Isn't that great. Plugin development. These days, popular tools like Django, Eclipse and many others are resorting to the same philosophy. Plugin-related development or Loose-Coupling. Because its completely flexible and makes sense. If you dont like anything(or any component), just put it off. Its that easy(ofcourse proper dependancies need to be handled, and is always the case with any code anyway). Now, lets think about it laterally. From the Open-Source perspective.Let me give you an example, so its clear. These days I'have been using Wingware(instead of Eclipse) for all my development needs. As you may now, its proprietary and doesn't have any plugins concept. So if I want a good graphical svn merge tool I need to put a request to wingware teams to develop one. If I want a simple search utility to search files in my project using a wildcard expression, again I need to put a request to wingware teams to develop one. I made a list of this. So no plugins, no nothing. Thats the killer feature of Eclipse. Plugin development. You have a whole site dedicated for that and growing Thats the power of Plugins. Enough for now. Got an opinion on this? Leave a comment.



