Question

Nous avons récemment commencé à développer une application de bureau Java et la direction a demandé que nous utilisons Rich Client Platform. Je sais que de quatre pour Java à savoir:

  1. Eclipse RCP - lien www à ecipse rcp,
  2. Netbean RCP - Netbeans RCP site web ,
  3. Spring RCP - printemps riche client
  4. Valkyrie RCP - client Valkyrie riche

Quelqu'un at-il eu une expérience dans l'un de ces derniers et si oui, quelles sont la force et weaknesess de chacun?

Merci

Était-ce utile?

La solution

Je vous recommande de jeter un oeil à JSR 296 - il est pas encore complet par un effort, mais je pense qu'il frappe le sweet spot pour fournir certaines fonctionnalités de base que vous avez vraiment, vraiment besoin dans chaque application Java GUI, sans vous forcer de vivre dans un cadre trop compliqué.

Je l'ai utilisé JSR 296 pour créer avec succès une application de taille moyenne. Pour la mise en page de la fenêtre dans cette application, nous utilisons MyDoggy (fortement recommandé). Pour la gestion de la mise en page, 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 quelque chose de similaire à PresentationModel sur de la JSR 295 que nous utilisons pour notre interface de liaison). Je suis en train d'intégrer Guice comme mécanisme de DI, mais ont pas fini de cet effort (jusqu'à présent, je pense qu'il va « bien jouer » ici et là avec JSR 296 avec un tweak). Voyons voir ... la persistance est le grand chaînon manquant ici - Je suis 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 des conteneurs DI comme Guice. Je Betwixt travail, mais les dépendances sur Betwixt sont énormes pour que nous cherchons quelque chose de plus simple.

Avis sur d'autres options RCP pour Java:

NetBeans: J'ai quelques objections philosophiques fondamentales à l'approche utilisée par NetBeans (trop de motifs anti-conception pour mon goût). En fin de compte, les forces de cadre vous de prendre des décisions de conception pauvres - et il est presque impossible d'utiliser si vous ne l'utilisez pas NetBeans comme IDE (j'ai essayé, mais je ne pouvais pas passer d'Eclipse au Nouveau-Brunswick). Il est probablement juste moi, mais il semble qu'il devrait être possible d'écrire du code pour un cadre RCP sans utiliser de grands sorciers compliqués et ramettes de fichiers de code et XML générés automatiquement. J'ai passé tant d'heures de dépannage ancien Visual C ++ code généré par Visual Studio que je suis extrêmement méfiants de tout cadre qui ne peut être codé par la main.

Spring 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 (mais une fois que vous faites, vous pouvez faire avancer les choses assez rapidement).

Eclipse RCP: Je n'ai pas utilisé Eclipse juste à cause de la surcharge de déploiement (dépend de votre public cible - pour nous, déployer 50 Mo supplémentaires d'exécution n'a pas fonctionné). Sans aucun doute Equinox est une belle chose si votre application a besoin de fonctionnalités de plug-in important (bien sûr, vous pouvez exécuter Equinox avec JSR 296 aussi bien, ou utiliser des modèles de conception similaire au modèle promu par Whiteboard OSGi).

Autres conseils

INTRO - sauter si vous êtes seulement en interesterd résultat;)
Je développais un éditeur pour un langage de programmation très personnalisé à JSP simmilar. D'abord, je l'ai mis en œuvre l'éditeur comme ma thèse en utilisant la plate-forme NetBeans . Après avoir terminé l'école, je l'ai obtenu un emploi et ils voulaient me mettre en œuvre la même chose dans Eclipse RCP , maintenant je peux comparer ces deux plates-formes au moins dans des choses que je faisais face au cours de ce projet.

RÉSULTAT - Si je devais choisir entre la plate-forme NetBeans et Eclipse RCP, je definitelly choisir une plate-forme NetBeans . Pourquoi?
Grands screencasts, bons tutoriaux, très active communauté sympathique et serviable, très bien documenté et le code source est écrit bien et avec de bonnes conventions de code. a aussi quelques gadgets intéressants (cookies, consultation). Il me convient tout simplement.

