Retours sur Eclipse Con Europe 2011
Eclipse Con Europe 2011 s’est déroulé à Ludwigsburg en Allemagne, comme depuis plusieurs années…
En parallèle des 10 ans d’Eclipse qui ont été célébrés le premier soir, et des nombreux contacts que l’on peut avoir lors de cet type de conférence, les présentations sont en général intéressantes et permettent de suivre les tendances à venir. Voici un rapide résumé de quelques présentations intéressantes que j’ai pu suivre :
Maven Tycho :
Un tutorial intéressant de 3 heures a été déroulés la première matinée. Très progressif, il a permis d’apprendre à utiliser Tycho pas à pas, en voyant notamment :
- la compilation d’un plugin
- la construction et l’exécution des tests
- la gestion d’une feature
- la gestion d’un repository p2
- la gestion d’un produit
- et la gestion de la target platform
Je tiens à votre disposition les fichiers de ce tutorial que je peux vous envoyer si vous me le demandez …
Buckminster vs Maven Tycho (autre outil de build, concurrent) :
L’année dernière Buckminster était encore présenté, mais depuis 1 an, on en entend plus parler (aucune présentation aux deux Eclipse Con de cette année). Cet outil garde toujours son intérêt, même si ses détracteurs le considère comme un outil complexe ! Son seul défaut est d’être malheureusement trop et mal documenté : le ‘buckminster guide’ fait 270 pages, mais il mélange des notions utilisateur et développeur, ce qui a amené à de nombreuses confusions.
Buckminster permet de gérer le build dans un projet à part, en définissant une ‘query map’ unique sur une feature, puis en appelant le build. Maven Tycho, oblige à répandre des pom.xml dans tous les projets, et à configurer de nombreux paramètres dans le projet pom parent. Au final, livrer un produit reste basé, pour les deux technologies, sur le même mécanisme : il faut livrer le repository p2, puis en tirer l’exécutable du produit… Enfin les deux projets s’intègrent parfaitement dans hudson/jenkins à l’aide des plugins appropriés.
Alors que choisir ? Si vous avez un nouveau projet, il faudra s’orienter sur mayen tycho, car il devient le mécanisme de build de référence d’Eclipse, et permet d’utiliser tous les avantages de mayen qui est plus ouvert que buckminster. Si votre projet est déjà basé sur buckminster, tant que ça marche… pourquoi y toucher ?
Eclipse 4 :
Eclipse 4 deviendra, en juin 2012 avec la version E4.2, la plateforme officielle de développement Eclipse. En parallèle la version 3.8 sera livrée ce qui permettra d’effectuer les migrations en douceur. E4 fournit une couche de comptabilité permettant de faire fonctionner une application basée sur Eclipse 3.x, sur un runtime E4.
Il n’y a pas eu de présentation révolutionnaire sur Eclipse 4 à cette conférence… A part quelques rappels sur l’architecture (ihm déclarative, CSS, injection, gestion des traductions, … ), les présentations n’ont pas montré de nouveautés.
Visualisation graphique d’un modèle.
Parallèlement à GMF, GEF, Zest qui nous fournissent des technologies graphiques d’affichage ou d’édition, Itemis a fait une présentation novatrice sur une nouvelle manière de représenter graphiquement un modèle. Leur idée est de définir, à l’aide d’XText, un nouveau fichier descripteur (gvmap) de la visualisation graphique.On indique dans ce fichier les noeuds et connexions en se référant aux objets du modèle. Leur vue de display permet de constater directement les modifications. Cet outil ne permet pas d’obtenir un éditeur graphique du modèle, mais juste une représentation. Il se situe au même niveau que Zest ou que GEF en mode display.
RCP en RAP
Vitaphone GmbH a fait une présentation intéressante de leur outil de gestion d’informations médicales partagées par des médecins, infirmières, etc… Ayant 6 différents types d’affichages différents (PC, Tablettes, Iphones, …), ils ont optés pour la technologie RAP pour s’affranchir des problèmes de développement WEB. Plus d’ajax, de javascript et 99 % de single sourcing. Leur application RCP, contenant également des courbes JFreeChart, a pu être intégralement publiée sur le WEB grâce à RAP. Ayant une BDD derrière l’application, ce type d’architecture est parfaitement adapté (RAP ne permet pas de gérer les fichiers). Leur seule mise en garde est que cela fonctionne bien pour quelques dizaines de connections, mais qu’il ne faut pas utiliser cette technologie pour de gros portails.
Acceleo
Obeo a présenté les dernières nouveautés des éditeurs Acceleo. De nombreuses fonctionnalités très utiles pour l’édition de templates de génération de code sont désormais intégrés dans Acceleo, qui s’impose comme l’outil de référence pour générer du code à partir de modèles. On peut remarquer notamment :
- gestion de modules dynamiques (par point d’extension), permettant de surcharger des modules existants.
- la fenêtre ‘interpreter’, permettant sur un objet du modèle d’interpréter des expressions acceleo et de voir le résultat
- la gestion des breakpoint dans les modules et l’intégration parfait du debugger
- la gestion de l’override d’un template (permet de surcharger localement un template).
- la notion de tracability permettant de retrouver le template d’origine d’un fichier (à activer dans la launch configuration)
- le génération pattern, permettant de générer autant de templates que de classes du meta modèle
- de nombreuses fonctions de refactoring : création de template sur sélection, quick replacement
- l’utilisation de [getProperty] pour configurer un template sans lui ajouter plein de paramètres
De nombreuses vidéos complémentaires sont disponibles sur le site d’obeo network.
XCore
Ed Merks et Sven Efftinge ont présenté XCore. Edité à l’aide d’un éditeur Xtext, XCore permet d’éditer un méat modèle Ecore en utilisant une syntaxe proche de java. Intéressant, car il va permettre d’éditer textuellement des méat modèles avec un éditeur évolué (qui remplacera emfatic, un peu rustique…). Autre point intéressant, la syntaxe permet d’ajouter du code dans le modèle (validation, initialisation d’un énuméré selon l’état de l’instance, etc …).
TMF
Cette présentation technique, a montré comment intégrer des éditeurs Xtext à l’intérieur d’éditeurs graphiques GMF. Intéressant pour enrichir un éditeur avec de l’édition évoluée. Ces éditeurs peuvent apparaitre dans les zones de texte graphiques, ou dans les propriétés.