mercredi 27 février 2008

Une nouvelle ère pour Adobe

Adobe vient de sortir la version 1.0 de AIR : avec ce nouvel environnement il est notamment possible de lancer des applications web riches ("Rich Internet Applications" ce qui donne l'acronyme RIA) directement sur le bureau de l'ordinateur et en mode "déconnecté" , i.e. qu'il n' y a plus besoin d'être connecté en permanence à Internet.

AIR repose sur un ensemble de technologies et d'outils : bien sûr Flash, Flex et les technologies liées à AJAX (Javascript, XML, JSON, CSS, etc.) mais également sur la base de données open source SQLite pour la stockage et la synchronisation les données avant et après les déconnexions.

La bataille du RIA s'annonce disputée : il y a les technologies concurrentes de Google (Google Gears), de Mozilla (PRISM) et bien sûr l'omniprésent Microsoft (Silverlight).
Dans une moindre mesure on peut dire que dans la concurrence il y a Sun avec JavaFX et Java mais certains estiment déjà que ce n'est plus un challenger crédible sur le créneau du RIA (voir l'article "Swing is drowning" de Dion Almaer).

mardi 26 février 2008

Rhino On Rails

Après Groovy On Rails (a.k.a Grails) inspiré du désormais fameux Framework Ruby On Rails, voici Rhino On Rails (RnR pour les intimes).

Ce "port" de RoR est notamment l'oeuvre de Steve Yegge qui travaille chez Google : ne pouvant utiliser Rails car basé sur Ruby qui ne fait pas partie des langages utilisables en production chez Google, il a décidé d'effectuer le portage de ce framework sous Rhino, la version de Javascript pour la JVM. Il a publié un intéressant billet sur dans lequel il explique pourquoi Javascript et Rhino, pourquoi ce projet, etc.

Ce framework avait fait l'objet d'une présentation au "Foo Camp" en Juin 2007 comme le rapporte John Lam dans un billet.

Dion Almaer a réalisé une interview de Steve Yegge dont on peut retrouver la vidéo sur YouTube et que j'ai incorporé dans ce blog ci-après.



Rhino On Rails n'est pas encore disponible en OpenSource. Il est intéressant de noter que RnR n'est pas le seul framework basé essentiellement sur Javascript et/ou Rhino. Il est ainsi possible de citer Helma ou TrimPath (Junction) .

Je trouve amusant et représentatif le dessin qui suit, oeuvre de Dion Almaer :

Un point un peu ironique (mais qui a son intérêt techniquement et pour les amoureux des technos Google) est que RnR devrait s'intégrer avec Goggle Web Toolkit ...

Une affaire à suivre dans tous les cas.

Et une chose est sûre : on n'est pas près de voir le nombre de frameworks web décroître prochainement...

dimanche 3 février 2008

Une initiative intéressante

J'ai découvert Xebia un peu par hasard en recherchant des vidéos sur J2EE sur YouTube : je suis tombé sur les présentations vidéos qu'ils font de leur entreprise.

En jettant un oeil à leur site institutionnel et à leur blog, je suis tombé sur le Xebia Poker Tour qui semble être une initiative ludique et intéressante : vous répondez à des questions sur Java, XML, J2EE, les méthodes agiles, etc. ce qui vous permet de recolter de l'argent fictif.

Les 50 plus riches pourront participer à une partie de poker et peut-être gagner un voyage à JavaOne ou Javapolis. Toutes les explications sur ce billet.

L'initiative est à la fois surprenante, rare et ludique, alors je vous invite à aller y faire un tour si vous êtes un expert Java/J2EE et que le poker vous branche !

NB : je n'ai aucun lien avec Xebia !

dimanche 20 janvier 2008

Un coup d'oeil sur le langage Scala

Si cela fait quelques temps que vous entendez parler régulièrement du langage Scala et que vous souhaitez quelques points d'entrée pour un savoir plus, voici quelques pistes.

Tout d'abord une courte définition de Scala reprise de Wikipédia :

Scala est un langage de programmation multi-paradigme conçu à l'EPFL pour exprimer les modèles de programmation courants dans une forme concise et élégante. Il intègre les paradigmes de programmation orientée objet et de programmation fonctionnelle, avec un typage statique.

