Accueil Nos publications Blog Introduction au RIA avec Openlaszlo

Introduction au RIA avec Openlaszlo

Vous connaissez Flex ? Et bien c’est le même principe avec Openlaszlo !
Mais pour ceux qui ne connaissent pas Flex, faisons un rappel rapide. Adobe Flex est une technologie permettant de concevoir des applications RIA (Applications Internet Riches) avec une certaine facilité et efficacité.
Elle intègre dans ses bibliothèques des composants configurables, ainsi qu’un ensemble de layouts très utiles pour disposer ces composants sur la scène. Son langage de programmation est basé sur du XML et de l’ActionScript. C’est en quelque sorte une surcouche d’Adobe Flash, facilitant la vie aux développeurs.

Revenons maintenant à Openlaszlo. C’est aussi une technologie de développement d’applications RIA ! Elle est assimilable à Flex dans son mode de fonctionnement, puisqu’elle repose sur du XML et de l’ECMAScript (ActionScript ET Javascript), mais est totalement libre (CPL open source license) et permet très simplement de choisir le type d’application souhaité :

  • binaire SWF (fichier Flash)
  • HTML5/Javascript

Comment ça marche ?

Installez l’environnement d’Openlaszlo ; un serveur tomcat sera installé et pré-configuré pour accueillir vos applications Openlaszlo.
Développez ensuite simplement votre application via un éditeur de texte ou un IDE comme NetBeans (il existe un plugin Openlaszlo 🙂 ), et déposez vos fichiers dans le répertoire web du serveur tomcat installé.

Pour compiler votre application, ouvrez votre navigateur puis entrez l’adresse afin d’accéder à votre fichier contenant le “canvas” de votre application. A partir de là, vous pourrez choisir le type de compilation que vous souhaitez : Flash 9, 10 ou Html5/Javascript.

L’Architecture du code

C’est un langage objet avec une approche évènementielle, on y retrouve de ce fait un main (le canvas), des classes, de l’héritage, et des évènements.
Tout commence dans le canvas déclaré ainsi :

<canvas> </canvas>

A l’intérieur de celui-ci, vous pouvez instancier des classes qui s’exécuteront au fil des évènements (oninit, onconstruct, onmousedown…).

Exemple simple

Fichier MaClasse.lzx

<library>
  <class name="MaClasse" extends="view">
   <handler name="oninit" method="handleOnInit"/>
    <method name="handleOnInit" args="event=null">
       //Code Ecmascript
      this.champ1.value = "Hello, je suis instancié";
    </method>
    <simplelayout axis="y"/>
   <text id="champ1"/>
 </class>
</library>

Fichier MonApplication.lzx

<canvas>
  <MaClasse id="maClasse1"/>
</canvas>

Quelques exemples d’applications

L’avenir d’Openlaszlo

Son avenir est assez flou. De bonnes choses sont en cours de développement (et même déjà fonctionnelles) comme le support mobile, avec la gestion des évènements tactiles notamment, mais l’activité des développeurs semble ralentir malheureusement.

Liens utiles