It will depend on what level of interaction you want your plug-in and your host application to have.
If the plug-in has a heavy interaction with your application and they have to interchange a lot of information quickly, the best way to go is using dynammic libraries. (like VSTs plug-ins)
If what you need is to expose a internal API to the plug-in developer, in order to let he or she improve or boost your application functionality, you could think on a scripting engine. (like Torque plug-ins)
If you don't spect to interchange a lot of information with the plug-in, you want your plug-in to be quick, and you want the plug-ins to be developed on native compilers for each platform, the best way is let the plugin be a standard executable with a comunications protocol to your app (using pipes). that's a fast a good x-platform plug-in system. This way you also protect your application from crashing when a plug-in is crashes. (like Rewire plug-ins)
|