Sur le site officiel du langage Scala (http://www.scala-lang.org/) où peuvent être trouvés bien sûr le langage lui-même mais également différents documents pour démarrer notamment un article qui fait une présentation synthétique du langage (certains passages sont assez techniques), un tutorial, un petit article d'introduction "par l'exemple" et une spécification du langage.

Sur YouTube vous pouvez trouver une présentation de Scala faite par Martin Odersky lui-même dans la série des "Google Tech Talks"

J'ai inséré la vidéo juste après dans ce billet. Cependant cette dernière dure plus d'une heure. Cela peut-être sympa de la récupérer avec Miro et de la regarder tranquillement. Cela reprend pas mal de points évoqués dans la "présentation synthétique du langage" que l'on trouve sur le site officiel : certains passages sont assez techniques et difficiles à suivre quand on n'a pas de solides bases en théorie des langages.



Scala est en ce moment évoqué régulièrement dans les épisodes du "JavaPosse", et dans l'épisode #158, les membres du JavaPosse renvoie vers un blog dédié à Scala et notamment à un billet présentant des résolutions de puzzles mathématiques dans l'esprit Scala.
L'épisode #155 est consacré à une interview de Martin Odersky.

Enfin sur Software Engineering Radio, il est également possible de trouver une interview de Martin Odersky sous forme de podcast (épisode 62).

vendredi 28 décembre 2007

Better Web Application Framework

Dans la vidéo qui suit, est effectuée une comparaison entre J2EE, Ruby On Rails, Zope/Plone, Turbogears et Django.
Au travers de 2 exemples - d'abord un simple "Hello World" puis une application de suivi de temps ("Time Tracking Web App") - la comparaison porte sur le nombre de ligne de code produites, le nombre de fichiers de configurations à renseigner, le temps global mis pour réaliser l'application concernée, le nombre d'erreurs et de problèmes rencontrés.

Dans le cas du premier exemple (le "Hello World") sont comparés l'utilisation de Servlet, l'utilisation de JSP, RoR, Zope, Turbogears et Django.

Avec le deuxième exemple, la comparaison porte sur une première solution "partiellement J2EE" (Servlet + JSP + Hibernate), une solution purement J2EE (avec des EJB), Zope/Plone, RoR, Turbogears et Django.

J'ai trouvé cette vidéo intéressante et enrichissante pour se faire une idée sur les autres technologies pour le développement Web quand on n'a pas eu le temps de regarder et qu'on n'a que la possibilité de travailler avec des Frameworks Java pour le développement Web.

J'ai néanmoins étéun peu surpris qu'il n'y ait aucun framework PHP qui fassent parties de la comparaison (CakePHP par exemple) et que les solutions Java ne s'appuie que sur du J2EE pur et dur sans utiliser des frameworks Web (Struts, JSF ou Wicket par exemple). De plus, si Zope/Plone sort a priori grand vainqueur de la comparaison, je ne suis pas persuadé que le critère intégration avec l'existant dont il est fait mention au début de la présentation soit vraiment respecté... ceci étant je ne connais pas vraiment cette technologie.

Dans tous les cas, si comme dans toutes comparaisons de ce type, il y a probablement un certain biais, il est clair que J2EE peut-être très lourd et ne permet pas une productivité optimale.

Quant aux EJB, cela me fait penser à des discussions avec plusieurs collègues : on leur préfère souvent des solutions légères du type Spring et ils sont en fait assez peut utiliser. Les EJB3 semblent plus faciles à mettre en oeuvre mais pour l'instant beaucoup de projets n'ont pas encore migré vers J2EE 5.



Les 2 articles qui suivent sont cités dans la présentation, j'ai mis les liens ci-après :
En relation avec le dernier lien un (vieil) article The Death of EJB As We Know It?.

jeudi 27 décembre 2007

La Parabole des Langages

L'humour est une manière agréable de prendre du recul et de susciter la réflexion. Je trouve le texte de "La Parabole des Langages" de Shelley Powers très intéressante à ce titre. On peut la trouver en français sur différentes pages (par exemple ou bien ici également), ma version préférée étant celle qui se trouve sur Tastalian.org.

Si vous ne connaissez pas ce texte je vous invite à aller y jeter un oeil.

samedi 3 novembre 2007

Article d'introduction à E4X

Je viens de finaliser un petit article d'introduction à E4X (EcmaScript For XML).
C'est mon premier article sur l'excellent site pour et par les developpeurs, developpez.com.
Toutes les critiques ou remarques constructives sont les bienvenues !

samedi 15 septembre 2007

Une cardioïde en JavaFX

Ci-après, un premier petit essai en JavaFX qui a pour objectif de dessiner une cardioïde...
Je doute que le code que j'ai réalisé soit optimisé ou respecte les bonnes pratiques du codage en JavaFX.

Pour faire ce petit programme, j'ai utilisé Netbeans comme il le conseil dans ce tutoriel... je sais c'est un peu lourd pour un petit programme comme cela mais je n'avais pas envie de me prendre la tête et j'utilise déjà Netbeans pour une bonne partie de mes développements Java "personnels" (sinon, c'est comme au bureau j'utilise Eclipse/RSA). D'ailleurs il existe un plugin Eclipse pour JavaFX.

Une petit explication du principe du programme : je génère un tableau de points dont les coordonnées suivent l'équation paramètrique de la cardioïde. Ce tableau de points est ensuite utilisé pour construire un objet Polyline.

J'avoue que pour l'instant je ne suis pas convaincu par JavaFX mais c'est peut-être parce que cela change mes habitudes de programmation.
Cela donne çà :



Je viens également de tomber sur ce tutoriel sur JavaFX (sur le réseau O'Reilly) mais je n'ai pas encore eu le temps de regarder de près.

dimanche 2 septembre 2007

My client is Rich !

Le blog de Fabien Deshayes traite des RIA et autres clients riches. Il est intéressant et son contenu est à l'image de la thématique dont il traite, riche !
L'adresse http://www.fdeshayes.net/ .

Haskell, JavaFX, Java, JavaScript sont dans un blog...

Un blog que j'ai trouvé intéressant, par un développeur français (mais le blog est écrit en anglais) qui traite d'Haskell, de Java, d'intelligence artificielle et de pas mal d'autres choses liées au monde du développement.
Bonne lecture !
Le site http://jpmoresmau.blogspot.com/ .