Technologie riche #3 : XUL

dimanche 19 novembre 2006

Suite de cette série d'articles sur les technologies riches avec la solution XUL (prononcez zoul).

Présentation

XUL est un langage de description d'interfaces graphiques. Bien évidemment, il est basé sur le XML. C'est un projet mené par la fondation Mozilla depuis longtemps (époque de Netspace 6).

Le principe

XUL est donc un langage de description d'interface, et c'est celui utilisé par exemple pour décrire Mozilla et Firefox. En effet, Mozilla et Firefox intègrent le moteur de rendu Gecko, appellé maintenant NGLayout. Ce moteur est très respectueux des standards W3C, et l'on se doute bien que XUL l'est aussi. Le XUL est donc un fichier XML interprété par un moteur de rendu : XULRunner ; directement inclus dans Mozilla et Firefox, ce n'est pas le cas sur les autres navigateurs. On trouve donc d'autres applications spécialement conçues pour utiliser le XUL. Le langage d'interaction utilisé derrière XUL est le Javascript.

exemple d'interface r�alis�e avec XUL
Exemple d'interface réalisée avec XUL

Les outils

Un simple éditeur de texte suffit à écrire les fichiers XUL qui ne sont que du XML. Pour afficher ensuite les interfaces, il vous faut un moteur de rendu, soit directement intégré dans un navigateur (Mozilla ou Firefox), soit avec XULRunner de la fondation Mozilla. Bien qu'il n'existe pas un IDE de référence pour développer du XUL, on trouve tout de même Xul Dev ou XulBooster. N'hésitez pas à vous rendre sur le site pour tout renseignement complémentaire. Il est à noter que tous ces logiciels sont gratuits.

Les exemples

Voici quelques exemples d'applications développées avec XUL (moteur de rendu XUL nécessaire !) :

  • Des tonnes de jeux en XUL : modes deux joueurs inclus, etc.
  • L'ensemble des composants XUL : avouez-le, ça vous fait penser à Firefox !
  • SongBird, un media-player sur votre bureau. Regardez la vidéo : c'est une tuerie ! On peut évidemment lire les mp3, mais aussi surfer sur le web, etc.
  • Joost, la télévision haute qualité en peer-to-peer
Song Bird !
Song Bird : cela vous fait pensez à iTunes ?

Les points forts

XUL a de très nombreux points forts : il est entièrement libre et gratuit, de même que tous les outils qui l'accompagne. Respectueux des standards W3C, il produit des interfaces graphiques très complètes comme l'on peut le voir avec Firefox ou SongBird. Bien qu'il ne présente pas la richesse graphique de Flex ou de WPF, XUL reste une solution avec des composants variés. Axé sur du Javascript, ses possibilités sont nombreuses. Un de ses plus gros avantages concerne également la gestion du format RDF pour gérer des gabarits par exemple et ce sans efforts.

Liens, pour en savoir plus

Récapitulatif

Entièrement gratuit et soutenu par la fondation Mozilla, XUL permet de créer des client riches déjà très utilisés (ne citons que Firefox). Il propose de nombreux avantages, mais soulève tout de même certaines interrogations : la richesse graphique de ses composants n'est elle pas limitée ? XUL arrivera t'il à sortir son épingle du jeu chez Mozilla qui se concentre sur son produit phare : Firefox ? En voyant les applications XUL qui nous sont proposées, on peut en tout cas y croire très fortement !

On parle déjà du Web 3.0

samedi 18 novembre 2006

Le phénomène web 2.0 encore en plein essor, voilà qu'aux Etats-Unis, on se met déjà à parler du Web 3.0... Je suis tombé tout à l'heure sur un article du New York Times dans les cahiers du Monde, qui parlait justement de l'avenir du web. A la Une, un utilisateur devant son laptop (un mac ;) vraisemblablement) et tout une tonne d'outils connectés : ventilateur, chargeur de portable, masseur... et même un couteau suisse ! Tout ceci est très joli, mais pas tellement en relation avec le sujet. Je vais donc vous résumer cet article très intéressant, de John Markoff du NYTimes.

Actuellement sur Internet se trouve des milliards de documents, pas forcément reliés les uns aux autres. Pour atteindre un nouveau palier sur le web, il faudrait y ajouter un certain niveau d'intelligence artificielle qui, avec la puissance des futures machines, réussiront à "comprendre" une partie de l'intelligence humaine et donc ainsi répondre à des questions via un raisonnement et plus seulement une proposition de certains choix. Le web du futur pourra donc prévoir des bons coups financiers, organiser vos journées, etc. Il ne s'agira plus d'un "catalogue" offert aux utilisateurs mais d'un "guide" qui les ménera à leur réponse. Ainsi le Web 3.0 est appelé le "Web sémantique" : celui qui extrait de l'information et du sens aux données trouvées sur le net, pour les manipuler via un raisonnement.

