Tags:
create new tag
, view all tags

Openlaszlo

Introduction

Openlaszlo est une plateforme de développement (framework) open source pour applications Web RIA. Les applications développées avec Openlaszlo se basent sur une grammaire XML appelée LZX. Il s'agit en fait d'une description XML et Javascript permettant de construire rapidement une interface graphique (cf principe de XAML). Openlaszlo peut alors soit déployer l'application dans un servlet java traditionnel (dans ce cas le code LZX est compilé et envoyé au navigateur dynamiquement par le servlet, on parle de déploiement Proxy), soit compiler le code LZX en DHTML ou dans le format binaire propriétaire Flash SWF (déploiement SOLO).


Compatibilités

Openlaszlo permettant de générer aussi bien du Flash que du DHTML, on peut considérer les applications qu'il produit comme multi-os et multi-navigateur. En effet, le player flash serait disponible sur plus de 95% des postes clients (sachant qu'il est compatible Windows/Linux/MacOS/Solaris sur les navigateurs les plus populaires), et moins de 10% des internautes désactiveraient le Javascript.


Outils de développement

Le framework Openlaszlo est disponible sur les plateformes Windows 2000/XP/Vista, Unix/Linux, et Mac OS X. Un éditeur de texte tout simple est suffisant pour développer. Un éditeur de code est par ailleurs mis à disposition lorsqu'on installe la plateforme de développement (et disponible à cette adresse : http://localhost:8080/lps-4.0.11/laszlo-explorer/index.jsp), mais il ne sert qu'à tester quelques lignes de code et s'avère vite limité. Mais il existe un plugin nommé laszloIDE (en association avec le plugin WTP) pour Eclipse (multi-plateforme), qui permet de profiter des avantages d'un IDE tels que la coloration syntaxique ou encore l'auto-complétion du code.


Principe de fonctionnement