Et pourquoi Eclipse RCP ne me convient pas?
La documentation est plus faible et les conventions et les API sont sometimes..ehm..too bizarre pour moi :-) Il est tout à fait ususal de voir des méthodes telles que:

/**
* Returns a description of the cursor position.
*
* @return a description of the cursor position
* @since 2.0
*/
protected String getCursorPosition() {
..
}

Eh bien, je pensais qu'ils doivent être plaisantez :-D Comment dois-je utiliser cette méthode? Ou comme ceci:

/**
* Returns the range of the current selection in coordinates of this viewer's document.
*
* @return a <code>Point</code> with x as the offset and y as the length of the current selection
*/
Point getSelectedRange();

Bien que le nombre et le type de Fitts attributs, je ne trouve pas l'objet Point structure de données idéale pour le stockage de gamme; -)

Il y a un nombre de theese dans ces surpises Eclipse RCP

Trop tard pour répondre, mais certains gars pourraient frapper cette page.

Je pencherais pour Netbeans RCP, 1) la plate-forme Netbeans. son tout à fait mature et a évolué est une plate-forme facile à utiliser »pour le développement d'applications.

2) Il est très facile de commencer avec, alors que la courbe d'apprentissage Eclipse RCP est assez raide. Juste goto, http://netbeans.org/kb/trails/platform.html , il vous des tutoriels, des vidéos (ne regardez les 10 vidéos de api, plus essayer des tutoriels avant de lire des livres, de cette façon, vous obtiendrez un coup de choses à l'avance).

3) Livres sur NetBeans RCP (je suppose qu'il ya 2 sur NetBeans RCP) sont UpToDate (petits changements qui ne vous ont l'habitude des questions beaucoup avec). tandis que le livre principal RCP n'était pas disponible depuis longtemps (récemment .que est, mai 2010, la nouvelle édition a été publiée, de sorte que c'est une très bonne chose pour les développeurs Eclipse RCP. Ce ne fut pas là quand je tentais pour l'apprendre. Je suis frustré avec les auteurs qui ne publient pas de nouvelles éditions, presque en laissant les nouveaux développeurs en embardée. pas tout le monde aime lire docs. pas d'édition des livres mis à jour presque tuer revient la technologie). J'aimerais voir un livre de type livre de recettes pour les deux plates-formes.

4) Netbeans a plein constructeur de GUI intégré qui est grand plus. Eclipse RCP, soit vous devez coder manuellement ou acheter constructeur de GUI tiers.

5) la plate-forme NetBeans a cette assez cool Recherche api pour la communication intermodules. Je suppose que les gars utilisent Eclipse points d'extension à cet effet. Mais recherche api est facile une fois que vous obtenez un coup de lui.

6) De toute façon, son une grande décision de conception, dont la plate-forme de choisir. plate-forme NetBeans fonctionne pour moi. Il ne peut pas travailler pour vous. Les deux plate-forme nécessite des efforts, à la fois fournir merveilleux "hors des sentiers battus fonctions. Faites l'essai routier à la fois et de décider ensuite.

J'ai l'expérience avec le RCP Eclipse et je le recommande.

Avantages:

  • Composants - composant / modèle permet en PLU de réutilisation.
  • Utilise SWT et JFace qui permet la recherche native interface utilisateur
  • Vues Pluggable, éditeurs et perspectives mises en page facile et rendent configurable.
  • points d'extension Eclipse font l'extension et l'intégration avec les API 3ème partie et des outils simples.

Moins:

  • courbe d'apprentissage

Si vous choisissez Eclipse RCP, un air de défi obtenir ce livre, il est invaluble quand débutez avec le cadre: http://www.amazon.com/Eclipse-Rich-Client-Platform-Applications/dp/0321334612

Je développe actuellement une application RCP de printemps. 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 n'obtenez de croisière, les choses ne bougent assez vite et vous avez vraiment besoin d'apprendre printemps de base si vous n'êtes pas familier avec le cadre. Les intégrations avec des bibliothèques de printemps telles que VLDocking est excellent aussi.

Je pense que Spring Rich est très bien si votre cas d'utilisation est de développer une application de bureau Java autonome. Ce que je veux dire par là est que si vous n'avez pas besoin de distribuer des modules et faire des mises à jour en ligne, alors il devrait répondre à la plupart des besoins.

Bien que je ne l'ai pas utilisé explicitement l'un d'eux, je l'ai utilisé des portions de la RCP Eclipse. Plus précisément, je l'ai utilisé le moteur d'exécution OSGi Eclipse (Equinox) et certains services communs et j'ai très heureux. OSGi est fantastique de travailler avec. J'ai plusieurs amis sur les grands contrats qui utilisent Eclipse RCP (plus que je l'utilise) et ils s'extasier.

Si mon projet ne contenait pas une grande montagne de Swing héritage, Eclipse RCP serait mon premier choix. OSGi est tellement amusant! (J'imagine Spring utilise aussi, ne sont pas vérifiées si)

Bien sûr, tout dépend du type d'applications et de services que vous souhaitez fournir et l'environnement cible. Mais je peux aussi recommander OSGi comme une plate-forme de développement et de déploiement. L'architecture sous-jacente et les spécifications sont très bien développées et éprouvées.

En plus de la RCP Eclipse, vous devriez jeter un oeil à Apache Felix ( http://felix.apache.org ) et Knopflerfish ( http://www.knopflerfish.org ), qui sont (plus petit) open Source OSGi implémentations cadres.

De mon point de vue de l'utilisateur final.

Je l'ai vu plus implémentations dans Eclipse que dans les deux autres. En fait, je l'ai connais des implémentations Netbeans mais jamais eu un dans mes mains.

Du printemps c'est la première fois que je l'ai entendu parler.

Alors que ma réponse est sans aucun doute une vue superbe 10 000 pieds, il reflète en quelque sorte la préférence de l'industrie avait eu sur l'utilisation de l'un ou l'autre.

En outre, la différence est proportionnelle au temps de la plate-forme est disponible. Rappelez-vous Eclipse créer SWT pour résoudre les problèmes Java Swing tournait le dos à 1.3 où est était tout simplement prohibitely lent.

Netbeans ont été très enrichie par les améliorations de la JVM et fonctionne maintenant très très rapide.

Le printemps est encore jeune (contre les deux autres), mais comme toujours, les nouvelles choses à apprendre de l'ancien, il est probable qu'il 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. Son parcouru un long chemin au cours des années. Il utilise une technologie plus robuste ( « Swing ») que beaucoup de gens utilisent et comprennent. Eclipse RCP (plus particulièrement SWT) me confondre.

Eclipse RCP fournit mécanisme de plug-in afin que vous puissiez ajouter de nouvelles fonctionnalités plus tard le déploiement. En outre via le mécanisme de mise à jour, vous pouvez changer le système sans intervention de l'utilisateur. Dans la phase de développement, Eclipse RCP offre un terrain rapide, robuste avec des perspectives, vues, éditeurs, commande et mécanismes d'action. Si votre projet nécessite beaucoup de fenêtres différentes avec différents menus et barre d'outils (et menus contextuels personnalisés) Je vous suggère d'utiliser Eclipse RCP. Je vérifie que les vidéos de la plate-forme Netbeans et exécuter le projet Helloworld mais il semble :) 40 secondes et maladroit de la lenteur de démarrage (vous pouvez recharger l'application si w / o redémarrage.) Vogella.de est une bonne collection de tutoriels pour Eclipse RCP

Il y a aussi la génération de l'interface utilisateur à base de réflexion et de personnalisation.

Au lieu de personnaliser un IDE pour répondre à vos besoins, vous personnaliser une interface graphique généré par défaut. Il peut être intéressant d'essayer une nouvelle approche.

https://github.com/dotxyteam/ReflectionUI

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top