<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Jmini Dev &#187; Eclipse</title>
	<atom:link href="https://blog.developpez.com/jmini/pcategory/eclipse/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/jmini</link>
	<description></description>
	<lastBuildDate>Wed, 05 Nov 2014 05:00:21 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Grandes icônes Eclipse</title>
		<link>https://blog.developpez.com/jmini/p12687/eclipse/grandes_icones_eclipse</link>
		<comments>https://blog.developpez.com/jmini/p12687/eclipse/grandes_icones_eclipse#comments</comments>
		<pubDate>Mon, 04 Aug 2014 11:44:14 +0000</pubDate>
		<dc:creator><![CDATA[jmini]]></dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Icon]]></category>
		<category><![CDATA[Logo]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/jmini/?p=221</guid>
		<description><![CDATA[Il m’arrive parfois de préparer des slides pour parler de l’IDE Eclipse. J’aime bien les choses visuelles et donc j’ai souvent besoin d’icônes en grand format (pour parler d’une classe, d’une interface, d’un fichier&#8230;). Le wiki eclipse.org propose un fichier intitulé common_wizard_elements.svg. On y trouve pas mal d’icônes qui peuvent convenir pour une présentation. Seulement [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Il m’arrive parfois de préparer des slides pour parler de l’IDE Eclipse. J’aime bien les choses visuelles et donc j’ai souvent besoin d’icônes en grand format (pour parler d’une classe, d’une interface, d’un fichier&#8230;).</p>
<p>Le <a href="https://wiki.eclipse.org/UI_Graphics_:_Design_:_Common_Elements#Wizard_elements">wiki eclipse.org</a> propose un fichier intitulé <strong>common_wizard_elements.svg</strong>.</p>
<p><img src="http://blog.developpez.com/jmini/files/2014/08/common_wiz-300x159.gif" alt="common wizard icons" width="300" height="159" class="aligncenter size-medium wp-image-222" /><br />
<span id="more-221"></span></p>
<p>On y trouve pas mal d’icônes qui peuvent convenir pour une présentation. Seulement c’est un fichier Adobe Illustrator. Jusqu’à présent, j’avais extrait quelques icônes à la main à l’aide d’Inkscape et de GIMP (n’étant pas graphiste, je ne vais pas investir dans des logiciels payants que je ne maitrise pas). </p>
<p>Comme j’en avais assez de faire ce travail de découpe d’image à la main, j’ai imaginé un moyen de faire autrement. Après pas mal d’essais, j’ai trouvé une formule qui convient :</p>
<ul>
<li>Conversion au format svg par Inkscape.</li>
<li>Petit script en java pour faire de la transformation de fichiers XML. J’arrive à découper le fichier initial en petit fichier svg correspondant à une icône.</li>
<li>Conversion svg =&gt; png à nouveau avec Inkscape.</li>
</ul>
<p>Le résultat me convient. J&rsquo;ai mes icônes au format svg et png dans des fichiers indépendants. Chaque icône est proposée avec un cadre ou non, avec le fond d&rsquo;origine ou un fond transparent. Quelques exemples:</p>
<p><img src="http://blog.developpez.com/jmini/files/2014/08/new_project.png" alt="new project (border + background)" width="96" height="85" class="aligncenter size-full wp-image-225" /><br />
<img src="http://blog.developpez.com/jmini/files/2014/08/interface.png" alt="interface (icon only)" width="96" height="85" class="aligncenter size-full wp-image-223" /><br />
<img src="http://blog.developpez.com/jmini/files/2014/08/export.png" alt="export (with background)" width="96" height="85" class="aligncenter size-medium wp-image-224" /></p>
<p>Le tout est partagé sur GitHub dans le projet <a href="https://github.com/jmini/common_wizard_elements">common_wizard_elements</a>.</p>
<p>Pour ceux qui veulent juste récupérer les images, <a href="http://dl.bintray.com/jmini/generic/">des fichiers zip contenant les icônes</a> sont en téléchargement sur Bintray.</p>
<p>Les plus attentifs remarqueront que je n’ai pas mis de licence sur les images produites. En fait, j’attends une réponse de la fondation Eclipse pour connaître la licence du fichier original. Mes fichiers seront certainement partagés avec cette même licence.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EasyEclipse : un projet d’IDE Java payant, reposant sur Eclipse.</title>
		<link>https://blog.developpez.com/jmini/p12512/eclipse/easyeclipse-ide-java-payant</link>
		<comments>https://blog.developpez.com/jmini/p12512/eclipse/easyeclipse-ide-java-payant#comments</comments>
		<pubDate>Tue, 04 Mar 2014 21:46:20 +0000</pubDate>
		<dc:creator><![CDATA[jmini]]></dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[EasyEclipse]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Kickstarter]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/jmini/?p=210</guid>
		<description><![CDATA[J’en rêvais, Pascal Rapicault l’a fait. EasyEclipse est un projet d’IDE Java payant, une version modifiée de l’IDE open source Eclipse, spécialement conçu pour travailler efficacement sur du code java. Je viens de soutenir le le projet sur Kickstarter. Voici pourquoi. Où est le problème de l&#8217;IDE Eclipse ? Depuis un certain temps, la communauté s’interroge [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>J’en rêvais, Pascal Rapicault l’a fait.</p>
<p><img src="http://blog.developpez.com/jmini/files/2014/03/EasyEclipse1.png" alt="EasyEclipse" width="640" height="480" class="aligncenter size-full wp-image-214" /></p>
<p>EasyEclipse est un projet d’IDE Java payant, une version modifiée de l’IDE open source Eclipse, spécialement conçu pour travailler efficacement sur du code java.<br />
Je viens de soutenir le <a href="https://www.kickstarter.com/projects/283096083/easyeclipse-for-java">le projet sur Kickstarter</a>. Voici pourquoi.</p>
<p><span id="more-210"></span></p>
<h2>Où est le problème de l&rsquo;IDE Eclipse ?</h2>
<p>Depuis un certain temps, la communauté s’interroge sur la viabilité de l’IDE Eclipse. Quelques billets de blogs (automne 2013) :</p>
<ul>
<li><a href="http://michaelscharf.blogspot.ch/2013/10/imagine-eclipse-ide-would-cost-300.html">Imagine the eclipse IDE would cost $300&#8230;</a></li>
<li><a href="http://recoskie.blogspot.de/2013/10/the-tragedy-of-eclipse-commons-and.html">The Tragedy of The Eclipse Commons and Taxation</a> ainsi que <a href="http://recoskie.blogspot.de/2013/10/on-subject-of-my-recent-blog-about.html">son autocritique</a> une semaine plus tard</li>
<li><a href="http://eclipseecf.blogspot.de/2013/10/evolution-of-cooperation.html">Evolution of Cooperation</a></li>
</ul>
<p>J’ai moi aussi déjà eu l’occasion d’<a href="https://plus.google.com/+J%C3%A9r%C3%A9mieBresson/posts/PvqxFhfBcSF">écrire sur Google+</a> ce que j’en pensais. </p>
<p><strong>Le nœud du problème est très simple :</strong><br />
Longtemps, les briques fondamentales d’Eclipse ont été entretenues en majorité par IBM. Aujourd’hui, ce n’est plus le cas. Beaucoup d’entreprises profitent d’Eclipse et de son écosystème : soit en réutilisant certains éléments de la plateforme pour construire quelque chose d’autre (un complément à Eclipse ou un autre produit), soit en tant qu’utilisateur de l’IDE ou d’un des outils dérivés. L’IDE ou les autres outils sont souvent gratuits, du coup il n’y a que très peu de contribution en retour.</p>
<p>La fondation Eclipse n’est pas là pour s’occuper de l’IDE. Il suffit de relire le document <em><a href="http://www.eclipse.org/org/">mission statement</a></em> de la fondation, pour s’en rendre compte. Il ne figure nulle part « Eclipse IDE » ou « Éditeur de code Java ». Ce n’est malheureusement pas clair pour tout le monde.</p>
<p>Je suis curieux de savoir ce que Mike Milinkovich va dire lors de sa Keynote <a href="https://www.eclipsecon.org/na2014/session/eclipse-next-10-years">Eclipse: The Next 10 Years</a> durant la prochaine EclipseCon. En lisant son blog, on comprend que l’IDE en tant que produit, n’est pas la priorité de la fondation. Dans cet article <a href="http://mmilinkov.wordpress.com/2013/09/29/javaone-the-eclipse-inside/">retour de JavaOne 2013</a> je lis en creux « Eclipse IDE n’est pas vraiment présent à JavaOne, ce n’est pas grave, car l’avenir de la fondation est ailleurs ». L’article sur <a href="http://mmilinkov.wordpress.com/2014/02/03/the-eclipse-foundations-10th-birthday-2/">les dix ans de la fondation</a> n’est pas plus rassurant. </p>
<p>Je ne dis pas que la raison d’être de la fondation est une mauvaise chose. La fondation Eclipse est là pour que des acteurs se rencontrent, des choses soient possibles, du code open source garanti soit produit, en garantissant certaines choses comme la neutralité vis-à-vis des entreprises participantes. Les projets autour de l’IDE ne sont que quelques-uns parmi d’autres. À ce titre, les dernières initiatives comme <a href="http://iot.eclipse.org/">Internet of Things</a> ou <a href="https://www.locationtech.org/">Location Tech</a> sont certainement bonnes pour la fondation, pour l’open source… Mais elles n’apportent rien à l’IDE Java qu’est Eclipse.</p>
<h2>Et l’open source dans EasyEclipse ?</h2>
<p>À titre personnel, j’aurais préféré soutenir une fondation ou une association. Pour moi Mozilla ou la Document Foundation sont de bons exemples d’organisations garantes d’un ou plusieurs produits. Cela existe! Pour moi il faudrait une organisation pour soutenir l’IDE Eclipse. Cela ne serait pas incompatible avec la fondation Eclipse, mais complémentaire. Mettre ce genre d’organisation en place demande beaucoup d’énergie et d’efforts, et je comprends que personne ne veuille se lancer.</p>
<p>Quelque part, un entrepreneur avec une vision, une idée de produit, un modèle économique est plus à même de tenter l’aventure. Pour réussir, EasyEclipse doit être un business. Mais ce n’est pas forcément une mauvaise chose, car business est aussi garant de pérennité. Dans son modèle, Pascal et son équipe s’engagent à soutenir les projets open source de la fondation Eclipse utilisés pour réaliser EasyEclipse.</p>
<p><img src="http://blog.developpez.com/jmini/files/2014/03/EasyEclipse_contribution.jpg" alt="EasyEclipse_contribution" width="600" height="500" class="aligncenter size-full wp-image-215" /></p>
<p>Dans un premier temps (celui de la campagne de financement) entre 20% et 30% de la somme levée seront consacrés à améliorer les projets Eclipse nécessaires à la réalisation d’EasyEclipse. Je fais confiance à Pascal Rapicault pour investir cette somme correctement. Espérons que les retombées soient grandes pour tout l’écosystème. D’autant plus que je pense rester, au moins pendant mon temps de travail, un utilisateur de l’IDE Eclipse plutôt que d’EasyEclipse.</p>
<p>Le projet Kickstarter doit permettre de prouver la viabilité du modèle EasyEclipse. Je crois au modèle du financement participatif pour financer certaines fonctionnalités de projets open source. EasyEclipse va plus loin, car la campagne de financement doit permettre de créer un projet qui attire des utilisateurs pour atteindre un autofinancement (les licences financent l’évolution du produit). </p>
<p>Le danger pour l’open source, c’est qu’EasyEclipse devienne un fork de certains projets de l’IDE sans aucune contribution en retour. Il me semble que ce n’est pas l’idée.</p>
<p>À moyen terme, en cas de succès, je me dis qu’un projet comme EasyEclipse peut être le moyen pour certaines entreprises, qui utilisent la plateforme Eclipse, de financer une partie de son évolution. Pour de nombreuses entreprises, l’IDE Eclipse est déjà un investissement (outil de travail quotidien, formation des collaborateurs…) et il a déjà un coût (rien que celui de changer d’IDE si Eclipse n’évoluait plus). Pour elles, donner une certaine somme d’argent pour résoudre les problèmes qui font perdre du temps au quotidien peut être un bon calcul avec un retour sur investissement direct. Pour qu’elles puissent le faire, il faut une ou plusieurs structures identifiées en mesure d’apporter une réponse et de mutualiser l’effort. EasyEclipse pourrait être un début de réponse.</p>
<h2>Pascal Rapicault</h2>
<p>Je ne connais pas Pascal Rapicault personnellement. Je l’ai croisé à l’EclipseCon, mais je ne suis pas certain de lui avoir parlé. Je suis entièrement d’accord avec <a href="https://plus.google.com/+C%C3%A9dricBrun/posts/195h3ivdH6W">Cédric Brun</a> qui voit en lui la bonne personne pour se lancer dans cette aventure : c’est un développeur qualifié avec une bonne connaissance de la plateforme.</p>
<p>Si la campagne de financement est un succès, un certain nombre de clés seront entre les mains de Pascal (choix stratégiques, réussite ou non du projet). Comme toujours dans le cas du financement participatif, au final, c’est une question de confiance.</p>
<h2>Parlez-en autour de vous</h2>
<p>Comme pour tous les projets de financement participatif. Pour que cela marche, il faut en parler.</p>
<p>Maintenant, c’est l’heure de vérité : les idées évoquées ici et là sur des blogs et des mailings listes sont confrontés à la réalité : est-ce possible de trouver suffisamment de personnes motivées pour donner quelque chose ?</p>
<p>Je pense que si EasyEclipse marche, la communauté Eclipse et son écosystème ne seront pas déçus par la confiance accordée.</p>
<p><a href="https://www.kickstarter.com/projects/283096083/easyeclipse-for-java">EasyEclipse sur Kickstarter</a>.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Galerie de diagrammes BIRT</title>
		<link>https://blog.developpez.com/jmini/p12401/eclipse/galerie-diagrammes-birt</link>
		<comments>https://blog.developpez.com/jmini/p12401/eclipse/galerie-diagrammes-birt#comments</comments>
		<pubDate>Sat, 28 Dec 2013 14:29:26 +0000</pubDate>
		<dc:creator><![CDATA[jmini]]></dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[diagrammes]]></category>
		<category><![CDATA[Eclipse BIRT]]></category>
		<category><![CDATA[exemples]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/jmini/?p=201</guid>
		<description><![CDATA[Il y a quelque temps, j’ai ajouté des diagrammes à mon application Eclipse Scout en utilisant le « Eclipse Charting Engine » fourni avec le projet Eclipse BIRT. Comme avec toute nouvelle librairie, il est important de savoir ce que l’on peut faire et comment. Dans le cas d’une librairie de dessins de diagrammes, autant [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Il y a quelque temps, j’ai <a href="http://blog.developpez.com/jmini/p12329/eclipse/eclipse-scout/diagrammes-birt-eclipse-scout">ajouté des diagrammes à mon application Eclipse Scout</a> en utilisant le « Eclipse Charting Engine » fourni avec le projet Eclipse BIRT. Comme avec toute nouvelle librairie, il est important de savoir ce que l’on peut faire et comment. Dans le cas d’une librairie de dessins de diagrammes, autant regarder les exemples (et il y en a). Pour une librairie de dessin, je m’attendais à trouver une sorte de galerie. Des images donnant un aperçu des différents types de diagramme.</p>
<p><a href="http://jmini.developpez.com/eclipse_birt/charting_engine/gallery/"><img src="http://blog.developpez.com/jmini/files/2013/12/BIRT_charts_gallery-1024x716.png" alt="Gallery - Charts - Eclipse BIRT" width="625" height="437" class="aligncenter size-large wp-image-205" /></a></p>
<p>Sauf erreur de ma part, ça n’existe pas… En tout cas, je ne l’ai pas trouvée… Je me suis donc amusé à générer chacun des exemples (projet <a href="http://git.eclipse.org/c/birt/org.eclipse.birt.git/tree/chart/org.eclipse.birt.chart.examples">org.eclipse.birt.chart.examples</a>) et à les mettre en ligne sur mon espace développez. C’est tout simple, mais efficace.</p>
<p><a href="http://jmini.developpez.com/eclipse_birt/charting_engine/gallery/">http://jmini.developpez.com/eclipse_birt/charting_engine/gallery/</a></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intégrer des diagrammes BIRT dans une application Eclipse Scout</title>
		<link>https://blog.developpez.com/jmini/p12329/eclipse/eclipse-scout/diagrammes-birt-eclipse-scout</link>
		<comments>https://blog.developpez.com/jmini/p12329/eclipse/eclipse-scout/diagrammes-birt-eclipse-scout#comments</comments>
		<pubDate>Sat, 16 Nov 2013 13:33:07 +0000</pubDate>
		<dc:creator><![CDATA[jmini]]></dc:creator>
				<category><![CDATA[Eclipse Scout]]></category>
		<category><![CDATA[Eclipse BIRT]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/jmini/?p=195</guid>
		<description><![CDATA[Dans mon application MCQS je représente les réponses aux questions sous forme de diagramme. Je viens de remplacer ma petite solution maison contre une vraie librairie chargée de calculer les diagrammes : Eclipse BIRT (Eclipse Charting Engine). Le résultat obtenu fait tout de suite beaucoup plus professionnel : J’avais déjà utilisé JFreeChart il y a longtemps… Mais [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Dans mon application MCQS je représente les réponses aux questions sous forme de diagramme. Je viens de remplacer ma petite solution maison contre une vraie librairie chargée de calculer les diagrammes : <strong>Eclipse BIRT (Eclipse Charting Engine)</strong>.</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/11/birt_logo.png" alt="birt_logo" width="150" height="30" class="aligncenter size-full wp-image-196" /></p>
<p>Le résultat obtenu fait tout de suite beaucoup plus professionnel :</p>
<p><a href="http://blog.developpez.com/jmini/files/2013/11/avant_apres.png"><img src="http://blog.developpez.com/jmini/files/2013/11/avant_apres.png" alt="avant_apres" width="795" height="450" class="aligncenter size-full wp-image-197" /></a></p>
<p>J’avais déjà utilisé JFreeChart il y a longtemps… Mais BIRT étant un projet Eclipse sous licences EPL, je l’avais mis depuis longtemps sur ma liste des choses à regarder. Le projet Eclipse BIRT est assez vaste, en fait c’est une solution de Business Intelligence complet qui est comparable à la suite Jaspersoft. Je me concentre ici sur le module Eclipse Charting Engine de BIRT : c’est lui qui dessine les diagrammes et qui est donc plus comparable à JFreeChart.<br />
<span id="more-195"></span></p>
<p>Finalement, ces librairies fonctionnent de la même manière. Au travers d’une API le modèle du diagramme est défini : le type de diagramme, les différentes séries qui vont être représentées, les éléments graphiques (couleur, légende, titre…).<br />
Pour s’en sortir, rien ne vaut une petite recherche Google pour trouver les extraits de codes qui permettent de partir d’un exemple déjà défini. Je suis surpris de ne pas trouver de galerie présentant les différents types de diagramme (histogramme, diagramme circulaire…). D’autant plus qu’il existe un projet contenant des exemples: <a href="http://git.eclipse.org/c/birt/org.eclipse.birt.git/tree/chart/org.eclipse.birt.chart.examples">org.eclipse.birt.chart.examples</a></p>
<p>Rapidement j’ai obtenu ce que je souhaitais… La plus grande difficulté concerne les dépendances… En fait le morceau de code que j’avais trouvé marchait bien en Java SE, mais j’ai mis un certain temps à comprendre comment cela fonctionnait dans mon application Eclipse Scout. Sans y faire attention (ayant copié collé du code venant de StackOverflow), j’utilisais le mode STANDALONE de BIRT. Dans une application Eclipse Scout, on est évidemment dans un contexte OSGi.</p>
<p><a href="http://blog.developpez.com/jmini/files/2013/11/mcqs_swing.png"><img src="http://blog.developpez.com/jmini/files/2013/11/mcqs_swing.png" alt="mcqs_swing" width="740" height="675" class="aligncenter size-full wp-image-198" /></a></p>
<p><strong>Aller plus loin :</strong><br />
Pour aller plus loin, il me semble que passer par le champ SVG d’Eclipse Scout n’est pas vraiment une bonne solution. D’après ce que j’ai vu, BIRT dispose de widgets d’affichage pour Swt et Swing. Il serait plus malin d’avoir un ChartField dans Eclispe Scout avec les renderer appropriés.</p>
<p>Une autre réflexion à mener concerne la répartition client server de la logique de diagramme. Il me semble que BIRT propose un découpage plutôt intéressant qu’il serait possible de reprendre en réfléchissant à l’intégration client/serveur.</p>
<p>Au final l’utilisation d’Eclipse BIRT Chart-Engine se révèle être une bonne expérience.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mes trois EclipseCon en 2013</title>
		<link>https://blog.developpez.com/jmini/p12310/eclipse/eclipse-scout/mes-trois-eclipsecon-en-2013</link>
		<comments>https://blog.developpez.com/jmini/p12310/eclipse/eclipse-scout/mes-trois-eclipsecon-en-2013#comments</comments>
		<pubDate>Mon, 04 Nov 2013 05:40:02 +0000</pubDate>
		<dc:creator><![CDATA[jmini]]></dc:creator>
				<category><![CDATA[Eclipse Scout]]></category>
		<category><![CDATA[EclipseCon]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/jmini/?p=188</guid>
		<description><![CDATA[J’ai eu la chance de participer aux trois EclipseCon de 2013 (Boston, Toulouse et Ludwigsburg en Allemagne). J’y étais pour présenter Eclipse Scout, le framework de création d’application métier que nous développons avec mon entreprise au sein de la fondation Eclipse. Après avoir été nommé comiteur en début d’année, je travaille maintenant sur ce projet [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>J’ai eu la chance de participer aux trois EclipseCon de 2013 (<a href="http://eclipsecon.org/2013/">Boston</a>, <a href="http://eclipsecon.org/france2013/">Toulouse</a> et <a href="http://eclipsecon.org/europe2013/">Ludwigsburg</a> en Allemagne). J’y étais pour présenter <a href="http://eclipse.org/scout/">Eclipse Scout</a>, le framework de création d’application métier que nous développons avec mon entreprise au sein de la fondation Eclipse. Après avoir été nommé comiteur en début d’année, je travaille maintenant sur ce projet à plein temps. EclipseCon, c’est la conférence de la fondation Eclipse, un véritable rendez-vous pour la communauté.</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/11/eclipsecon_badges.jpg" alt="eclipsecon_badges" width="500" height="375" class="aligncenter size-full wp-image-189" /></p>
<p>Pour moi, chacune de ces EclipseCon m’a donné la possibilité de rencontrer des gens, de replacer les choses dans leur contexte, de réexpliquer notre projet en partant du début… Voici quelques réflexions que je souhaite partager ici.<br />
<span id="more-188"></span></p>
<p>A la différence d’autres stands consacrés à la promotion d’outils payants, nous présentons un projet Eclipse. J’ai été surpris de voir qu’il y a toujours de la pédagogie à faire. Un projet Eclipse cela signifie : du code open-source, du code dont la licence permet une réutilisation, y compris dans des projets commerciaux, et enfin du code dont la propriété intellectuelle a été contrôlée. Plusieurs fois les visiteurs du stand n’imaginaient pas qu’ils allaient pouvoir utiliser ce que nous montrons gratuitement, sans aucun engagement. Evidemment mon entreprise propose des préstations commerciales autour des projets Eclipse. Mais ce n’est qu’une possibilité, pas une obligation.</p>
<p>Pour Eclipse scout les signaux sont bons. J’ai présenté ce framework la première fois en 2011 lors d’un <a href="http://www.eclipsedayparis.com/">Eclipse Day à Paris</a>. A l’époque il fallait beaucoup justifier ce que nous proposions. Même si le projet Scout existe en interne dans notre entreprise depuis plus de 10 ans, passer en open-source c’est se trouver sur la place publique au milieu de tout ce qui existe déjà. Aujourd’hui davantage de gens nous connaissent déjà ou ont envie de savoir qui nous sommes. Nous avons des éléments tangibles pour montrer ce que nous faisons : <a href="http://wiki.eclipse.org/Scout/Demo">nos applications de démonstration</a>, <a href="http://www.eclipse.org/forums/eclipse.scout">notre forum</a>, <a href="http://wiki.eclipse.org/Scout/Book/">notre livre à télécharger</a> (voir aussi les <a href="http://blog.developpez.com/jmini/p12190/eclipse/eclipse-scout/livre_eclipse_scout_retours">premiers retours</a> sur le livre eclipse scout).</p>
<p>Parler avec les visiteurs de la conférence, c’est l’occasion de se (re)définir : nous sommes un framework pour réaliser des applications métiers, avec une architecture client-serveur. Notre force est de ne pas dépendre d’une librairie graphique en particulier, mais de proposer une couche d’abstraction dans laquelle nos formulaires sont définis. Cela permet de suivre les évolutions du marché sans avoir à tout réécrire. Les applications que nous développons avec Eclipse Scout ont un cycle de vie assez long : disons au-delà de 10 ans. Or les librairies graphiques, les plateformes applicatives, les attentes des utilisateurs en termes de charte graphique évoluent. Pouvoir en profiter, en mutualisant les coûts au niveau d’un framework est un avantage. C’est le message que mes collègues ont essayé de faire passer durant <a href="http://eclipsecon.org/europe2013/which-ui-technology-should-i-marry" title="Which UI technology should I marry?">leur talk</a>.</p>
<p>Montrer Eclipse Scout c’est l’occasion de redécouvrir ce que nous faisons et ce que nous proposons. Le premier soir j’ai relu mes articles de 2011 <a href="http://blog.developpez.com/jmini/p10074/eclipse/scout/nouveau-eclipse-scout/" title="Nouveau avec Indigo : Eclipse Scout">sur</a> <a href="http://blog.developpez.com/jmini/p10412/eclipse/scout/mieux-comprendre-eclipse-scout/" title="Quelques points pour mieux comprendre Eclipse Scout">ce</a> <a href="http://blog.developpez.com/jmini/p11115/eclipse/eclipse-scout/eclipse_scout_applications_entreprise" title="Eclipse Scout, fait pour les applications d'entreprises ?">blog</a>. Beaucoup de choses sont toujours valables. De plus à l’époque j’avais une vision neuve du projet. Les applications Eclipse Scout disposent par défaut de plusieurs éléments vraiment intéressants pour les utilisateurs finaux. Par exemple toutes les tables qui affichent des données peuvent être réorganisées par les utilisateurs (tri multiple, filtre, ordre des colonnes…). Il est facile d’y brancher un export vers Excel. Les champs de saisie disposent de nombreuses petites fonctionnalités qui facilitent le travail au quotidien. Ce sont des avantages indéniables pour les utilisateurs des applications réalisées avec Eclipse Scout. Cela leur facilite la vie dans leur travail quotidien. Sans Eclipse Scout, ce sont autant de choses qu’il faudrait redévelopper à chaque fois.</p>
<p>Un dernier très bon moment de ce dernier EclipseCon en Allemagne : mon interview avec <a href="http://www.infoq.com/fr">InfoQ France</a>… Une vidéo devait bientôt être mise en ligne.</p>
<p>Je n’ai pas résisté à l’envie de mettre quelques photos :</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/11/eclipse_scout_boston.jpg" alt="EclipseCon 2013 - Eclipse Scout" width="500" height="290" class="aligncenter size-full wp-image-190" /></p>
<p><img src="http://blog.developpez.com/jmini/files/2013/11/eclipse_scout_toulouse.jpg" alt="EclipseCon France 2013 - Eclipse Scout" width="500" height="290" class="aligncenter size-full wp-image-191" /></p>
<p><img src="http://blog.developpez.com/jmini/files/2013/11/eclipse_scout_ludwigsburg.jpg" alt="EclipseCon Europe 2013 - Eclipse Scout" width="500" height="290" class="aligncenter size-full wp-image-192" /></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Le livre Eclipse Scout &#8211; Quelques retours</title>
		<link>https://blog.developpez.com/jmini/p12190/eclipse/eclipse-scout/livre_eclipse_scout_retours</link>
		<comments>https://blog.developpez.com/jmini/p12190/eclipse/eclipse-scout/livre_eclipse_scout_retours#comments</comments>
		<pubDate>Sun, 25 Aug 2013 08:23:11 +0000</pubDate>
		<dc:creator><![CDATA[jmini]]></dc:creator>
				<category><![CDATA[Eclipse Scout]]></category>
		<category><![CDATA[livre]]></category>
		<category><![CDATA[publication]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/jmini/?p=155</guid>
		<description><![CDATA[Matthias Zimmerman a écrit un livre sur Eclipse Scout. Sous une licence libre, ce livre est consultable en ligne (html, pdf, epub). En anglais, ce livre donne un bon aperçu des possibilités d&#8217;Eclipse scout au travers de deux tutoriaux. Un chapitre est consacré aux outils « Scout SDK » intégrés à Eclipse, qui permettent un [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Matthias Zimmerman a écrit un livre sur Eclipse Scout. Sous une licence libre, ce livre est consultable en ligne (<a href="http://tools.bsiag.com/scoutbook/3.9/latest/html/book.html" title="Eclipse Scout book (html)">html</a>, <a href="http://tools.bsiag.com/scoutbook/3.9/latest/pdf/book.pdf" title="Eclipse Scout Book (pdf)">pdf</a>, <a href="http://tools.bsiag.com/scoutbook/3.9/latest/epub/book.epub">epub</a>).</p>
<p>En anglais, ce livre donne un bon aperçu des possibilités d&rsquo;Eclipse scout au travers de deux tutoriaux. Un chapitre est consacré aux outils « Scout SDK » intégrés à Eclipse, qui permettent un accès facile à Eclipse Scout et un développement efficace. Le tout commençant par un chapitre d&rsquo;introduction donnant en quelques pages une description d&rsquo;Eclipse Scout et sa philosophie.</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/08/scout_book.png" alt="Eclipse Scout Book" width="414" height="596" class="size-full wp-image-156" /></p>
<p>J&rsquo;avais envie de partager quelques notes sur les coulisses de rédaction du livre.<br />
<span id="more-155"></span></p>
<p>L&rsquo;infrastructure du livre a été pensée avec les valeurs de l&rsquo;open source. Le code est sur GitHub, le contenu est au format Creative Commons (<a href="https://creativecommons.org/licenses/by/3.0/">CC-BY</a>), les scripts de compilation sont fournis (les livrables sont générés avec LaTeX).</p>
<p>Si durant la phase de rédaction il a eu peu de retours, le fait de « sortir » une première version du livre a fait bouger les choses. Les premières contributions arrivent : certaines personnes souhaitant creuser certains sujets ont posé des questions dans <a href="http://www.eclipse.org/forums/eclipse.scout" title="Forum Eclipse Scout">notre forum</a>. D&rsquo;autres ont <a href="https://github.com/BSI-Business-Systems-Integration-AG/scoutbook/issues?state=open">ouvert des tickets sur GitHub</a> pour signaler des coquilles de frappe. Enfin les personnes les plus à l&rsquo;aise avec Git et GitHub ont envoyés des changements par commit git. Ces retours ont de la valeur. Ils améliorent le produit final.</p>
<p>Il s&rsquo;agit d&rsquo;une première version. Certaines ambitions ont dû être revues à la baisse pour pouvoir sortir cette version en coïncidence avec le release train Eclipse (Kepler en juin 2013). L&rsquo;idée est de fixer les bugs sur la version Kepler et d&rsquo;enrichir le livre dans le courant de l&rsquo;année pour revenir en juin 2014 avec une version Luna plus étoffée.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse Scout: obtenir une version web mobile de son application</title>
		<link>https://blog.developpez.com/jmini/p12150/eclipse/eclipse-scout/eclipse-scout-mobile</link>
		<comments>https://blog.developpez.com/jmini/p12150/eclipse/eclipse-scout/eclipse-scout-mobile#comments</comments>
		<pubDate>Fri, 26 Jul 2013 05:27:05 +0000</pubDate>
		<dc:creator><![CDATA[jmini]]></dc:creator>
				<category><![CDATA[Eclipse Scout]]></category>
		<category><![CDATA[Mcqs]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/jmini/?p=133</guid>
		<description><![CDATA[La version 3.9 d’Eclipse Scout livrée avec Kepler (nom du release train Eclipse 2013) permet d’obtenir une version mobile de son application. Je viens de porter ma petite application de QCM (série d’articles sur mcqs, site du projet, tutoriel – premiers pas avec Eclipse Scout) sur cette nouvelle version me permettant ainsi d’obtenir une déclinaison [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>La version 3.9 d’<a href="http://eclipse.org/scout/">Eclipse Scout</a> livrée avec Kepler (nom du release train Eclipse 2013) permet d’obtenir une version mobile de son application. Je viens de porter ma petite application de QCM (<a href="http://blog.developpez.com/jmini/pcategory/demo/mcqs">série d’articles sur mcqs</a>, <a href="http://code.google.com/a/eclipselabs.org/p/mcqs/">site du projet</a>, <a href="http://jmini.developpez.com/eclipse_scout/articles/premiers_pas/">tutoriel – premiers pas avec Eclipse Scout</a>) sur cette nouvelle version me permettant ainsi d’obtenir une déclinaison mobile de mon application. </p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/mcqs_mobile.png" alt="Version mobile de MCQS dans un iPhone" width="388" height="809" class="size-full wp-image-134" /></p>
<p>C’est une possibilité de plus qui confirme la stratégie multi front-end d’Eclipse Scout. En effet la même application peut-être rendue sous différente forme : application desktop, application web et maintenant application web mobile.<br />
<span id="more-133"></span></p>
<p>Depuis toujours, une idée principale d’Eclipse Scout consiste en une surcouche pour définir l’application qui soit indépendante de toute librairie graphique (SWT ou Swing). Les formulaires ainsi que les champs qu’ils contiennent sont définis dans un modèle d’application qui sera rendu sous forme d’interface graphique à l’exécution. Cette technique permet d’obtenir plusieurs déclinaisons de la même application :</p>
<p>Version SWT :</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/mcqs_swt.png" alt="Version SWT de MCQS" width="583" height="590" class="aligncenter size-full wp-image-136" /></p>
<p>Version Swing :</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/mcqs_swing_rayo.png" alt="Version Swing de MCQS" width="571" height="572" class="aligncenter size-full wp-image-137" /></p>
<p>Version web :</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/mcqs_web.png" alt="Version Web de MCQS" width="574" height="575" class="aligncenter size-full wp-image-138" /></p>
<p>Le mobile étant une plateforme différente, il a fallu ajouter une étape supplémentaire lors du rendu. Les composants sont adaptés pour tenir compte des spécifiés de la plateforme. Voici quelques exemples :</p>
<p><strong>Smartfield :</strong></p>
<p>Le smartfield est un champ assez puissant : à la manière d’un combo-box, il permet de choisir parmi plusieurs choix. Il est également possible de saisir du texte dans le champ pour réduire les choix proposés. En version mobile, pour reproduire toutes ces possibilités, il a fallu ajouter une vue annexe sur la droite.</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/scout_smartfield_desktop.png" alt="SmartField Desktop" width="382" height="247" class="aligncenter size-full wp-image-140" /></p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/scout_smartfield_mobile.png" alt="SmartField Mobile" width="643" height="444" class="aligncenter size-full wp-image-141" /></p>
<p><strong>Absence de menu contextuel :</strong></p>
<p>L’action proposée dans le menu contextuel apparait sous forme de bouton sous la table.</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/scout_contextmenu_desktop.png" alt="Menu contextuel Desktop" width="477" height="495" class="aligncenter size-full wp-image-142" /></p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/scout_contextmenu_mobile.png" alt="Menu contextuel mobile" width="320" height="444" class="aligncenter size-full wp-image-143" /></p>
<p><strong>Représentation des tableaux :</strong></p>
<p>La largeur offerte par le téléphone est limitée. La hauteur des lignes d’un tableau doit être suffisante pour permettre une sélection avec le doigt « sélection touch ». Du coup, les colonnes d’un tableau sont rassemblées sous forme de lignes dans une cellule plus haute. Les colonnes d’une ligne du tableau vont être représentées dans un formulaire annexe accessible en sélectionnant une cellule dans la liste mobile.</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/scout_table_desktop.png" alt="Table Desktop" width="521" height="506" class="aligncenter size-full wp-image-144" /></p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/scout_table_mobile.png" alt="Table Mobile" width="644" height="444" class="aligncenter size-full wp-image-145" /></p>
<p>L’action principale du menu contextuel (celle qui aurait été proposée en double cliquant sur la ligne du tableau) et qui correspond souvent à l’opération d’édition se retrouve déportée en haut à droite. Les opérations restantes sont disponibles dans un menu supplémentaire.</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/scout_table_action_desktop.png" alt="Menu dans table Desktop" width="479" height="495" class="aligncenter size-full wp-image-146" /></p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/scout_table_action_mobile.png" alt="Menu dans table Mobile" width="320" height="444" class="aligncenter size-full wp-image-147" /></p>
<p><strong>Masquer certaines fonctionnalités :</strong></p>
<p>Toutes les fonctionnalités ne font pas forcément sens sur mobile. Pour mon application, j’ai décidé de masquer la représentation sous forme graphique (déjà rudimentaire dans la version desktop) en supprimant l’onglet correspondant.</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/scout_tabs_desktop.png" alt="Onglets Desktop" width="625" height="463" class="aligncenter size-full wp-image-150" /></p>
<p><img src="http://blog.developpez.com/jmini/files/2013/07/scout_tabs_mobile.png" alt="Onglets Mobile" width="320" height="444" class="aligncenter size-full wp-image-151" /></p>
<p><strong>En conclusion</strong></p>
<p>Cette transformation du modèle applicatif permet d’adapter le rendu web aux spécificités du mobile. Évidement l’application obtenue n’est pas aussi efficace qu’un développement dédié, mais le résultat est plus que convainquant par rapport au temps investi.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xtend : sucre syntaxique et lisibilité</title>
		<link>https://blog.developpez.com/jmini/p11987/eclipse/xtend/xtend-sucre-syntaxique-et-lisibilite</link>
		<comments>https://blog.developpez.com/jmini/p11987/eclipse/xtend/xtend-sucre-syntaxique-et-lisibilite#comments</comments>
		<pubDate>Sat, 25 May 2013 11:38:21 +0000</pubDate>
		<dc:creator><![CDATA[jmini]]></dc:creator>
				<category><![CDATA[Xtend]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/jmini/?p=116</guid>
		<description><![CDATA[Cette expression de sucre syntaxique me laisse perplexe. Le fait est qu’améliorer la lisibilité du code est un des objectifs d’Xtend. Tout en conservant tous les concepts de Java, Xtend va en simplifier l’écriture et la lecture. Essayons d’analyser cet extrait de code&#8230; Les points virgules en fin de ligne sont facultatifs. Avant de faire [&#8230;]]]></description>
				<content:encoded><![CDATA[<div id="attachment_123" style="width: 510px" class="wp-caption aligncenter"><img src="http://blog.developpez.com/jmini/files/2013/05/sucre.jpg" alt="Morceau de sucre" width="500" height="336" class="size-full wp-image-123" /><p class="wp-caption-text">Photo: <a href="http://www.flickr.com/photos/zigazou76/4429599035/">Morceau de sucre</a> par zigazou76 (CC BY 2.0)</p></div>
<p>Cette expression de <a href="http://fr.wikipedia.org/wiki/Sucre_syntaxique" title="wikipedia: sucre syntaxique">sucre syntaxique</a> me laisse perplexe. Le fait est qu’améliorer la lisibilité du code est un des objectifs d’Xtend. Tout en conservant tous les concepts de Java, Xtend va en simplifier l’écriture et la lecture.<br />
<a href="http://blog.developpez.com/jmini/files/2013/05/Xtend_class_and_outline.png"><img src="http://blog.developpez.com/jmini/files/2013/05/Xtend_class_and_outline.png" alt="Une classe Xtend" width="600" height="438" class="size-full wp-image-125" /></a></p>
<p>Essayons d’analyser cet extrait de code&#8230;</p>
<p><span id="more-116"></span></p>
<p>Les points virgules en fin de ligne sont facultatifs. Avant de faire du Xtend, je ne les avais jamais vraiment considérés comme gênants. Maintenant, je me surprends à écrire du Java dans lequel ils manquent.</p>
<p>Également facultatif : les parenthèses pour les méthodes sans paramètres. C’est bien pratique pour instancier un objet dont le constructeur n’attend pas de paramètres. Il suffit d’écrire <span style="font-family:Courier New">new Actor</span>.</p>
<p>Xtend fait de l’inférence de type partout où c’est possible. Au final je peux presque toujours me passer de type lorsque je déclare mes variables avec le mot clé <span style="font-family:Courier New">val</span> (pour les variables non mutables, finale en Java) ou le mot clé <span style="font-family:Courier New">var</span> (pour les variables classiques de Java). C’est vrai aussi pour le type retourné par une méthode. Pas besoin de le définir, il est déduit du contenu de la fonction.</p>
<p>L’utilisation des getters et setter est simplifié : il est possible d’accéder à la valeur retournée par un getter directement. Typiquement <span style="font-family:Courier New">actor.lastName</span> correspond en Java à <span style="font-family:Courier New">actor.getLastName()</span>. De même <span style="font-family:Courier New">actor.firstName = &#034;Bob&#034;</span> utilisera le setter comme on s’y attend.</p>
<p>En fait cette invocation des méthodes avec l’opérateur égal marche avec toutes les méthodes d’une classe. C’est pour cela que je peux écrire <span style="font-family:Courier New">actors.add = actor</span> si <span style="font-family:Courier New">actors</span> est une liste de type <span style="font-family:Courier New">List</span> et actor un objet de type <span style="font-family:Courier New">Actor</span>.</p>
<p>Le mot clé <span style="font-family:Courier New">return</span> peut également être omis… La dernière expression évaluée est ainsi retournée. Au début je me disais que ce n’était certainement pas une bonne idée. Et puis je me suis surpris à l’utiliser dans les méthodes très courtes (celles qui retournent juste une valeur).</p>
<p>Je ne suis pas certain que ces différents exemples constituent une liste exhaustive de la simplification de syntaxe qu’apporte Xtend. En écrivant cet article, je me rends compte qu’il ne s’agit que de la surface visible de l’iceberg : je n’ai pas du tout évoqué d’autres aspects que j’adore dans Xtend (Extension Methods, Operator Overloading, With Operator, Template Expressions… Autant d’autres sujets possibles pour <a href="http://blog.developpez.com/jmini/pcategory/eclipse/xtend">ma série d’articles sur Xtend</a>).</p>
<p>De toutes ces possibilités, il y a certainement un certain nombre de bonnes pratiques à définir dans une équipe de développement. Il ne faudrait pas que les possibilités de simplification offerte par le langage aboutissent à l’écriture de code illisible.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xtend : à lire sur le web</title>
		<link>https://blog.developpez.com/jmini/p11959/eclipse/xtend/xtend-a-lire-sur-le-web</link>
		<comments>https://blog.developpez.com/jmini/p11959/eclipse/xtend/xtend-a-lire-sur-le-web#comments</comments>
		<pubDate>Thu, 09 May 2013 06:11:16 +0000</pubDate>
		<dc:creator><![CDATA[jmini]]></dc:creator>
				<category><![CDATA[Xtend]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/jmini/?p=96</guid>
		<description><![CDATA[Je suis en train d’utiliser Xtend sur un petit projet… Comme je souhaite toujours écrire une série d’articles sur Xtend, j’ai commencé à me documenter. Cet article liste les articles de blogs (présentation, introduction, comparatifs, annonce…) qu’il faut avoir lus.   20 Facts about Xtend Très simplement illustré les concepts importants de Xtend. Pour chaque [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Je suis en train d’utiliser Xtend sur un petit projet… Comme je souhaite toujours écrire <a href="http://blog.developpez.com/jmini/pcategory/eclipse/xtend">une série d’articles sur Xtend</a>, j’ai commencé à me documenter.<br />
<img src="http://blog.developpez.com/jmini/files/2013/05/xtend-logo.png" alt="Xtend" width="400" height="114" class="aligncenter size-full wp-image-97" /><br />
Cet article liste les articles de blogs (présentation, introduction, comparatifs, annonce…) qu’il faut avoir lus.<br />
<span id="more-96"></span><br />
 <br />
<strong><a href="http://jnario.org/org/jnario/jnario/documentation/20FactsAboutXtendSpec.html">20 Facts about Xtend</a></strong><br />
Très simplement illustré les concepts importants de Xtend. Pour chaque point, c’est illustré avec un petit extrait de code. Franchement, ça donne un bel aperçu. Comparé à la <a href="http://www.eclipse.org/xtend/documentation.html">documentation officielle</a> (qui est également rédigée dans le même esprit), c’est plus rapide à lire.<br />
Cet exemple <a href="http://sebastianbenz.de/20-facts-about-xtend-creating-executable-documentation-with-jnario">sert également d’illustration</a> au projet <a href="http://jnario.org">Janario</a> (un outil qui permet d’écrire de la documentation exécutable sous forme de test unitaire).</p>
<p><strong><a href="http://sebastianbenz.de/5-Things-that-make-Xtend-a-great-Language-for-Java-developers">5 Things That Make Xtend a Great Language for Java Developers</a></strong><br />
Comme indiqué dans le titre, l’auteur liste 5 points d’Xtend qui en font un bon langage pour les développeurs Java :</p>
<ol>
<li>Compilation en java</li>
<li>L’inférence de type</li>
<li>Les méthodes extensions</li>
<li>Les lambdas</li>
<li>Le templating</li>
</ol>
<p>Chaque point est accompagné d’un texte de présentation et de petits exemples.</p>
<p><strong><a href="http://bartnaudts.blogspot.ch/2012/12/xtend-better-compromise.html">Xtend: the better compromise</a></strong><br />
Un article qui prend un peu de recul sur Xtend et ses concepts. C’est un article bien construit, qui explique le contexte et apporte un retour d’expérience. L’auteur a classé les différents points selon ce qu’il apprécie, ce qui est moyen, ce qu’il n’aime pas et ce qu’il aimerait voir. Un très bel aperçu des enjeux de ce langage.</p>
<p><strong><a href="http://duncan.mac-vicar.com/2012/09/30/a-better-java-scala-or-xtend/">A better Java: Scala or Xtend?</a></strong><br />
Comme Scala et Xtend revendiquent chacun le slogan « A better Java », cet article compare les deux langages. L’article détaille certaines constructions syntaxiques. Pour chacune d’entre elles, un comparatif est proposé ainsi que l’avis de l’auteur.</p>
<p><strong><a href="http://jaxenter.com/eclipse-xtend-java-s-equivalent-to-coffeescript-45680.html">Eclipse Xtend: Java’s equivalent to CoffeeScript</a></strong><br />
Une interview de Sebastian Zarnekow et de Sven Efftinge, les deux concepteurs du langage et des outils dans Eclipse à propos d’Xtend. Cette interview menée par jaxenter revient sur le projet, sa raison d’être, ses origines, ses perspectives.</p>
<p><strong><a href="http://zeroturnaround.com/labs/rebel-labs-interview-sven-efftinge-founder-of-xtend/">Rebel Labs interview: Sven Efftinge founder of Xtend</a></strong><br />
Cette interview est un bon complément à la précédente. Elle est plus récente et va plus en profondeur sur un certain nombre de sujets. Elle confirme selon moi que Sven est un développeur brillant et qu’il sait où il veut mener le projet Xtend.</p>
<p><em>Cet article est destiné à être mis à jour.</em></p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Xtend</title>
		<link>https://blog.developpez.com/jmini/p11927/eclipse/xtend/xtend</link>
		<comments>https://blog.developpez.com/jmini/p11927/eclipse/xtend/xtend#comments</comments>
		<pubDate>Fri, 19 Apr 2013 06:02:31 +0000</pubDate>
		<dc:creator><![CDATA[jmini]]></dc:creator>
				<category><![CDATA[Xtend]]></category>

		<guid isPermaLink="false">http://blog.developpez.com/jmini/?p=81</guid>
		<description><![CDATA[Xtend est un projet de la fondation Eclipse qui propose un langage de programation s’inspirant de Java, mais proposant une syntaxe simplifiée et des concepts n’existant pas (ou pas encore) en Java (les lambda, l’inférence de type, les extensions de méthodes&#8230;). Le code écrit en Xtend est compilé vers du Java. Ce code java est [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="http://xtend-lang.org/">Xtend</a> est un projet de la fondation Eclipse qui propose un langage de programation s’inspirant de Java, mais proposant une syntaxe simplifiée et des concepts n’existant pas (ou pas encore) en Java (les lambda, l’inférence de type, les extensions de méthodes&#8230;). Le code écrit en Xtend est compilé vers du Java. Ce code java est accéssible et lisible (même si ce n’est pas forcément le but).</p>
<p>À travers <a href="http://blog.developpez.com/jmini/pcategory/eclipse/xtend">cette série d’articles sur Xtend</a>, j’aimerais montrer les possibilités du langage.<br />
<span id="more-81"></span></p>
<p><strong>Installation:</strong><br />
Je ne souhaite pas m’étendre sur les différentes possibilités d’installation. Cela fonctionne comme n’importe quel autre projet Eclipse. </p>
<p>Une version packagée existe également sur la page des <a href="http://www.eclipse.org/xtend/download.html">téléchargement d’Xtend</a> (choisir &laquo;&nbsp;Full Eclipse&nbsp;&raquo;). Elle contient la bonne version de chaque composant. C’est cette version qui est la plus simple pour débuter.</p>
<p><strong>Un premier exemple:</strong><br />
Xtend s’utilise d’un projet Java traditionnel. Il suffit de créer une nouvelle classe Xtend dans un package.</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/04/xtend_new_class.png" alt="create a new Xtend class" width="634" height="614" class="aligncenter size-full wp-image-83" /></p>
<p>Eclipse se charge alors de compiler ce code en fichier java (code source java), qui se trouve placé dans le dossier xtend-gen à côté du dossier src.</p>
<p><img src="http://blog.developpez.com/jmini/files/2013/04/xtend_project.png" alt="xtend project organisation in eclipse" width="279" height="201" class="aligncenter size-full wp-image-84" /></p>
<p>Un Bean Java (des fields java privé avec des getters et setters associés) peut s’écrire en Xtend de la manière suivante:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">package sakila.bean<br />
<br />
class Actor {<br />
&nbsp; &nbsp; @Property int actorId<br />
&nbsp; &nbsp; @Property String firstName<br />
&nbsp; &nbsp; @Property String lastName<br />
}</div></div>
<p>Le fichier java correspondant:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">package sakila.bean;<br />
<br />
@SuppressWarnings(&quot;all&quot;)<br />
public class Actor {<br />
&nbsp; private int _actorId;<br />
&nbsp; <br />
&nbsp; public int getActorId() {<br />
&nbsp; &nbsp; return this._actorId;<br />
&nbsp; }<br />
&nbsp; <br />
&nbsp; public void setActorId(final int actorId) {<br />
&nbsp; &nbsp; this._actorId = actorId;<br />
&nbsp; }<br />
&nbsp; <br />
&nbsp; private String _firstName;<br />
&nbsp; <br />
&nbsp; public String getFirstName() {<br />
&nbsp; &nbsp; return this._firstName;<br />
&nbsp; }<br />
&nbsp; <br />
&nbsp; public void setFirstName(final String firstName) {<br />
&nbsp; &nbsp; this._firstName = firstName;<br />
&nbsp; }<br />
&nbsp; <br />
&nbsp; private String _lastName;<br />
&nbsp; <br />
&nbsp; public String getLastName() {<br />
&nbsp; &nbsp; return this._lastName;<br />
&nbsp; }<br />
&nbsp; <br />
&nbsp; public void setLastName(final String lastName) {<br />
&nbsp; &nbsp; this._lastName = lastName;<br />
&nbsp; }<br />
}</div></div>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
