-
Architecture de plugins
Bien le bonjour !
Je suis en pleine recherche d'une architecture convenable pour la gestion des plugins dans mon application. Le but de ces plugins est de pouvoir réaliser des traitements sur des données de l'application hôte. Un transfert de données, voire de fichiers et donc nécessaire. Ces nouveaux traitements, ajouté par plugins doivent aussi pouvoir se retrouver dans l'interface utilisateur de l'application.
Suites à mes recherches sur les différents systèmes de plugins utilisables, j'ai pu constater que diverses architectures étaient possibles.
Soit, l'utilisation d'un manager de plugins intégré à l'application hôte, permettant de charger des plugins sous forme de DLL ou de fichier à format propriétaire.
Soit l'utilisation d'un interpréteur de script avec donc, des scripts comportant soit le plug in en lui même, soit un appel à un plug in pouvant être écrit dans n'importe quel langage.
Pour le moment, ce sont les deux seules solutions qui m'ont semblé adaptées à mon problème.
Certaines contraintes se doivent d'être respectées, notamment le fait que la dite méthode doit être portable sur windows 32 et 64 bits, et libre.
Je voulais donc avoir l'avis d'autres personnes à ce sujet. Savoir ce qu'il fallait faire ou ne pas faire dans le cadre d'une architecture de ce type.
EDIT : Petite précision aussi. Ces plugins peuvent avoir le besoin d'utiliser un contrôle Active X.
-
Un petit up !
Un avis serait sympa. Ou une réponse à ces questions :
Quelle serait la meilleur solution entre un manager de DLL ou un interpréteur de script comme architecture de plugins ?
Et finalement, existe t'il une autre méthode ?
-
Salut,
Je ne vois pas trop ce que vous voulez faire.
En fait, soit vous souhaitez construire un framework from scratch qui définisse IHM et architecture de plugins, soit vous en utiliserez un existant déjà et qui vous imposeras ses choix côté "plugins".
Admettons que vous vous lanciez dans la construction "un framework from scratch"... Les frameworks existants vous donnent moultes sources d'inspiration:
- Adobe/AIR,
- Eclipse/RCP,
- QT,
- CouchApp,
...et une idée de la taille des problèmes à résoudre.
- W
-
Ouhai, Eclipse est un bon point de départ