Quand utiliser RCP?

9

J'aime écrire de petites applications GUI en utilisant Java et Swing, quelque chose comme un client pour le site Web social Tumblr

Dois-je utiliser Eclipse RCP ou la plateforme Netbeans?

Et quels avantages puis-je tirer de l’utilisation de l’un ou de l’autre en utilisant le swing simple / SWT?

Les applications RCP nécessitent-elles plus de dépendances que celles développées à l'aide de Swing ou SWT?

Mahmoud Hossam
la source

Réponses:

6

Deckard a eu une assez bonne réponse. Je voudrais ajouter qu'il vaut la peine de considérer comment ce projet sera maintenu en cours de route. Considérez combien de vos collègues (ou développeurs en général) connaissent Swing et al par rapport à combien connaissent RCP. Mon organisation a eu quelques maux de tête lorsque nous avons voulu dépoussiérer une ancienne application RCP. Il s'avère que la plupart des personnes impliquées dans la conception du projet avaient soit quitté l'entreprise, soit occupé des fonctions non liées au développement. Notre expertise interne était plus dans Swing, donc cela a rendu les choses plus difficiles qu'elles ne devaient l'être. Nous souhaitions également en intégrer des parties à une application séparée basée sur Swing, et encore une fois, le fait que l'ancienne application était une application RCP rendait les choses difficiles.

Je ne dis pas que vous ne devriez pas créer une application RCP, mais ce sont des choses que vous voudrez peut-être considérer en premier.

Michael McGowan
la source
7

Essentiellement, lorsque vous utilisez Swing, vous devez tout configurer manuellement: vous définissez la fenêtre, chaque zone et contrôle, à l'intérieur de laquelle vous définissez à nouveau chaque contrôle. Pour chaque contrôle et zone que vous définissez, des gestionnaires pour gérer les modifications et les actions de l'utilisateur, etc. Vous devez le faire car rien ne fonctionnera que si vous le définissez et l'implémentez explicitement.

Le RCP le permet également, mais est livré avec un tas de composants de niveau supérieur qui font beaucoup de choses courantes. Par exemple, il suffit de quelques étapes de configuration pour définir une interface à documents multiples (MDI) ou pour ajouter des barres d'outils avec des icônes qui lancent des plug-ins externes lorsque vous cliquez dessus.

Étant donné que le RCP est ce qui alimente Eclipse, les blocs de base ont tendance à se concentrer sur les applications qui ont des besoins similaires à un environnement de développement: édition de texte étendue dans toutes sortes de fenêtres, en utilisant toutes sortes de menus / barres d'outils / opérations / etc. Contextuels.

Donc, si vous voulez créer une petite application personnalisée avec beaucoup de choses non standard (comme un client Twitter flashy qui a toutes sortes de contrôles personnalisés ou skinnables), il n'y a aucun intérêt à utiliser RCP. En fait, il fera glisser 5 + Mo de plug-ins dans votre application sans aucun avantage réel.

Si vous souhaitez créer une application qui affiche des pages Web, nécessite un système d'aide complet, doit effectuer une mise à jour automatique sur Internet et ce type de fonctionnalité d'application de bureau à grande échelle, alors RCP sera un excellent choix.

Deckard
la source
0

Je suis un ingénieur logiciel Java professionnel avec une grande expertise sur Eclipse RCP et Netbeans Platform.

"Dois-je utiliser Eclipse RCP ou la plateforme Netbeans?"

Réponse: Cela dépend des facteurs suivants:

  • Votre expertise en Java.
  • L'effort requis pour mettre en œuvre quelque chose dans les deux RCP.
  • La clarté de la documentation de chaque RCP.
  • Le look & feel préféré que vous souhaitez offrir à vos utilisateurs finaux.

Voici les avantages et les inconvénients de chacun de ces RCP selon les facteurs que j'ai mentionnés ci-dessus:

La plateforme Netbeans:

Avantages:

  • La clarté et l'organisation de la documentation sont EXCELLENTES! Mais la communauté active est petite par rapport à celle des développeurs Eclipse RCP.

Les inconvénients:

  • Nécessite une grande expertise dans le langage Java.
  • Cela nécessite beaucoup plus de code à écrire par rapport au RCP Eclipse afin de faire la même chose.
  • Le look & feel n'est pas natif. La plateforme Netbeans est basée sur Swing, vous obtenez donc le même Java Swing Look & Feel sur toutes les plateformes cibles!

Le RCP Eclipse:

Avantages:

  • Nécessite juste une bonne connaissance de Java avec également une bonne connaissance de l'injection de dépendance (en d'autres termes, aucune chose en Kung Fu n'est requise: P)!
  • Le look & feel résultant est beaucoup plus natif que celui de Netbean. En effet, le RCP Eclipse est basé sur SWT. (C'est un inconvénient pour moi, juste parce que je ne suis pas un amateur de SWT, personnellement)

Les inconvénients:

  • La clarté et l'organisation de la documentation n'est pas si bonne! Les inconvénients.

Ma préférence personnelle est la plate-forme Netbeans simplement parce que j'aime avoir un contrôle complet de ce que je fais avec mon code, et parce que je pense que l'interface utilisateur basée sur Swing est beaucoup plus stable que le SWT (j'ai l'habitude d'avoir certaines interfaces utilisateur se bloquent dans mon IDE Eclipse pendant que je code: P)!

"Les applications RCP nécessitent-elles plus de dépendances que celles développées à l'aide de Swing ou SWT?"

Réponse: Les dépendances sont ce qui fait rouler ces 2 bébés. Sinon, il serait inutile de les appeler RCP. RCP signifie Rich Client Platform, ce qui signifie qu'il s'agit d'un écosystème (un grand nombre d'API) qui aide à créer des applications «riches» en fournissant les moyens de le faire (via des API). ;-). Ainsi, la réponse ici est "OUI, BEAUCOUP PLUS DE DÉPENDANCES"!

javase
la source