Flex vs. Silverlight - Concepts et historiques
Avant de commencer la comparaison proprement dite de Flex et de Silverlight, il est peut être intéressant de faire un petit point sur le concept de RIA (Rich Desktop Application). Sans aller trop loin dans les définitions, l’idée générale des RIA est d'offrir une expérience utilisateur riche au sein d’un navigateur Web. Une autre manière de le dire serait: "donner à l’utilisateur l’impression qu’il utilise un client lourd (une application "installée" sur son ordinateur) sans l’obliger à quitter son navigateur". Les RIA permettent donc de déployer un applicatif client-serveur sans aucune intervention de l’utilisateur (quand les pré-requis de son ordinateur sont respectés). Pour creuser le sujet des concepts de RIA (et RDA), je vous recommande cette série de 3 articles qui m'ont inspiré pour cet article.
Un bref historique
Bien comprendre les enjeux de Flex et de Silverlight c'est également connaître l'historique de ces deux technologies.
Flex
Pour Flex, l'histoire commence avec la société Macromedia qui en 2004 propose sa version 1.0 de Macromédia Flex Server. La cible est alors clairement définie: fournir une plateforme de développement (Flex) permettant de créer des applications compilées sur le serveur en SWF (c'est-à-dire en Flash).
En juin 2006, Adobe a racheté Macromédia depuis un an et fait largement évoluer la ligne de produit Flex. Le SDK Flex 2 devient disponible gratuitement, l'IDE (Flex Builder) change d'architecture et tourne désormais sur la plateforme Open-Source Eclipse. La version Professionnelle de Flex Builder apporte de nombreux nouveaux composants comme le Flex Charting. ActionScript, le langage de programmation de Flex passe en version 3.0 et impose du même coup le passage au plugin FlashPlayer 9.
En février 2008, Adobe lance la version 3.0 qui correspond à l'arrivée d'un nouveau SDK Flex 3 et surtout l'apparition de la version 1.0 d'AIR. Cette dernière est la solution de RDA (Rich Desktop Application) proposée par Adobe pour permettre l'exécution d'une application MXML + ActionScript (Flex) en dehors d'un navigateur. La version 3.0 de Flex Builder, toujours basée sur Eclipse permet désormais de développer des applications Flex et AIR.
Silverlight
Silverlight a vu le jour officiellement fin 2007 avec une version 1.0 qui a été loin de convaincre les développeurs. Basé sur JavaScript, AJAX et le langage de balises XAML, tout le code behind était écrit JavaScript.
En octobre 2008, la version 1.1 beta change de nom et Microsoft sort une version 2.0. Cette nouvelle version marque alors le véritable début de l'adoption de la technologie Silverlight. Techniquement, beaucoup de choses ont évoluées avec notamment le support de code managed en .Net. Le plugin Silverlight devient une version allégée du runtime .Net (CLR) et peut accéder à une partie restreintes des ressources locales de machines, un stockage local isolé et des fonctionnalités multimédias (streaming vidéo progressif, deepzoom, …) offrant alors de véritables perspectives pour les développeurs. La version 2.0 marque également l'intégration beaucoup plus étroite avec les autres technologies Microsoft comme LINQ, ADO .Net, WCF ou encore WPF.
En juillet 2009, la version 3.0 de Silverlight est disponible et apporte de nombreux nouveaux composants d'inteface, des fonctionnalités avancées de transformation 3D et de manipulation des bitmaps. Cette dernière version de Silverlight optimise également des multiprocesseurs et des accélérateurs matériels de la machine. Enfin, depuis cette version 3.0, Silverlight support l'exécution hors d'un navigateur web (dans une Sandbox) de manière assez similaire à la technologie Adobe AIR.
2 comments :
Bonjour,
Cet article est une bonne initiative, je voudrais juste apporter une précision : si on parle de plateforme comme Silverlight, c'est maintenant Flash qu'il faut utiliser comme nom plutôt que Flex. Adobe l'appelle "Flash Platform", elle est constitué du player Flash (la machine virtuelle), du runtime AIR, du SDK Flex, des outils de développement comme Flash CS et Flash Builder (le nouveau nom de Flex Builder), du SDK Flex, et des serveurs LifeCycle ou Flash Media.
A ce propos la génération de SWF côté serveur n'est quasiment plus utilisée, tout est compilé avant.
Autre précision, le runtime AIR ne se limite pas à l'ActionScript et au SDK Flex, il embarque Webkit (le moteur HTML de Safari et Chrome), ce qui permet d'intégrer de l'HTML et du javascript dans une application AIR.
Merci pour ces précisions. Effectivement, Flex Builder deviendra Flash Builder mais seulement en version 4. J'ai essayé dans cette série d'articles de me limiter aux versions disponibles et non aux version beta. On parle donc encore de Flex. Pour AIR, j'ai volontairement mis de coté les aspects RDA pour lesquelles je n'ai pas expérimentés grand chose ni coté Adobe AIR ni coté Silverlight ou WPF.
Enregistrer un commentaire