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/

Conférence Rails Europe en Septembre 2007

Pour les amoureux du langage Ruby et du Framework Web qui l'a mis sur orbite, une conférence sur Rails à Berlin en septembre prochain. Plus d'informations sur http://www.railsconfeurope.com/

Merci O'Reilly !
Il y a une réduction pour toutes inscriptions avant le 6 août...

Rubinius : une VM pour Ruby en Ruby

Au hasard de mes pérégrinations sur le web, je suis tombé sur ce billet qui traite de Rubinius.
J'ai trouvé le billet et le Blog - #doesNotUnderstand - sympathique. Le blog est surtout centré sur le langage Smalltalk, mais là il aborde - et pour cause - une thématique qui concerne le très médiatique langage Ruby.

Comme vous pourrez le lire sur le billet "Rubinius est une nouvelle machine virtuelle pour Ruby qui s’inspire fortement de celle de Smalltalk-80".

Le billet donne également quelques liens supplémentaires pour en savoir plus sur Rubinius :




Bonne lecture !

vendredi 20 juillet 2007

Complément sur JavaOne 2007

En complément à mon billet précédent sur JavaOne 2007 et JavaFX, un article intéressant - "JavaOne 2007 : Prodigal Sun returns to the client" - disponible sur developerWorks, dont le sujet est JavaOne 2007 . L'article s'étend notamment assez largement sur JavaFX.

Have a nice day !

lundi 16 juillet 2007

JavaOne 2007 et JavaFX

Salut !

Si, tout comme moi, vous n'avez pas eu la chance de pouvoir aller à la JavaOne 2007, vous pouvez toujours vous rabattre sur les WebCasts mis à disposition par Sun : vous pouvez accéder à plusieurs sessions directement en ligne ou les télécharger pour consultation ultérieure (juste la version "audio" ou la version vidéo complète).

L'adresse est http://java.sun.com/javaone/sf/sessions/general/index.jsp .

Les sujets sont divers, concernent bien sûr l'univers Java. Il est notamment question de JavaFX (la présentation de la Java One est accessible directement ici) autour duquel il y a pas mal de Buzz en ce moment . Cela semble en partie dû au fait que JavaFX semble être la réponse de Sun à Silverlight de Microsoft et à Flex d'Adobe (récemment "libéré"). De plus, la bataille du RIA (Rich Internet Application) semble également se déplacer sur les terminaux mobiles sur lesquels JavaFX devrait pouvoir tourner (cf. JavaFX Mobile).

Chris Oliver est à l'origine de JavaFX, né sous le nom F3. Une communauté de Sun pour l'implémentation open-source des technologies JavaFX, OpenJFX, a été créée : https://openjfx.dev.java.net/. Sur la version française du site de Sun on trouve cette petite présentation.

JavaFX est une technologie récente et on trouve peu de tutoriels en dehors de ceux sur le site de Chris Oliver, sur le site OpenJFX et sur le Wiki PlanetJFX. Au moment où j'écris ce billet ce tutoriel (également en anglais) est une rare exception. Il y a cependant fort à parier qu'il y aura bientôt pléthore en la matière.

J'ai juste jeté un oeil sur JavaFX. En fait JavaFX est une famille de technologies liées dont l'un des objectifs me semble être de proposer un langage déclaratif (JavaFX Script) pour la programmation graphique et d'interface, plus facile à mettre en oeuvre que de la programmation directe en Java via Swing et Java 2D. Cela devrait augmenter la productivité des professionnels de la programmation et rendre les choses plus accessibles au "non-programmeur". Comme d'habitude avec les langages de haut niveau, l'objectif est de permettre de se concentrer sur le fond sans se prendre trop la tête avec les aspects techniques. Cela reste quand même un langage de programmation, un de plus pour la JVM (vous avez une liste encore plus complète sur ce site des langages pour la JVM). Et bien sûr il propose également une ouverture vers le monde des mobiles via JavaFX Mobile.

Une affaire à suivre dans tous les cas.
Have a nice day !

dimanche 15 juillet 2007

Mono-Maniaque

Salut !

je suis un développeur Java depuis des années mais cela ne m'empêche pas de regarder ce qui se passe du côté de la plateforme .NET et notamment les efforts pour porter cette dernière sous Linux (et Mac Os X dans une moindre mesure), je parle ici du projet Mono de Novell.

Ci-après une interview de Miguel De Icaza sur SoapBox :




L'interview est relativement courte (2 min) et a été prise lors de Mix'07.
Si la thématique Mono/Silverlight vous intéresse, voici un petit billet sur le sujet.

Have a nice day !

samedi 14 juillet 2007

Hello World


Au commencement de tout livre ou tutoriel sur la programmation - dans tel ou tel langage - qui se respecte, on trouve le désormais fameux petit programme "Hello World" ou l'une de ces variantes.
Quelle meilleure entrée en matière pour un blog pour la programmation que ce fameux Hello World donc ;-).

Car c'est l'objet de ce blog... enfin, c'est un peu plus large que cela, c'est plus un blog sur le développement logiciel et pas seulement sur la programmation.
Dans ce blog, il sera donc question de programmation dans des langages divers mais également de modélisation et de conception.

J'aime développer et j'aime partager cette passion de la programmaion et de la conception. J'ai été enseignant et chercheur dans une vie antérieure pour cette raison-là.
Maintenant que je suis revenu à un travail plus classique de développeur en SSII, j'éprouve le besoin de partager à nouveau cette passion avec d'autres par d'autres moyens. Un blog semble adapté à cette fin.

A bientôt (j'espère) pour un vrai article ! :-)