Que ce soit Adobe Flex, Google Web Toolkit ou Microsoft SilvertLight, ces technologies pour client riche vont bouleverser le métier cette année. Même si la prise en main de GWT est relativement facile, le souci est que l’on se retrouve à coder en Java ce que finalement nous pourrions faire en client Web classique. Même mieux, comme me disait Nicolas Romanetti de Jaxio : Pourquoi ne pas faire cela en Java Web Start ou avec des Applets au lieu d’utiliser GWT ?
Vous pouvez développer aujourd’hui 2 types d’applications. Un site web classique pour des utilisateurs tout public, pour un extranet, pour un intranet. Et vous pouvez aussi développer des logiciels complets basés sur ces technologies, ce qui est plus mon domaine. Entre la page web classique, la gestion du bouton back, des onglets du navigateurs, et une application riche embarquée dans un navigateur, il y a un monde.
Dans le monde de la finance, les contraintes en terme de temps réel sont importantes. La volumétrie des données est aussi un critère important. Il faut limiter et bien réfléchir au découpage en couche de toute l’architecture. En terme d’ergonomie, les traders doivent être les homo sapiens les plus exigeants en terme de réactivité, d’utilisation du clavier et de « ...ça doit marcher ton machin…« .
Après avoir travaillé avec GWT, un prototype .NET et Adobe Flex, je mettrai mon argent sur Flex. La technologie simple et efficace proposée pour l’échange de messages entre le serveur et le client Flex m’a complétement séduit. Si vous téléchargez BlazeDS et que justement, vous jetez un œil sur la démo « trader », vous verrez qu’il est tout à fait possible d’avoir du pseudo-temps réel sans trop d’efforts sur un poste client.
BlazeDS est un composant serveur qui fonctionne dans un conteneur de servlets et qui permet de pousser vers un client Adobe Flex ou Adobe AIR des flux de données ou des objets sérialisés. Ce serveur est open-source et distribué en licence LGPL v3.
J’ai fait quelques tests avec Flex et un chargement d’un flux HTTP avec un tag mx:HTTPService et un tag mx:RemoteObject afin de comparer les performances avec Firebugs. Le chargement via RemoteObject est 2 fois plus rapide sur la démo « testdrive-remoteobject » par rapport à la démo « testdrive-httpservice » distribué dans la version Turnkey de BlazeDS.
Vous allez m’entendre parler Adobe Flex pas mal ici dans les semaines qui viennent. J’ai fait aussi un proto avec Spring 2.5 en prenant Spring MVC, une factory particulière pour Flex et IDEA IntelliJ. Il faudrait faire un petit screencast pour vous montrer tout cela car c’est long à raconter par écrit…
Lien supplémentaire:
http://flexbox.mrinalwadhwa.com/
0 no like
Bonjour Nicolas,
est-ce que tu as activé la compression gzip sur ton serveur pour le chargement via mx:HTTPService?
Je n’ai pas testé avec la compression gzip. Je regarderai aussi le volume des données échangés, je pense que via HTTPService en effet cela doit être plus lourd que directement avec un objet serialisé.
Bonjour Nicolas,
Et merci pur ton blog toujours très instructif.
Puisque tu évoque Flex et que tu as l’air d’être un adepte de Seam, as-tu un avis sur Flamingo qui permet d’intégrer Flex à Seam ? J’hésite à démarrer un projet sur ces technos et ton avis de Seamer Flexien serait le bienvenu.
Bonjour,
bravo pour ce blog fort instructif et de qualité,
En parlant de flex, c’est quand meme marrant d’avoir pour affiché un simple écran pour interagir avec l’utilisateur, qu’il faille un OS ( difficile de le contourner ) , un navigateur ( juste pour trouver une ressource distante , il semble qu’il ne sache pas interragir directement avec l’utilisateur, ) et maintenant un plugin flash 🙂
A quand le plugin du plugin pour le bouton droit ?
Tous ca pour faire des ecrans non indexable par les moteurs de recherches, pas de recherche textuelle dans la page, ergonomie réinventée dans chaque application .
franchement , j’ai des doutes. Sans parler de l’usine à gaz coté serveur.
ohnerom > il y a beaucoup de choses qui ont changé.
Le contenu Flash est indexé par Google
http://googleblog.blogspot.com/2008/06/google-learns-to-crawl-flash.html
Adobe Flex propose une version qui fonctionne en client seul sans le besoin d’avoir un navigateur. C’est Adobe AIR.
Quant à la partie usine à gaz, Adobe Flex marche aussi tres bien avec du PHP, du .NET ou du Perl pour la partie serveur. Seulement le moteur BlazeDS d’Adobe donne de meilleures performances sur l’échange de données et pour cela, nécessite un serveur de servlet comme Tomcat
Antoine Sabot-Durand> Merci pour l’info je ne connaissais pas. Cela m’intéresse, étant fan de Seam par ailleurs.
Bonjour, effectivement , il semble qu’il y ait qqc pour indexer.
Il reste que je connais pas un poste client sans navigateur, donc déployer Air , c’est un plugin « autonome ».
L’usine à gaz reste une usine à gaz , avec PHP, JAVA, ou .NET.
Enfin, je caricature pour forcer le trait. Mais ca me semble de l’artilerie lourde , à developper , configurer ( faut voir en mode authentifié 🙂 ) , à maintenir pour des interfaces qui n’apporte pas grand chose. Autent faire du client « riches » avec ajax.
exemple : google maps.
Je veux pas débattre par principe. Ca me fait penser au biocarburant, pas besoin de m’en servir pour comprendre que c’est a grande echelle une « aberration » 🙂
Cordialement,
Bonjour,
Merci pour ces infos intéressantes. En revanche, je n’ai pas compris pourquoi est-ce un souci de coder en Java ce qu’on pourrait faire en web classique, je voyais ça plutôt comme un avantage 🙂
Bonjour,
Très bon blog. Adepte de Flex j’ai développé un portail de trading en GWT en prod depuis plusieurs mois. c’est pas mal non plus.
Si je devais donner un pronostique de quelle techno est en avance aujourd’hui d’un œil objectif je dirais Adobe.
GWT est excellent, le problème est dès que l’on veut faire ces propres widgets qui existent en natifs sur Flex. On tombe desuite dans des heures de vérification de compatibilité de browser. Ce qui tue les coups des projets et fait l’affaire des prestataires de services. Perso je préfère aller produire plus vite et proposer pour le même temps des nouvelles fonctionnalités novatrices et alléchantes pour les clients qui leur permet d’être au dessus de la concurrence que de passer des heures sur de la compatibilité inutile.
Bravo pour le blog en tout cas. Net et précis.
Luciano