Silverlight & Flex : Au coeur des RIA

Description du code

Introduction

Cette partie va décrire la façon dont on écrit du code en Silverlight et Flex.

Silverlight

Les applications Silverlight sont développées via du code .NET pour la logique métier et du XAML pour l'interface graphique.

Le langage .NET
Silverlight utilise un sous-ensemble du framework .NET. Cela permet alors l'apport de nombreuses fonctionnalités intéressantes tel que les Generics (permet d'éviter le transtype), l'utilisation du LINQ (langage de requêtage objet mais aussi XML, SQL, etc.) et encore de bien nombreuses fonctionnalités. De plus, cela permet aux développeurs d'utiliser les différents langages qui sont .NET-compliant comme le C#, le VB.NET, le J# mais aussi le IronPython ou le IronRuby.

Le langage XAML
XAML signifie "eXtensible Application Markup Language". C'est un langage déclaratif basé sur du XML permettant de définir une hiérarchie d’objets graphiques. Il est assimilé à un langage objet où les balises deviennent des objets et les attributs des propriétés. A noter que les balises prédéfinies du langage représentent des classes .NET.
Ce langage apporte un gain de productivité et de maintenance de par sa simplicité d'utilisation et de compréhension. L'unique problème est qu'il est "uniquement Microsoft" et qu'il est assez verbeux.

Hello World!
Voici un exemple de code XAML permettant de réaliser un Hello World :


Hello World en XAML

Flex

Le language ActionScript
ActionScript est le langage de programmation utilisé au sein d'applications clientes (Adobe Flash, Adobe Flex) et serveur (Flash media server, JRun, Macromedia Generator). ActionScript est un langage de script, orienté objet et prototype, basé sur ECMAScript (conforme à 100% avec la norme ECMA-262, révision 3, depuis ActionScript 3.0). ECMAScript étant une version standardisée de JavaScript, ActionScript et JavaScript partagent une syntaxe semblable.
Ce langage permet d'ajouter de l'interactivité aux animations Flash, en répondant aux actions de l'utilisateur, et en pilotant les movie clip (conteneurs graphiques permettant de hiérarchiser les animations), et les différents objets multimédias (images, son, vidéo…).
Il permet également la communication de l'application avec le serveur, notamment par le chargement de fichiers ou la communication avec un langage serveur comme le PHP.

Le language MXML
Le MXML est un langage créé par Adobe/Macromedia comparable au XAML ou au XUL basé sur le format texte XML. Ce langage est une surcouche de l'AS3 utilisé par le compilateur du SDK de Flex3 et qui permet aux utilisateurs de développer rapidement des contenus intéractifs basés sur une animation au format swf sans se soucier réellement du code complexe nécessaire pour le mettre en place. Il est possible d'utiliser dans un format MXML des feuilles de styles, des composants, du code au format AS3, etc. Il est bien entendu possible d'utiliser du code ActionScript 3 en parallèle d'un fichier MXML.
Pour le moment le MXML utilise surtout les composants développés par Adobe, mais si vous le désirez il est possible de créer totalement votre propre Framework de composants (en considérant que cela entraine vraiment beaucoup de travail …)
Le langage MXML possède donc de nombreuses balises pour chaque composant et outil disponibles dans le framework mx de Adobe. Je ne vais pas rentrer dans le détail de toutes ces balises et de tous les composants disponibles car vous pourrez prendre un peu de temps pour regarder de plus prêt la référence de Flex3 à ce sujet.

Hello World!
Voici un exemple de code MXML permettant de réaliser un Hello World :


Hello World en MXML