Odelia>Technologiesbeta

Applications web riches avec OpenLaszlo

| |

Le projet Open Laszlo permet de construire des applications web riches ; cette richesse, pour les applications web qui ont besoin d'offrir le niveau d'interactivité des applications autonomes à base d'interfaces graphiques, est bien démontrée sur la page Laszlo Demos de ce projet.

Techniquement, les pages lues par le navigateur internet du client incorpore des fichiers Flash .swf qui, selon le mode de déploiement du projet, sont générés dynamiquement ou bien servis de manière statique (fichiers pré-compilés).

En effet, Open Laszlo utilise le langage propriétaire LZX pour écrire la partie cliente, ce qui demande ensuite une compilation pour produire un fichier Flash ; LZX est un langage objet en XML qui sert à la fois à décrire l'interface utilisateur, mais aussi à définir le comportement des objets au moyen de codes JavaScript.

Il est aussi possible décrire des applications de base de données, les données échangées entre le client flash et la partie serveur étant au format XML (les données sont compressées).

Depuis une page web, un client peut donc soumettre des données au moyen d'un formulaire, vers une URL donnée, laquelle peut renvoyer un document XML dont les données pourront être utilisées dans la partie flash (via un mécanisme puissant de liaison de données).

Open Laszlo a donc des fonctionnalités de type AJAX, qui permettent des rafraîchissements partiels d'une page web : ici c'est l'objet flash qui peut se mettre à jour en fonction des réponses du serveur.

Dans ce mécanisme, toute technologie qui permet de produire un document XML peut être employée : JSP, ASP.NET, Cocoon, PHP, etc.

Voici un simple exemple de ce qu'il est possible de réaliser avec OpenLaszlo ; il s'agit d'un visualisateur d'images que nous avons développé, et comportant des contrôles vous permettant de naviguer entre les images (le défilement peut aussi se réaliser au moyen des touches fléchées gauche et droite) :

Exemple d'application OpenLaszlo

balises dans Langages et systèmes

AJAX cajo Camel DSL Grails Groovy Java JBI prefuse RSS ServiceMix SOA