Mozilla a rendez-vous avec Eclipse sur un nuage
Par Clochix le samedi 21 février 2009, 23:10 - Lézarderies - Lien permanent
Une semaine à peine après sa présentation, Bespin, le projet d'IDE en ligne des Mozilla Labs suscite de nombreuses réactions qui ne cessent d'ouvrir de nouvelles perspectives. Des perspectives comme celles dans Eclipse...
Mozilla a mis en place en octobre 2008 au sein de son laboratoire de recherche un groupe de travail consacré aux outils de développement pour le web. Ce groupe est animé par Dion Almaer et Ben Galbraith, deux des co-fondateurs d'Ajaxian.
Ils n'ont pas chômé puisqu'à peine quatre mois plus tard ils présentaient Bespin, un projet d'environnement de développement en ligne, c'est à dire hébergé sur un serveur et s'exécutant dans le navigateur. Le premier prototype rendu public comporte un éditeur et un gestionnaire de fichiers. Comme dans Ubiquity, une ligne de commande permet de manipuler le tout.
Techniquement, le projet se compose d'un client qui s'exécute dans le navigateur et d'un serveur. Le client utilise Canvas[1] et JavaScript, et communique avec le serveur en utilisant les principes REST. Les laboratoires Mozilla proposent deux implémentations du serveur, l'une en Java, l'autre en Python. L'API du serveur permet de gérer l'authentification des clients, les actions d'édition, de gestion de fichiers, et de projet, et le paramétrage de l'application.
Bien entendu, le projet n'est pas vraiment utilisable pour l'instant, c'est avant tout un prototype destiné à explorer des pistes, susciter des réactions, etc.
Et les réactions n'ont pas tardé. Outre les nombreux commentaires un peu partout, on voit déjà apparaître de premières réalisations. Le projet a par exemple donné des idées à Boris Bokowski et Simon Kaegi, deux développeurs d'Eclipse. Eclipse est basé sur une architecture très modulaire de composants indépendants qui communiquent via des services (suivants les spécifications de l'Open Services Gateway initiative). Il est donc relativement simple de ré-utiliser certains composants. C'est de cette manière que Boris et Simon ont écrit une nouvelle implémentation du serveur Bespin, à base de composants d'Eclipse. Outre les commandes de l'API, cette implémentation rajoute de nouvelles commandes pour communiquer avec CVS et afficher les erreurs de compilation d'un fichier Java. Vous pouvez dès à présent récupérer les sources de leur serveur et le tester.
Vu la lourdeur d'Eclipse, j'étais jusqu'à présent très circonspect sur la possibilité d'avoir de vrai IDE en ligne, offrant des fonctionnalités similaires à celles des clients lourds en restant suffisamment réactif. Les IDE restaient pour moi un type d'application très gourmande en ressources et qui nécessiterait encore longtemps des postes clients puissants. Mais les annonces successives de Bespin et celle-ci commencent à ébranler ma conviction. D'autant qu'une profonde refonte d'Eclipse est en cours, pour la prochaine version 4 (nom de code: E4). Un des buts de cette refonte est justement de faciliter l'utilisation de la plate-forme via des applications en ligne. L'intégration de Bespin avec Eclipse n'est donc pas forcément une simple proof of concept mais pourrait bien avoir de rapides prolongements. Et à propos d'E4, une première version de développement (e4 0.9 M1) est justement sortie il y a quelques jours.
Moins d'une semaine après sont annonce, Bespin commence donc déjà à pouvoir être utilisé pour coder en Java. Et ce n'est sans doute qu'un début. Car de nombreux modules existent implémentant d'autres langages dans Eclipse. Il est probablement possible de les intégrer au serveur Bespin et de permettre ainsi rapidement à celui-ci de supporter de nombreux langages[2].
La meilleure nouvelle est dans le dernier paragraphe de l'annonce de Boris
Bokowski et Simon Kaegi: une réunion est déjà programmée dans les prochains
jours entre des développeurs d'Eclipse et des Mozilla Labs pour envisager une
coopération
Que du bon en perspective... Quand est-ce que la Sécu
remboursera l'abonnement au feed des Moz Labs ? Par les temps qui courent,
c'est vraiment le meilleur des antidépresseurs !
Notes
[1] un choix à priori surprenant que Ben Galbraith explique en détail sur son blog. Des explications que j'ai trouvé plutôt convaincantes
[2] Dion Almaer signale par ailleurs sur son blog que Avi Bryant a commencé à hacker Bespin pour l'adapter à SmallTalk
Commentaires
Dans le même genre, je viens de voir sur Ajaxian (toujours !) le nouveau projet de 280North, 280Atlas, qui est l'équivalent d'Interface Builder pour Cocoa. Le screencast est vraiment impressionnant je trouve!