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/ .

dimanche 12 août 2007

Du Qt dans mon Java !

Au moment où Sun se réinvestit dans le client "lourd" avec JavaFX et le "Swing Application Framework", un Troll surgit dans l'univers des "GUI" Java : Trolltech arrive avec Qt Jambi(TM), c'est-à-dire une version de Qt pour Java. Les rumeurs circulaient depuis quelques temps (un ami versé dans le développement Qt/C++ m'en avait parlé il y a un peu plus d'un an).

Comme d'habitude avec Trolltech, c'est disponible sous une double licence : licence commerciale si c'est pour du développement d'applications commerciales, GPL si c'est pour du développement d'application sous licence GPL (je simplifie un peu mais je pense que vous avez l'idée générale ;-).

Cela reprend les principes de fonctionnement de Qt, notamment la fameuse architecture utilisant des "signals" et des "slots". Vue la qualité de Qt et la réputation (méritée) de Trolltech, c'est un challenger de taille qui arrive dans l'univers des IHM Java... maintenant Swing et SWT sont sous des licences plus souples et ont l'avantage de l'ancienneté. Certains diront que cela aménera peut-être encore plus de confusion... à voir.

En tout cas, il est sûr que pour une équipe de développeurs Qt/C++ devant migrer vers du développement d'applications graphiques en Java cela peut s'avérer un excellent choix. Et pour ceux qui sont las de SWT et Swing, cela peut semble une alternative qui mérite au moins qu'on lui laisse une chance de convaincre.

Dans tous les cas, une affaire à suivre.

BlueJ et GreenFoot

Si certains ont la main verte, chez les développeurs Java si la viridité d'un organe est concernée cela semble plutôt être le pied...

Le projet GreenFoot est un environnement de développement pour la construction facile d'application graphique interactive telle que des jeux ou des simulations. Ce projet est développé par l'équipe qui a développé l'excellent BlueJ. Tout comme BlueJ c'est gratuit et cible l'apprentissage de la programmation.

Je connaissais déjà BlueJ mais pas GreenFoot. C'est en écoutant un des épisodes de l'excellent Podcast Java Posse (indispensable à tous développeurs Java anglophone : intéressant, instructif et amusant!) .

Pour ceux d'entre vous qui ne connaissent pas BlueJ est un IDE Java, relativement léger (ils se concentre sur l'essentiel : ce n'est pas la lourdeur d'Eclipse ou de NetBeans) et dédié à l'apprentissage de Java et de la programmation objet. Cet outil est rempli de bonnes idées pour faciliter la compréhension de la programmation, notamment le "Object Test Bench". Cette idée était tellement bonne que Microsoft la non seulement reprise pour Visual Studio C# mais en plus à voulu mettre un brevet dessus (sacré Microsoft !). Pour ceux intéressés, l'idéal est d'aller sur le blog de Michaël Kölling (l'un des papas de BlueJ), notamment ces trois billets :
Il semblerait que le Géant de Redmond convienne qu'il est en tord. Pour les allergiques à l'anglais vous pouvez jeter un oeil sur ce post.

Sun c'est également intéressé à BlueJ et propose une version de NetBeans qui intégre les fonctionnalités de BlueJ (avec l'accord des créateurs !).

Quand j'étais enseignant, j'avais utilisé BlueJ pour l'apprentissage de Java et cela s'était plutôt bien passé dans l'ensemble. Il faut avouer qu'avec le "Object Test bench" on manipule les objets un peu comme on le ferait en SmallTalk et c'est très agréable. C'est vraiment un outil d'apprentissage formidable. Et l'outil est suffisamment stable et complet pour servir plus largement pour des développements personnels ou même professionnels, tant que l'on ne fait pas de développements d'applications Web ou J2EE. Il existe même des plugins divers pour BlueJ.

Pour en revenir à GreenFoot, je n'ai pas encore eu le temps de regarder de près mais cela semble vraiment intéressant.

Si vous enseignait Java ou si vous cherchez un outil efficace et agréable à utiliser pour faire des développements Java, cela vaut vraiment le coup d'aller jeter un oeil sur ces 2 projets.!

dimanche 5 août 2007

Un dernier Tango sur le Web

Une entrée sur le projet Tango sur le blog consacré à l'interopérabilité de "the ServerSide" : http://tssblog.techtarget.com/index.php/xmlweb-services/project-tango-the-big-picture/ .

Sur cette thématique sont à voir ce billet du blog de Arun Gupta et ce document (pdf) sur le site du projet Tango qui en présente une vue d'ensemble.

Le projet Tango est une implémentation open source par Sun Microsystems des spécifications de Services Web de type "WS-*". De plus, dans le cadre de ce projet Sun et Microsoft travaillent "main dans la main" pour s'assurer que cette implémentation soit interopérable avec .NET 3.0.

Vous me direz, tout cela est bien normal, le Tango se danse à deux... mais quant à savoir qui mène la danse... ;-)

Hibernate

Une série de tutoriels intéressant sur Hibernate : http://jroller.com/garymak/category/Hibernate

Pour une liste assez exhaustive (c'est le moins que l'on puisse dire) de liens vers des ressources diverses pour apprendre Hibernate/NHibernate et approfondir votre maîtrise de ce framework d'ORM : http://tssblog.techtarget.com/index.php/interoperability/mini-guide-hibernate-and-nhibernate/