Pourquoi utiliser Eclipse RCP pour développer une application ?

Publié le par Séverine

Pour tout un tas de raisons, nous allons sûrement passer notre application sous Eclipse Rich Client Platform (RCP). Je me suis alors demandé quels avantages sont les plus souvent avancés pour utiliser Eclipse RCP.

 

Dans le livre "Eclipse Rich Client Platform" de Jeff McAffer, Jean-Michel Lemieux et Chris Aniszczyk, j'ai trouvé un début de réponse. Voici ce que j'en ai retenu.


Les composants 

Les systèmes basés sur Eclipse sont construits en composant des plugins. Les plugins sont versionables et peuvent être partagés par plusieurs application. Des versions multiples d'un même plugin peuvent être installées et les applications peuvent être configurées pour utiliser la version exacte qui leur convient. Cela permet aux applications d'évoluer constamment en ajoutant et en remplaçant les plugins.


Middleware et infrastructure

Au dessus de ce modèle de composant, se trouve un ensemble de frameworks et d'infrastructures qui permettent de faciliter l'écriture d'applications clients riches. Eclipse RCP a essentiellement une fonction de middleware qu'on ne souhaite pas développer par soi-même car ce n'est pas de notre domaine de compétence. Il inclut des infrastructures telles qu'un paradigme d'interface utilisateur flexible, des interfaces utilisateurs évolutives, des applications extensibles, un support d'aide, une aide contextuelle, des mises à jour par réseau, un gestionnaire d'erreurs, et plus encore.


Expérience utilisateur innée

Contrairement à ce que fournit un client léger, les utilisateurs veulent une application riche, confortable et innée. Cela comprend une interface utilisateur fluide et réactive intégrée. Les standard widgets toolkits (SWT) fournissent un d'ensemble d'outils IHM pour java qui permet des accès efficaces et portables aux interfaces utilisateurs natives du système. Mais bon, une application java traditionnelle permet déjà tout cela.


Portabilité

Les client légers ont l'avantage de pouvoir être lancé depuis n'importe où. Eclipse fournit un support à un grand nombre hétérogène d'OS et d'environnement client: du PC traditionnels à des support plus léger tels que les tablettes, les bornes ou des plateformes mobiles comme les smartphones et les PDA. A partir du moment où une JVM peut être installée, alors un client RCP peut être utilisé. Mais bon, une application java traditionnelle permet déjà tout cela.


Installation et mise à jour

Contrôler le coût associé au déploiement et à la maintenabilité d'application client riche est à priori un véritable challenge. Le framework des composants Eclipse permet aux plugins d'être déployés et mis à jour en utilisant de mécanismes multiples : HTTP, java web start, repositories, simple copie de fichier ou système de gestion d'entreprise sophistiqués.


Opérations déconnectées

Comme les applications clients riches tournent sur une machine locale, elles peuvent être lancées de manière autonome sans une connexion réseau. C'est un avantage majeur par rapport aux clients légers. Les applications qui sont déconnectés par nature peuvent utiliser des caches locaux, de la réplication, des mécanismes de stockages puis d'envois pour s'accommoder des interruptions réseaux. Mais bon, une application java traditionnelle permet déjà tout cela.


Support des outils de développement

Eclipse fournit un IDE java de première ordre qui contient des outils intégrés pour développer, tester et packager des applications clients riche. Il va falloir que je m'y remette car pour le moment, je préfère IntellJ IDEA et de loin.


Librairies de composants

Un framework de composant n'est pas complet sans un ensemble compréhensif de composants avec lequel construire des applications. La communauté Eclipse a produit des plugins pour :

  • construire des interfaces utilisateurs pluggables,
  • gérer du contenu de l'aide,
  • installer et mettre à jour le support,
  • éditer du texte,
  • gérer des consoles,
  • faire des introductions au produit,
  • utiliser des frameworks d'édition graphiques,
  • utiliser des frameworks de modélisation et c'est notamment ceci qui nous intéresse au plus au point,
  • faire du reporting,
  • faire de la manipulation de données
  • et bien plus encore ...

 

Publié dans Eclipse

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article