La suite de l'article traite d'une société cherchant justement à mettre en commun des données pour en retirer des informations pertinentes, c'est à dire à devenir l'un des pionniers de ce web 3.0. On remarque aussi qu'apparrement, des chercheurs aimeraient mieux créer une nouvelle structure pour suppléer le web et gagner en efficacité, tandis que des commerciaux pencheraient pour la création de nouveaux outils permettant d'extraire du sens de l'actuel Internet. Un beau débat en perspective ! Enfin, on commence à noter les premiers prémices d'un web sémantique, notamment par le biais des tags que l'on trouve sur technorati ou flickr par exemple.

En somme un article très intéressant, entourés d'autres, notamment sur le CEO (Chief Executive Officer) de Facebook et sur le nouveau service : like.com. Les américains ont une actualité web bien plus chargée que nous ! :)

Voilà une question qui me trotte dans la tête en ce moment : au milieu de ces nouveaux services web, lesquelles utilisez vous vraiment ? Voici ma liste...

  • YouTube : souvent !
  • Dailymotion : moins, mais quand même un peu.
  • Gmail : celui que j'utilise le plus.
  • LinkedIn et Viaduc pour les réseaux sociaux professionnels.
  • Radio Blog Club pour la musique !
  • Google Reader pour la syndication. Mais aussi notebook, Analytics, etc. chez l'ogre Google !
  • Wikipédia, un service que j'apprécie énormément. Quand j'y vais, j'y reste des heures...
  • Je pourrais également ajouter énormément de blog ou de sites thématiques qui se rapprochent de l'esprit 2.0, mais je mets quand même quelques frontières...

Et en faisant cette liste, je m'aperçois que je n'utilise jamais une tonne de sites 2.0 que je connais pourtant : Jamendo, Delicious, Flickr, Netvibes, Wikio, Myspace, Skype, et bien d'autres... Si je m'en rappelle, je corrigerais !

Et vous, quels services web 2.0 utilisez-vous ?

Suite de cette série d'articles sur les technologies riches avec la solution open source OpenLaszlo.

Open Laszlo
OpenLaszlo

Historique

A l'automne 2001 est lancé le projet LPS (Laszlo Presentation Server) qui, dès 2002, aboutit sur une première version. En 2003, LPS se développe et apparait dans certaines applications (Yahoo, Earthlink). En 2004, le projet offre une seconde version et le projet devient open source. En 2005, le projet change de nom pour s'appeller OpenLaszlo et sort la troisième version de sa plateforme. Enfin, début 2007, OpenLaszlo sort en version 4, dernière à ce jour.

Présentation

OpenLaszlo est une plateforme de développement d'applications riches. Projet open source, cette plateforme est présente depuis 6 ans et a donc une implantation plus grande que ses concurrents. Ses applications sont développées via une solution qui produit par la suite des applications lisibles avec Flash Player.

Le principe

Comme de nombreuses technologies riches, le principe d'OpenLaszlo est de décrire des interfaces via un langage basé sur une grammaire XML, appelé le LZX, et un langage de script pour décrire les actions et événements, le Javascript. Le serveur Laszlo peut être utilisé pour compiler directement le code et fournir une application dynamique. Ce serveur est basé sur la technologie Java, en l'occurence une servlet. Tout ceci présente certains avantages, comme la non dépendance à un système d'exploitation. Un autre moyen est de pré-compiler l'application vers un fichier swf : il ne sera alors plus possible d'interagir avec des Web Services par exemple. Le choix de la technologie Flash s'est imposé au vu de la qualité des interfaces produites, mais ceci pourrait changer à l'avenir. Le principe du SDK est présenté ci-dessous : le code source est compilé, produit un binaire qui est interprété par la servlet d'OpenLaszlo qui envoie la réponse au requêteur.

principe d'OpenLaszlo
Principe d'OpenLaszlo.

Il est à noter que depuis sa sortie en version 4, OpenLaszlo peut aussi générer la même application en DHTML (HTML, CSS et Javascript) et ce sans modification du code !

Les outils

Il n'existe pas réelement d'outil pour développer en LZX. Le code source peut être écrit avec votre éditeur de textes favori (NotePad ?) puis compilé avec le SDK d'OpenLaszlo disponible gratuitement.

Les exemples

Voici quelques exemples d'applications développées avec OpenLaszlo :

Les points forts

De par son ancienneté (version 4), OpenLaszlo propose une architecture éprouvée. Open source et gratuit, il profite également d'autres avantages : multi plateformes et simple de prise en main grâce à une grammaire XML. Les applications créées ont une vraie richesse et l'on retrouve tous les nouveaux comportements : drag'n'drop, menus déroulants, effets, etc.

OpenLaszlo se pose donc comme une solution gratuite et open source de création d'applications riches. On peut aussi le considérer comme une alternative à Flex pour ce qui est de générer des fichiers Flash.

Liens, pour en savoir plus

Récapitulatif

Solution open source de création d'applications riches, OpenLaszlo propose depuis longtemps une structure simple et gratuite. Mais on peut se poser la question de son évolution et de sa capacité face aux grosses écuries (Adobe, Microsoft, Mozilla). Depuis sa version 4, OpenLaszlo semblerait vouloir s'ouvrir vers d'autres plate-forme comme les mobiles et en ne proposant pas forcément une compilation en Flash mais aussi en DHTML.

Rechercher