Silverlight & Flex : Au coeur des RIA
Présentation
Introduction
Nous allons maintenant nous intéresser aux deux grands concurrents actuels du marché des RIAs qui sont Silverlight et Flex. Pour commencer, nous allons vous les présenter, vous citer leurs caractéristiques ainsi que la manière dont on les utilise.
Silverlight
Présentation :
Silverlight est le produit RIA de Microsoft. La 1ère version est apparu en Mars 2007 et la dernière version stable actuellement (mars 2010) est Silverlight 3. A noter qu'actuellement, il y a Silverlight 4 qui est en phase bêta. La license est propriétaire et les principaux IDEs utilisés sont Visual Studio qui est axé développeur et Blend qui est plutôt axé designeur. Les langages utilisés sont le XAML pour ce qui est de la description de l'interface graphique de l'application et le .NET (C#, VB.NET, J#,...) pour ce qui est de la logique métier.
A noter que l'intérêt de Silverlight est de capitaliser un maximum sur l’écosystème .NET. En effet, les .NETistes vont retrouver un maximum de concept qu’ils connaissent déjà puisque le XAML est le langage actuellement utilisé pour définir les interfaces des clients lourds et les langages .NET sont les langages habituellement utilisés pour décrire le traitement métier de l'application. Ceci est donc un point fort dans l’argumentation de Microsoft vis-à-vis de l’adoption de Silverlight
Support :
Outils :
Pour ce qui de l'ensemble des outils nécessaires à Silverlight, de sa création à son utilisation, nous avons :
- Création : Cette phase est celle où l'on conçoit l'application. Les logiciels concernés sont Visual Studio (ou bien même Eclipse) pour ce qui est de la création de la logique métier et la suite Blend pour ce qui est de la description de l'interface graphique ;
- Distribution : Cette phase concerne la moyen de fournir l'application aux utilisateurs voulant l'utiliser. Il est ici possible d'utiliser n'importe quel type de serveur tel que Windows Server, Apache ou bien Tomcat, etc. En effet, il est important de savoir que l'application Silverlight n'est non pas hébergé sur un serveur mais distribuer par le serveur. En effet, l'application ne tourne pas sur le serveur mais sur le poste client ce qui a pour avantage un gain de rapidité (moins d'aller-retour serveur) ainsi qu'un gain de maintenabilité (pas besoin de gérer le serveur) ;
- Utilisation : Cette dernière phase est celle qui va permettre d'utiliser l'application. Ici, l'utilisateur a simplement besoin d'avoir le plugin Silverlight installer sur sa machine et un navigateur compatible afin de pouvoir utiliser l'application.
Flex
Présentation :
Flex est un framework Open Source gratuit qui permet de créer des applications web ultra-interactives et expressives se déployant de manière identique sur la plupart des navigateurs, postes de travail et systèmes d'exploitation. Il est apparu en 2004 et a ensuite été repris par Adobe en 2006. Flex utilise Flex Builder / Air pour ce qui est du développement de l'application et est sous licence propriétaire / libre. Il offre un modèle de programmation évolué qui repose sur des langages standard et gère les modèles de conception courants. MXML, langage déclaratif basé sur XML, sert à décrire l'agencement et le comportement de l'interface utilisateur tandis que le langage de programmation orienté objet ActionScript® 3.0 est employé pour la création de fonctions de traitement côté client. La dernière version stable est la 3 et une bêta est en cours (version 4).
Support :
Tout comme Silverlight, Flex dispose d'un plugin, en l'occurence le plugin Flash, afin de pouvoir utiliser l'application. Celui-çi existant depuis beaucoup plus longtemps que celui de Microsoft, il a l'avatange de tourner sur beaucoup plus de plateformes et navigateurs. Ainsi, les applications Flex sont compatibles sur la quasi-totalité des plateformes et navigateurs.
Outils :
Le schéma ci-dessus représente bien l'ensemble des outils utilisés pour faire du Flex. Pour explication, on a :
- Couche "Applications" : Des exemples d'application fait en Flex ;
- Couche "Designer/Développeur" : On a la Creative Suite pour ce qui est de la description graphique et Flex Builder pour ce qui est de la logique métier ;
- Couche "Clients" : On a Adobe AIR pour l'exécution d'application type RDA (cf la partie RDA) et Adobe Flash Player pour les applications RIA ;
- Couche "Frameworks" : On a Ajax et Flex. Pourqui Ajax !? Tout simplement parce Action Script 3 suis des normes qui sont également suivi par Ajax d'où une compatibilité ;
- Couche "Servers/Services" : On a un ensemble d'outils sur lequel Flex peut communiquer tel que LiveCycle (automatisation des processus), ColdFusion (qui est ce que Dreamweaver est au HTML), FlashMedia (pour le stockage et l'utilisation des flux média), etc.