Episode 3 : Mathias découvre Eclipse (et un peu OSGI)

Dans l’épisode 2, je vous ai dit à quel point les serveurs J2EE pouvaient être complexe dans la gestion d’application.
Il en est de même dans le monde des IDE avec la gestion des plugins.

Tout en étudiant J2EE, je suis tombé amoureux de mon IDE Java préféré : Eclipse. Pas seulement pour sont utilisation, mais aussi pour son architecture.

En effet, la réalisation de plugins pour Eclipse se fait de manière ultra puissante. A tel point que le « noyau » d’Eclipse peut être complètement extrait pour faire sa propre application qui n’a rien à voir avec un IDE : c’est le framework RCP (Rich Client Platform).
J’ai d’ailleurs à l’époque réalisé une application RCP pour la gestion de budget d’achat de livres pour les bibliothèques.

Malheureusement, la pauvreté des composants graphique en Java faisait du tors à cette plateforme.
Mais je restais subjugué par le moteur de plugins :

  • Les plugins sont isolés afin que si un plugin crash, les autres continuent leur vie
  • Les plugins sont aussi isolé coté sécurité : un plugin ne peut pas accéder aux codes d’un autre plugin si ce dernier ne l’a pas explicitement rendu « publique »
  • Les plugins peuvent publier et consommer des services, avec un model très élégant
  • Il y a une gestion de dépendance entre les plugins, avec la prise en compte des versions
  • L’installation et la mise à jour des plugins se fait d’une simplicité déconcertante

En fait, si la gestion des plugins est si balaise c’est car elle provient d’un standard de « développement par composant » : OSGI.

L’alliance OSGI est un organisme de personnes qui se mette d’accord ensemble sur des specs concernant les frameworks OSGI. C’est encore la que Java écrase .Net par sa maturité : il n’y a pas de monopole, il y a bien plusieurs acteurs derrière un « standard » ouvert qui va connaitre de multiples implémentations.

OSGI est donc un framework complexe de gestion de « modules » qui exposent des « services ». N’hésitez pas à lire le WIKI qui explique ça très bien : http://en.wikipedia.org/wiki/OSGi

En conclusion, Eclipse est une plateforme riche en plugins grâce au coté Open-Source de l’IDE, à l’API de plugins très bien faite mais aussi à l’aide du plugins pour développer des plugins :)

Qu’en est-il du coté .Net? VisualStudio a-t-il le même succès concernant le développement ce plugins? Offre-t-il une architecture de plugin aussi puissante? On verra ça dans un autre épisode ;)

About these ads

À propos Mathias Kluba
Nom : Kluba Prénom : Mathias Né à Łódź (Pologne) le 11 août 1983 Vie à Issy-les-Moulineaux (France) J'aime : - l'informatique - la musique - le dessin de temps en temps... - le cinéma - refaire le monde

8 Responses to Episode 3 : Mathias découvre Eclipse (et un peu OSGI)

  1. Ping : Introduction : Mathias est heureux… mais pourquoi ? « The World is mine

  2. Evilz dit :

    Je crois qu’il suffit de faire un tour ici pour s’en rendre compte ;)

    • Mathias Kluba dit :

      Merci pour le lien! Je ne pensais pas qu’il y en avait autant!

      D’ailleurs, est-ce que tu en utilises beaucoup dans la vie de tous les jours?
      J’ai l’impression que la communauté ne s’investie pas sur des plugins OpenSource pour un IDE payant… et pour qu’un plugins payant soit financièrement viable, cela ne peut être que de très gros plugins comme Resharper.
      Et très franchement, j’ai l’impression que ces plugins ne s’intègre pas vraiment avec VisualStudio, ou du moins n’étendent pas des « points d’extensions » de ce dernier… Resharper est plutôt une sur-couche à VS avec son propre moteur d’extension…

      Mais parfois on trouve des plugins OpenSource qui étendent bien VS, comme :
      http://ankhsvn.open.collab.net/ > ce dernier est heureusement maintenu par CollabNet qui s’investie dans l’OpenSource
      http://php4vs.codeplex.com/ > ce dernier est abandonné par la communauté pour être un plugin payant maintenu par un éditeur: http://www.jcxsoftware.com/vs.php
      http://ironpythonstudio.codeplex.com/
      http://boolangstudio.codeplex.com/

      Sur http://visualstudiogallery.msdn.microsoft.com/en-us/ il y a quand même beaucoup de chose qui ne sont pas des plugins: il y a beaucoup de composants (Infragistics etc.)
      Si je filtre seulement les « Tools », pour « VisualStudio 2008″, et « Free », j’obtiens seulement 213 résultats…. incomparable avec la communauté Eclipse.

      Et la encore, si je filtre les outils non-Microsoft et si je cherche seulement les plugins et non les « outils externes », je vais sans doute tomber encore plus bas.

      Mais bon, je parlerai de VisualStudio Shell et de MEF dans l’épisode 9, car il y a quand même des choses bien qui se passent en se moment :)

  3. Ping : Post épisode: Mathias découvre Cloudfoundry et le PaaS « The World is mine

  4. Ping : pawn shops near me that buy electronics

  5. Ping : pawn shops near me open late

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Suivre

Recevez les nouvelles publications par mail.

%d blogueurs aiment cette page :