Préface

Table des matières

1. A qui s'adresse ce livre
1.1. Apprendre en faisant
1.2. Accès séquentiel ou aléatoire
2. Conventions d'écriture
3. Autres lectures
4. Programme de lecture conseillé
4.1. Utilisation des Forums

Nous avons créé cette technologie pour rendre possible la création d'applications web faciles à utiliser.

Tout utilisateur d'ordinateur connait la puissance d'Internet, et chaque surfeur a été impressionné à un moment ou à un autre par la richesse du Web. Mais en même temps chacun sait, même si c'est inconscient, que les applications orientées web qui fonctionnent dans un navigateur proposent une richesse utilisateur inférieure à celle des applications fonctionnant en local. Il y a quelque chose de presque rétrograde dans l'utilisation des sites web; ce sont des anomalies, comme peuvent l'être les téléphones à composition par rotation par rapport aux téléphones à touches. 

Les raisons sont connues. Et ce n'est pas parce que les graphistes web ne connaissent pas les règles d'ergonomie ou de composition graphique. C'est parce qu'ils n'ont pas eu à leur disposition les outils dont ils avaient besoin pour concevoir les experiences web qu'ils avaient imaginées.

HTML est une chose formidable; DHTML est une chose formidable. La technologie Flash de Macromedia est une chose formidable. Mais aucune d'entre elles ne permet aux développeurs de produire des expériences innoubliables à l'utilisateur, parce que toutes sont basées sur des modèles fondamentalement limités. Les variantes de HTML sont basées sur la métaphore de la "page", ce qui force les utilisateurs à traiter les informations de façon arbitrairement morcelée par des transitions brutales et des rafraichissements de pages. Flash offre la possibilité d'une navigation beaucoup plus continue, mais sa métaphore de "film" force les développeurs à laisser de côté de nombreux outils et techniques essentiels des développements de logiciels modernes.

A l'inverse, la solution OpenLaszlo a été conçue entièrement pour le développement d'applications - pas de développement par "page", pas de développement par "film" - en se basant sur des approches standard de développement. Les applications LZX sont écrites dans des fichiers XML embarquant du code JavaScript, ce qui fournit des fondations idéales pour des équipes sérieuses de développement. OpenLaszlo s'appuie sur les concepts standards de développement orienté objet et de liaison de données, et permet de grandes intéractivités sans faire appel à une conception complexe basée sur des scripts temporels.

Le résultat, ce sont des applications géniales à utiliser. Maintenant, pour vous faire votre propre opinion, nous vous suggérons d'en faire l'expérience avec cette application de e-commerce. Ce programme communique avec les serveurs de données de Amazon.com et vous permet de naviguer dans leurs produits, de créer une liste de sélection, de remplir un caddie, et ainsi de suite. Donc de bien des façons, c'est comme n'importe quel autre site d'e-commerce. Mais remarquez qu'il n'y a aucun rafraichissement d'écran, et que vous pouvez déplacer les produits en les faisant glisser avec la souris et qu'il est difficile de se "perdre". Maintenant considérez le fait que ce programme a été écrit en seulement quelques heures en utilisant un simple éditeur de texte.

Nous vous suggérons de vous amuser parmi les dizaines d'exemples ici ou sur le site web de Laszlo Systems pour vous rendre compte de ce à quoi ressemble une application Laszlo. On entend parfois parler de "clients riches" pour décrire les applications commes celles-là, et leur caractéristique est qu'ils rendent les gens heureux. Un nombre grandissant d'études montre que quand les utilisateurs sont heureux sur un site web, plus longtemps ils y restent, et sur des sites commerciaux, plus ils consomment.

1. A qui s'adresse ce livre

Ce livre est écrit pour les développeurs d'applications qui sont familiers avec les concepts de programmation orientée objet tels qu'ils peuvent être implémentés dans des langages tels que Java, C++ ou JavaScript, et avec les bases des formats de données XML.

Nous espérons également que ce guide sera accessible à des développeurs web qui connaissent HTML et les CSS mais n'ont pas encore travaillé avec des langages orientés objet, et à des développeurs et graphistes familiers avec Flash et FlashMX. Si vous en faites partie, vous pourriez avoir un peu de travail supplémentaire à fournir en dehors du cadre de ce livre, mais vous ne devriez pas avoir de difficultés à devenir un développeur LZX parlant couramment lZX. Les tutoriels sont un bon endroit pour commencer à apprendre.