Développer en Openlaszlo revient à utiliser un langage à balises, LZX, dont la syntaxe est proche de celle du XML, qui incorpore du Javascript (implémentation du standard ECMA-262), et qui permet de générer un rendu graphique. Le développement se fait donc de manière relativement simple. Ensuite, il suffit d'exécuter le fichier LZX sur le serveur de Openlaszlo : le code est compilé et affiché dans le navigateur. Une interface est alors chargée à la suite de l'animation que l'on vient d'exécuter, permettant de choisir le « type de sortie » (c'est-à-dire sous quel format nous voulons que notre application soit générée : SWF ou DHTML (html+javascript+css)), ainsi que le mode de déploiement :

  • Proxy (ou serveur) : le serveur Laszlo est une application Java (un servlet) qui s'exécute dans un conteneur de servlets J2EE (Tomcat). Les applications Openlaszlo écrites en LZX sont donc compilées par le serveur Laszlo. Ainsi, lors d'un appel au serveur par un navigateur Web, le code LZX est compilé à la volée, et envoyé au navigateur. Le fichier LZX reste donc tout le temps sur le serveur, et le format de sortie de l'application est déterminé par les paramètres passés dans l'URL d'appel au fichier.
  • SOLO (ou standalone) : Openlaszlo s'occupe de générer, à partir du fichier LZX, soit un unique fichier portant l'extension SWF (format Flash), soit un ensemble de fichiers HTML/Javascript/CSS (format DHTML).

Le serveur Laszlo fait donc office de compilateur, mais est également un transcodeur de médias, un gestionnaire de données, et un gestionnaire de connexion permanente :

  • transcodeur de médias : il convertit tout un ensemble de types de médias en un format unique qui puisse être interprété par le système d'affichage du client. Cela permet aux applications Openlaszlo d'afficher les types de médias supportés d'une façon unique dans une fenêtre commune, sans faire appel à des applications externes ou interpréteurs supplémentaires.
  • gestionnaire de données : il est constitué d'un compilateur de données qui convertit toutes les données en un format de données binaire compressé, lisible par les applications Openlaszlo, et d'un ensemble de connecteurs qui permettent aux applications Openlaszlo de récupérer des données via XML/HTTP. Les applications Openlaszlo peuvent ainsi s'interfacer sur le réseau avec des bases de données, des services Web XML, et des fichiers ou exécutables sur des serveurs Web.
  • gestionnaire de connexion permanente : il gère les authentifications et un système de messages temps réel pour les applications qui en ont besoin. Il fournit un système de messagerie et d'avertissement temps-réel, par envoi de données avec HTTP.

Toutefois, il existe quelques différences provoquées par le choix du mode de déploiement : des applications SOLO sont plus facile à déployer (il est plus facile de mettre en place un serveur PHP par exemple qu'un serveur Tomcat) et ont parfois de meilleures performances, notamment au niveau du temps de chargement. Toutefois, les fonctionnalités propres au serveur Laszlo (décrites précédemment) ne seront pas disponibles avec le mode SOLO. Le déploiement Proxy permet, en plus, la gestion d'un cache qui contient les versions récemment compilées des applications pour que des demandes suivantes n'aient pas besoin d'attendre la compilation.

Lorsque l'application est de type Client/Serveur, il est possible d'utiliser les langages courant (de type PHP, ASP, ...) côté serveur. Les échanges entre le client et le serveur se font sous la forme de données XML et le protocole HTTP (GET, POST, XML-http-Request, SOAP,XML-RPC).


Ses avantages

  • yntaxe proche du XML (et simple)
  • Utilisation de « Standards » reconnus (XML/Javascript)
  • Réduit les erreurs de programmation Javascript
  • Le serveur Laszlo peut communiquer avec d'autres serveurs et sources de données en utilisant un grand nombre de protocoles
  • Choix du type de sortie
  • S'exécute dans des environnements multi-plateforme (non dépendance à un système d'exploitation due à Java)
  • Accessibilité : supporte (en partie) la spécification MSAA (Microsoft Active Accessibility)1
  • Les applications s'exécutent sur le poste client dans le sandbox du lecteur Flash (si format SWF)
  • Supporte le protocole sécurisé SSL
  • Architecture du client Laszlo est constituée de la bibliothèque ORL (Openlaszlo Runtime Library) : fournit des services temps-réel et un système de rendu pour visualiser les graphismes 2D et faire entendre les sons
  • Gestion d'un cache (si déploiement Proxy)
  • Interactions avec des Webservices (si déploiement Proxy)
  • Richesse des comportements (drag'n'drop, menu déroulant, effet, ...)
  • Ancienneté (projet lancé en 2001)
  • Stabilité
  • Solution gratuite et Open Source
  • Se tourne vers des supports mobiles (Orbit)
  • Supporte le streaming
  • Documentation officielle interactive est très intuitive avec des exemples concrets
  • Le support de SUN et IBM

MSAA1 : Ensemble de règles de graphisme définies par Microsoft, qui permettent aux développeurs de rendre les applications fonctionnant sous Windows plus accessibles à beaucoup de personnes ayant des capacités visuelles, auditives ou motrices réduites.


Ses inconvénients

  • Pas de prise en charge des classes en Actionscript (pas de possibilité de reprendre du code développer en Actionscript)
  • Temps de compilation plus long sous Windows que sous Linux
  • A du mal à s'imposer sur le marché
  • L'intégration XML/Javascript à la plateforme Flash est moins performante que celle du MXML/Actionscript (technologie Flex)
  • Peu de réactivité de la communauté officielle


Exemples

  • http://www.laszlosystems.com/calendar/calendar.html
  • http://www.laszlosystems.com/lps/my-apps/travel


Liens utiles


Sources

  • http://www.misterpatate.fr/blog/cest-quoi-open-laszlo/
  • http://www.openlaszlo.org/documentation/
  • http://www.interfaces-riches.com/index.php/2007/05/21/sun-offre-orbit-a-openlaszlo-et-lui-ouvre-la-voix-des-applications-mobiles/
  • http://www.vbview.net/technologies__publications/technologies_ria__comparatif_flex/openlaszlo.html
  • http://en.wikipedia.org/wiki/OpenLaszlo
  • http://www.laszlodev.fr/
  • http://www.journaldunet.com/developpeur/tutoriel/fla/0607-open-laszlo/0.shtml
  • LaszloWhitePaper (fichier pdf)


Topic attachments
I Attachment Action Size Date Who Comment
PDFpdf LaszloWhitePaper.pdf manage 526.2 K 2008-04-11 - 10:03 UnknownUser Documentation officielle sur Openlaszlo
Topic revision: r4 - 2008-04-21 - CedricCapoulun
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback