J'ai besoin de savoir comment démarrer l'écriture d'une application basée sur une architecture de plug-in. Je veux dire comment écrire un code de base et laisser les autres développer l'application en ajoutant les plug-ins qu'ils écrivent. Je sais qu'il y a quelques problèmes en C++. la plupart des gens utilisent un autre langage tel que python pour ajouter des plug-ins à leur application C++.application c/C++ basée sur une architecture de plug-in
Répondre
Je pense que ce n'est pas la réponse attendre, mais vous pouvez essayer d'examiner les sources Rainmeter. Il est écrit en C++ (certains endroits pourraient être mieux fait, à mon avis, mais dans l'ensemble, c'est OK) et l'ensemble de l'application est fait de telle sorte qu'il ne gère que les plugins.
Même l'API simple est faite via des plugins, il y a aussi un tas d'exemples de plugins contribués, je veux dire, écrits par quelqu'un d'autre (je l'ai fait aussi, un jour).
Je pense que vous pourriez réellement étudier beaucoup de nouvelles astuces dans le développement basé sur le plugin en regardant d'autres applications. Par ailleurs, un autre bon exemple est Miranda IM.
Edit: Aussi, si je han la même tâche, je serais en fait ajouter un peu python
(ou quelque chose comme ça) backend à mon application et l'utiliser comme la langue SDK (par exemple, en utilisant boost::python
).
Pourriez-vous définir des points d'accès dans votre application avec lesquels une application externe pourrait communiquer? Supposons que vous définissiez un mécanisme de canal nommé ou un socket TCP/IP, où l'application externe appelle cette API pour manipuler votre application.
étant donné que vous devez enregistrer ces plugins dans l'application principale avant de les autoriser à utiliser votre application. vous pourriez même ajouter des certificats privés publics pour authentifier l'origine de ce plugin, (ie signer le plugin avec une clé privée où les instances de votre application valideraient avec une clé publique)
Vous devez:
- définissent une interface
- charger votre plugin et lui donner cette interface
Votre lecteur sera en mesure de communiquer avec l'application hôte via cette interface. Cela signifie que vous devez réfléchir soigneusement à ce que vous voulez que vos plugins fassent.
Vous devrez probablement prendre en charge différentes versions de l'interface si votre application hôte change et que vous ajoutez des fonctionnalités.
- 1. Architecture du plugin
- 2. Ruby plugin architecture
- 3. Application de carte interactive basée sur Javascript
- 4. Ruby Plugin Architecture
- 5. Vue initiale sur une application basée sur une vue partagée
- 6. application basée sur la localisation
- 7. Application basée sur le bureau
- 8. Application USB basée sur Java
- 9. application basée sur l'application iphone
- 10. Architecture plugin pour rails cms
- 11. Comment construire une application basée sur un module ou un plugin
- 12. Comment faire une application basée sur la navigation de l'application basée sur la vue dans l'ipad?
- 13. Application de données basée sur OO Concepts
- 14. meilleure application de discussion basée sur php
- 15. Comment mettre des annonces sur une application basée sur Flex?
- 16. Pouvez-vous avoir une architecture de plugin dans ASP.NET?
- 17. Structure de fichier pour une application Web basée sur javascript
- 18. Seam application Architecture
- 19. Une architecture CRM (application open source)
- 20. vue basée vs application iphone basée sur les fenêtres
- 21. Arrêt d'une application basée sur son exécutable
- 22. parce que ruby est une lang dynamique, est-il facile de créer une architecture de plugin dans une application rails?
- 23. Android listview/application basée sur la navigation
- 24. Application basée sur la navigation pour iPad
- 25. Application basée sur les vues? - Veuillez expliquer
- 26. Comment créer une application basée sur la navigation?
- 27. MVC dans une application basée sur un document Cocoa
- 28. Fonctionnalités OpenGL dans une application basée sur la vue
- 29. Comment configurer une application non basée sur .war dans Tomcat?
- 30. Publicité basée sur le contenu pour une application entièrement ajax
Voulez-vous dire que les plug-ins doivent être écrits en C++? – xtofl
Cela dépend du système d'exploitation que vous ciblez, dans une certaine mesure –
oui. mais je suis préoccupé par la compatibilité binaire entre l'application principale et les plug-ins écrits en C++ – sepisoad