What kind of application are we talking about? Especially, what kind of operations should the plugins be able to do? Should plugins have their own GUI, be integrated into the main app's GUI or don't they have a GUI at all?
Plugins can be written in many languages - Perl, C, VB, Python, etc.
This suggests you either want a C-level interface (i.e. a dynamic library) or some kind of language independent interface (preferably text based - I might even go for XML)
If you go for a shared library, you might want to consider SWIG, since you can use it to build a single C interface and generate wrappers for different languages including perl, python and C#.
The mechanism should work on both unix and Windows systems.
Do you also want to have plugins running on remote machines?
I think I'd go with either a C library based interface for complex/dynamic systems, or some kind of XML "filter" system for "single shot" plugins: App -> XML out -> pipe into plugin -> xml response -> read back.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.