Quelle plateforme Rich Client utiliser?
Nous avons récemment commencé à développer une Java d'applications de bureau et de gestion a demandé à ce que nous faisons usage de Rich Client Platform. Je sais que de quatre pour Java à savoir:
- Eclipse RCP - www lien vers ecipse rcp,
- Netbean RCP - Netbeans RCP site web,
- Printemps RCP - printemps de client riche
- Valkyrie RCP - Valkyrie client riche
Quiconque a une expérience dans l'un de ces et si oui, quelles sont la force et la weaknesess de chacun?
grâce
source d'informationauteur Peter Osborne
Vous devez vous connecter pour publier un commentaire.
Je vous conseille de prendre un coup d'oeil à la JSR 296 - il n'est pas encore complète par un effort, mais je pense qu'il frappe le sweet spot pour la fourniture de certaines fonctionnalités de base que vous avez vraiment, vraiment besoin dans tous les IHM Java application, sans vous forcer à vivre dans une trop compliqué cadre.
J'ai utilisé de la JSR 296 réussi à créer un milieu de la taille de l'application. Pour la fenêtre de mise en page dans cette application, nous utilisons MyDoggy (fortement recommandé). Pour la mise en page de gestion, nous utilisons MiGLayout (au-Delà fortement recommandé). Pour la liaison de données, nous utilisons une forme modifiée de la JSR 295 (nous avons mis en place quelque chose de similaire à PresentationModel sur le dessus de la JSR 295 que nous utilisons pour nos GUI de liaison). Je suis dans le processus de l'intégration Guice comme un DI mécanisme, mais n'avez pas fini de cet effort (jusqu'à présent, je pense qu'il va "bien jouer" avec la JSR 296 avec un tweak ici et là). Voyons voir... la persistance est le gros manque de lien ici - je suis actuellement en train d'évaluer Simple pour la persistance XML, mais je suis en cours d'exécution dans des problèmes avec la faire fonctionner avec DI conteneurs tels que Guice. J'ai Entre de travail, mais les dépendances Entre sont immenses nous sommes donc à la recherche de quelque chose de plus simple.
Des Opinions sur d'autres RCP options pour Java:
NetBeans:
J'ai quelques objections philosophiques fondamentaux de l'approche utilisée par NetBeans (trop de concevoir les anti-modèles à mon goût). En fin de compte, le cadre vous oblige à faire des pauvres des décisions de conception et il est presque impossible de l'utiliser si vous n'utilisez pas de NetBeans comme votre IDE (j'ai essayé, mais je ne pouvais tout simplement pas passer de l'Éclipse de NB). C'est probablement juste moi, mais il me semble qu'il devrait être possible d'écrire du code pour un cadre PCR sans l'aide de gros compliqué assistants et des tonnes de code généré automatiquement et les fichiers XML. J'ai passé de nombreuses heures de dépannage ancien Visual C++ le code généré par Visual Studio que je suis extrêmement réticent à l'idée de tout cadre qui ne peut pas être codé à la main.
Printemps RCP:
Les gens de Printemps ont une bonne conception solide, mais la documentation est vraiment, vraiment faible. Il est assez difficile de se lever à la vitesse sur elle (Mais une fois que vous faites, vous pouvez faire des choses assez rapidement).
Eclipse RCP:
N'avez pas utilisé Eclipse juste à cause du déploiement de frais généraux (dépend de votre public cible - pour nous, le déploiement d'un supplémentaire de 50 MO d'exécution n'a tout simplement pas de travail). Sans que la question de l'Equinox est une belle chose si votre application a besoin d'importantes plugin fonctionnalité (bien sûr, vous pouvez exécuter l'Équinoxe avec la JSR 296, ou de l'utilisation des modèles de conception similaire pour le Tableau blanc modèle promu par OSGi).
INTRO - ignorer, si vous n'êtes interesterd dans le résultat 😉
J'ai été l'élaboration d'un éditeur pour personnaliser un langage de programmation très simmilar aux JSP. Tout d'abord j'ai mis en œuvre la fenêtre d'édition de ma thèse à l'aide de plateforme NetBeans. Après avoir fini l'école, j'ai un emploi et qu'ils voulaient me mettre en œuvre la même chose dans Eclipse RCP, je peux donc maintenant comparer ces deux plates-formes au moins dans les trucs que j'ai été confronté au cours de ce projet.
RÉSULTAT - Si j'avais le choix entre la plateforme Netbeans et Eclipse RCP, je definitelly choisir une plateforme NetBeans. Pourquoi?
Grand screencasts, de très bon tutoriaux, très actif, sympathique et serviable de la communauté, très bien documenté et le code source est écrit très bien et avec un bon code de conventions. A aussi quelques gadgets intéressants (cookies, recherche). Simplement, il me convient.
Et pourquoi Eclipse RCP ne me convient pas?
La documentation est plus faible et des conventions et de l'API sont parfois..euh..trop bizarre pour moi 🙂 C'est assez ususal pour voir les méthodes comme:
Eh bien, je pense qu'ils doivent être moquez de moi 😀 Comment suis-je censé utiliser cette méthode?
Ou comme ceci:
Bien que le nombre et le type des attributs de fitts, je n'ai pas trouver l'objet idéal structure de données pour le stockage de gamme 😉
Il y a des nombres de ces de ces surprises dans Eclipse RCP
Trop tard pour répondre, mais certains gars pourraient frapper cette page.
Je pencherais pour Netbeans RCP,
1)plateforme Netbeans. son tout à fait mature et a évolué est un facile à utiliser la plate-forme pour le développement d'applications.
2)il est très facile à apprendre, alors que la courbe d'apprentissage de l'eclipse RCP est assez raide. Juste goto, http://netbeans.org/kb/trails/platform.htmlvous y trouverez des tutoriels, des vidéos(ne regarder le top 10 de l'api de vidéos ainsi que d'essayer de tutoriels avant de lire des livres, de cette façon, vous aurez un avant goût des choses à l'avance).
3)Livres sur netbeans RCP (je suppose qu'il ya 2 sur netbeans RCP) sont à jour (de petits changements seulement que vous n'aurez pas beaucoup de problèmes avec). alors que le livre principal sur le RCP n'était pas disponible pour une longue période (récemment .c'est, en mai 2010, la nouvelle édition a été publiée, de sorte que c'est une très bonne chose pour eclipse RCP développeurs. Il n'était pas là quand j'ai essayé de l'apprendre. Je suis frustré avec des auteurs qui n'ont pas de publier de nouvelles éditions, près de quitter de nouveaux développeurs dans le pétrin. Pas tout le monde aime lire des docs. Pas de publication de mises à jour de livres revient quasiment au meurtre de la technologie). Je serais ravi de voir un livre de cuisine type de livre pour les deux plates-formes.
4)Netbeans a pleinement intégré GUI builder, ce qui est plus grand. Eclipse RCP, soit vous avez à portée de main code ou en acheter une troisième partie GUI builder.
5)plateforme Netbeans a ce assez cool de Recherche de l'api pour la communication entre les modules. Je suppose que eclipse gars de points d'extension à cette fin. Mais la recherche de l'api est facile une fois que vous obtenez un coup de lui.
6)de toute façon, c'est une grande décision de conception, sur quelle plateforme choisir. Plateforme Netbeans fonctionne pour moi. Il peut ne pas fonctionner pour vous. Les deux plate-forme nécessite des efforts, à la fois fournir merveilleux " hors de la boîte. Test drive à la fois et de décider ensuite.
J'ai de l'expérience avec l'Eclipse RCP et le recommande.
Pour:
Contre:
Si vous choisissez Eclipse RCP, d'un air de défi de vous procurer ce livre, il est invaluble quand commence tout juste avec le cadre: http://www.amazon.com/Eclipse-Rich-Client-Platform-Applications/dp/0321334612
Je suis actuellement à l'élaboration d'un Ressort RCP de l'application. La documentation est vraiment faible, c'est sûr, mais les blogs et le forum ont une bonne quantité d'informations pour y aller. Une fois que vous obtenez de croisière, les choses ne se déplace relativement vite et vous avez vraiment besoin d'apprendre les rudiments de Printemps, si vous n'êtes pas familier avec le cadre. Les intégrations avec le Printemps des bibliothèques comme VLDocking est excellent aussi.
Je pense que le Printemps Riche est idéal si votre cas est de développer un Java autonome de l'application de bureau. Ce que je veux dire c'est que si vous n'avez pas besoin de distribuer des modules et de faire des mises à jour en ligne, alors il devrait répondre à la plupart des besoins.
Alors que je n'ai pas utilisé explicitement l'un d'eux, j'ai utilisé des parties de l'Eclipse RCP. Plus précisément, j'ai utilisé l'Eclipse, OSGi d'exécution (l'Équinoxe) et des utilitaires et j'en suis très heureux. OSGi est fantastique de travailler avec. J'ai plusieurs amis sur les grands contrats qui utilisent Eclipse RCP (de plus que j'utilise) et ils en raffolent.
Si mon projet n'a pas à contenir un grand mont d'héritage Swing, Eclipse RCP serait mon premier choix. OSGi est tellement amusant! (J'imagine Printemps l'utilise trop, vous n'avez pas vérifié si)
Sûr tout dépend du type d'applications et de services que vous souhaitez offrir, et de l'environnement cible. Mais je peux aussi recommander OSGi comme le développement et le déploiement de la plateforme. L'architecture sous-jacente et les spécifications sont très bien développé et éprouvé.
En plus de l'Eclipse RCP, vous devriez jeter un oeil à Apache Felix (http://felix.apache.org) et Knopflerfish (http://www.knopflerfish.org), qui sont (plus petit) de l'open source OSGi cadre des implémentations.
De ma perspective de l'utilisateur final.
J'ai vu plusieurs mises en œuvre dans Eclipse que dans les deux autres. En fait, j'ai savoir sur Netbeans implémentations mais n'a jamais eu dans mes mains.
De Printemps c'est la première fois que j'ai entendu parler d'elle.
Pendant que ma réponse est définitivement un super 10 000 pieds de vue, elle reflète en quelque sorte la préférence de l'industrie avait eu sur l'utilisation de l'un ou de l'autre.
Aussi, la différence est proportionnelle au temps de la plate-forme a été disponible. Souvenez-vous de l'Éclipse créer SWT pour résoudre les problèmes en Java Swing eu de retour à 1.3 où est tout simplement prohibitely lent.
Netbeans ont été très bénéficié par la JVM des améliorations, et maintenant va très très vite.
Printemps est encore jeune ( par rapport aux deux autres ) , mais comme toujours, de nouvelles choses à apprendre de l'ancien, les chances sont que c'est plus simple à utiliser.
Voici un article sur ces deux plate-forme Eclipse RCP vs Netbeans RCP. Peut être utile
http://blogs.oracle.com/geertjan/entry/eclipse_platform_vs_netbeans_platform
Netbeans RCP est excellent. Ses parcouru un long chemin au cours des années. Il utilise un système plus robuste de la technologie ("Swing") que beaucoup de gens à utiliser et à comprendre. Eclipse RCP (plus précisément SWT) me confondre.
Eclipse RCP fournit un mécanisme de plug-in de sorte que vous pouvez ajouter de nouvelles fonctionnalités au plus tard le déploiement. Également via le mécanisme de mise à jour que vous pouvez changer le système sans intervention de l'utilisateur. Dans la phase de développement, Eclipse RCP fournit un moyen rapide, robuste sol avec les perspectives, les vues, les éditeurs, de commande et de mécanismes d'action. Si votre projet nécessite beaucoup de fenêtres avec une autre barre d'outils et les menus (et aussi personnaliser les menus contextuels), je vous suggère d'utiliser Eclipse RCP. Je ne vérifiez les vidéos de la Plateforme Netbeans et exécuter votre projet Helloworld mais il semble lent et maladroit 🙂 40 secondes pour le démarrage (vous pouvez recharger l'application si w/o redémarrer.) vogella.de est une bonne collection de tutoriels pour Eclipse RCP