I need to know how to start writing an application based on plug-in architecture. I mean how to write a base code and let others develop the application by adding the plug-ins they write.
I know that there is some problems in doing so in c++. most people use another language such as python to add plug-ins to their c++ application.
I need to know how to start writing an application based on plug-in architecture.
Share
I think, this is not the answer you expect, but you could try to examine the Rainmeter sources. It’s written in C++ (some places could be done better, to my mind, but overall it’s ok) and the whole application is done the way so it just handles plugins.
Even the simple API is done via plugins, there is also a bunch of examples of contributed plugins, I mean, written by someone else (I did that too, one day).
I think you could actually study a lot of new tricks in the plugin-based development by looking at other applications.
Also to mention, another good sample is Miranda IM.
Edit: Also, if I han the same task, I would actually add some
python(or something like that) backend to my application and use it as the language for SDK (for example, usingboost::python).