1.1. Apprendre en faisant

Ce guide contient des centaines d'exemples "interactifs", c'est à dire que ce sont des applications Laszlo qui sont embarquées dans les pages. Vous aurez plus de plaisir et tirerez davantage des exemples si vous "jouez avec le code". Pour cela, cliquez simplement sur le lien "Edit" dans le coin inférieur droit de chaque exemple. Une nouvelle fenêtre apparaitra contenant un environnement suffisant pour modifier et exécuter des applications Laszlo. Editez le code des exemples et cliquez sur "update" pour voir les résultats affichés sur la partie droite de la fenêtre. Pour revenir à l'état initial du code de l'exemple, cliquez sur "Reset".

Si vous voulez sauver une copie de l'application pour une utilisation ultérieure, cliquez sur le bouton "Save As".

1.2. Accès séquentiel ou aléatoire

Les activités graphiques, de développement et de déploiement des applications Laszlo peuvent être envisagées de façon séquentielle ou aléatoire. En général, chaque chapitre s'appuie sur les concepts développés dans les chapitres précédents, mais pas (trop) sur les chapitres qui suivent. Si vous commencez au chapitre un et lisez jusqu'à la fin, vous ne serez pas perdu. 

D'un autre côté, chaque chapitre est conçu pour être encyclopédique : le chapitre sur les animations couvre entièrement le sujet des animations, et ainsi de suite. 

De petits exemples simples sont présents tout le long. De plus grands exemples leurs sont reliés.

2. Conventions d'écriture

Le code est affiché de cette façon : var a = f(2). Les plus grandes sections de code et autres informations liées sont affichées dans un paragraphe séparé :

Un exemple
qui s'affiche sur
plusieurs lignes

Les exemples de programmes sont affichés de la façon suivante :

<canvas height="20">
  <text>Hello World!</text>
</canvas>

Certains programmes exemples fonctionnent à l'intérieur de la page. L'application active est affichée la première, suivie par son code source, suivi lui-même par un bouton 'edit' qui vous permet de modifier l'application en procédant à des changement dans son code source.

<canvas height="20">
  <text>Hello World!</text>
</canvas>

3. Autres lectures

En plus de ce guide de développement, nous vous conseillons de consulter :

  • Le Manuel de Référence LZX . Cette référence dynamique avec liens hypertextes, contient une explication de chaque balise LZX et de ses bibliothèques (API). Son format sera familier aux utilisateurs de la JavaDoc(tm) ou d'autres outils similaires.

  • Le tutoriel en ligne et les exemples d'applications sur http://www.laszlosystems.com/demos fournissent un panorama intructif du langage LZX.

4. Programme de lecture conseillé

La meilleure façon d'utiliser ce guide du développeur dépend de votre expérience. 

Développeurs expérimentés en programmation orientée objet : nous vous conseillons de commencer par lire les chapitres 1, 2 et 4 de ce guide. Si vous n'avez jamais travaillé avec JavaScript, vous pouvez apprendre rapidement ses bases dans l'un des tutoriels des sites W3Schools, WVDL, ou PageResource.com. Naviguez alors à travers le site de Laszlo Systems et le site de démonstration MyLaszlo.com et jouez avec les tutoriels et les exemples de code et de programmes; en même temps que vous lisez le code des exemples, reportez vous bien au manuel de référence. De là, vous saurez de quelle autre lecture vous aurez besoin dans ce guide.

Développeurs Web/Flash sans experience de programmation orientée objet: nous vous suggérons de commencer avec les tutoriels pour avoir une idée générale de la programmation LZX. Ne vous en faites pas si vous ne maîtrisez pas les sujets qui sont couverts; votre but est de vous habituer au langage.

Si vous en avez besoin, apprenez les bases de XML.

Alors lisez la suite I, “Aperçu Général”.

4.1. Utilisation des Forums

La meilleure façon d'apprendre n'importe quel langage de programmation est de s'appuyer sur l'expérience et la bonne volonté de sa communauté de développeurs (et d'écrire du code, car comme on dit, personne n'apprendra jamais à faire du vélo en lisant des livres). La communauté de développeurs LZX se rencontre à l'adresse http://www.laszlosystems.com/developers/forums/. Vous trouverez là des discussions actives sur tous les aspects du langage et pourrez poser vos propres questions.