lundi 5 avril 2010

Lyon en 3D

J'utilise très souvent Google Maps et notamment Google Street View. Il y a environ six mois je découvrais que la couverture de Google Street View en France avait progressé de manière impressionnant (plus de 70% du territoire est couvert). Ce service est tellement pratique et accessible, que j'en avais oublié Google Earth. Récemment, j'ai relancer "par hasard" Google Earth. Je connaissais la fonction "Bâtiment 3D" et l'avais donc précédemment activé. Et là, j'ai eu la surprise de découvrir la ville de Lyon entièrement modélisée en 3D.
On peut zoomer sur les façades, changer l'angle d'inclinaison, tourner autour des bâtiments. La précision est remarquable et le nombre de bâtiments modélisés est tout simplement énorme. Par contre, pour profiter pleinement de cette fonctionnalité il faut avoir une bonne connexion internet (une connexion fibre optique devrait pleinement s'exprimer).

dimanche 21 mars 2010

GWT s'ouvre et s'intègre

J'avais précédemment parlé de l'industrialisation de GWT, la semaine dernière a vu naitre la version 1.3 du plugin Eclipse de GWT. Cette nouvelles version du plugin est importante car elle permet l'utilisation des projets Dynamic Web d'Eclipse. Ce qui signifie une plus grande souplesse dans l'organisation des développements et la promesse d'une meilleures intégration avec Maven.
Les développements GWT vont donc se fondre dans les processus de développements JEE, ce qui devrait favoriser son adoption au sein de la communauté Java.

lundi 8 mars 2010

Strong typing in web application

Lorsque je s'écrire un programme, j'ai horreur d'avoir des surprises au moment de l'exécution du programme (at runtime). Pour palier à ces mauvaises surprises, il faut d'abord compiler le programme. Celui-ci va effectuer des vérifications et donc éviter d'avoir de mauvaises surprises à l'exécution du programme.
Cela dit, pour assurer une vérification optimale de la part du compilateur, il faut avoir recours à un typage fort.

Maintenant, imaginez que l'on puisse appliquer ces principes avec des  développements web. Car lorsque l'on développe une application web, c'est généralement tout l'inverse. En effet, le web est traditionnellement une technologie runtime (ex : PHP, JSP, ASP, javascript, ...). Qui n'a pas eu a faire à l'erreur HTTP 500 ? Ou bien à des mises en formes cassées suite à une réorganisation des fichiers CSS ?
Vous l'avez compris, les développements web sont souvent délicats à tester car nous manipulons plusieurs technologies runtime.

En plus, des bugs générés par cet état de fait, il y a une autre incidence à cela; J'ai nommé la productivité, c'est pourquoi le scaffolding a le vent en poupe ces derniers temps. Le code généré est fiable et vite obtenu. Mais cette technique n'est qu'un pisalé, car inévitablement il faudra retoucher le code généré un moment donné, et là on retrouve les problèmes que j'ai précédemment cité.

Alors, existe-t-il une solution qui permet de développer des applications web, avec une compilation préalable ? Et bien oui, il s'agit de Google Web Toolkit. Depuis la version 2.0 de GWT, il est possible de compiler l'HTML et le Javascript, mais aussi le CSS  et les ressources (images, textes, documents, ...).
Et même en utilisant le UI-binder, le compilateur garantie que toutes les vérifications nécessaires seront réalisées. Par exemple, si un style CSS est référencé dans un composant et qu'il n'existe pas, alors le compilateur signalera une erreur. Avec ce simple exemple, on comprend très vite que GWT permet non seulement de réaliser des applications fiables, mais aussi de manière rapide.