SWT / JFace ou Eclipse RCP?
-
19-09-2019 - |
Question
Quelles sont les raisons de choisir la plateforme Eclipse Rich Client à la base de ma demande, au lieu d'utiliser SWT / JFace?
La solution
Eclipse RCP est non seulement une interface utilisateur graphique (SWT / JFace), mais un OSGi plate-forme à base .
Alors, vous choisiriez le cadre RCP afin de:
- avoir une meilleure définition de vos différents modules
- gérer leurs cycles de vie, et la compatibilité des versions
- problèmes de classloader .
Si votre application est juste une police-end GUI monolithique, RCP peut être un peu exagéré.
Autres conseils
additions à des points que VonC a souligné (OSGi goodies plate-forme: modularité, isolation classloader, architecture extensible), l'Eclipse RCP offre de nombreux services au niveau des applications qui pourraient faciliter le développement global de votre produit final:
Avec Eclipse RCP vous obtiendrez:
- Cadre d'application UI Prêt et extensible
- perspectives pour séparer les domaines d'application distincts
- vues et éditeurs pour fournir des blocs réutilisables de l'interface utilisateur avec le cycle de vie de leur propre
- Commandes abstraction avec les raccourcis clavier, les gestionnaires contextuels et barres d'outils et les liaisons de menus
- Tous les goodies de l'ensemble de l'écosystème de l'éclipse
- p2 approvisionnement pour la gestion de l'installation et les mises à jour automatiques de votre application
- ECF cadre de communication
- outils de reporting BIRT
- EMF et noreferrer outils de modélisation
- beaucoup plus ...
Bien sûr -. La fin ne signifie pas que vous devez pas nécessairement utiliser le mastodonte qui est la plate-forme Eclipse RCP pour obtenir les avantages les offre
En fonction de la portée de votre application, vous pourriez bien faire simplement utiliser Equinox comme un conteneur OSGi sous-jacent et construire votre propre interface graphique client au-dessus de cela.
Gardez également à l'esprit que Eclipse RCP est plus le seul jeu en ville pour prendre une décision de cadres de l'interface graphique dans les terres SWT / JFace. Il y a des candidats sérieux qui pourraient mieux SUÍTE vos besoins:
- Riena plate-forme de projet cite leurs propres mots "la fondation pour la construction multi entreprise de niveau des applications client / serveur " projet
- du projet E4 est un travail en cours pour construire la prochaine génération de la plate-forme Eclipse RCP avec un design beaucoup plus modulaire à l'esprit.
Edit: Eclipse projet e4 est diplômé d'être juste un travail en cours depuis ma première réponse a été publiée et est maintenant devenu un cadre de l'application client riche entièrement utilisable / plate-forme propre. Il a mûri au point où il est maintenant utilisé comme une plate-forme sous-jacente pour la dernière Eclipse 4.2 (Indigo) IDE.
Juste mes 2 centimes d'une valeur, mais SWT vanille / JFace peut être moins d'une courbe d'apprentissage. J'aime le fait qu'ils sont de simples interfaces graphiques, vous n'avez pas besoin d'apprendre la « plate-forme » (comme dans la voie RCP), juste à se familiariser avec les composants SWT et vous construisez êtes GUI! Dans l'ensemble, je le vois comme plus simple (mais je ne sais pas vraiment beaucoup sur RCP!).
Eclipse 4 mécanisme d'injection de dépendance est un grand atout, de choisir Eclipse RCP, et maintenant avec E4, la plate-forme peut être très léger,
Ajoutez à cela des outils e4 avec elle éditeur de modèle, vous permettent d'économiser beaucoup de temps