Dans la course à la conquête du poste client, deux écoles s'affrontent. Ceux qui comme Google misent sur l'universalité du navigateur Web et proposent des services évolués pour faire oublier la nécessité du système d'exploitation, quitte à l'enrichir avec de l'AJAX. Et ceux comme Microsoft, Adobe, Eclipse et Java qui tentent de sortir du cadre du navigateur en installant leur plate-forme d'exécution. A ce jeu-là, Adobe possède une bonne avance. Sa technologie Flash, issue du rachat de Macromedia, est déjà présente sur 98% des navigateurs de la planète. A l'origine, le plugin Flash a été conçu pour gérer de l'animation vectorielle et le multimédia dans le navigateur. Puis on l'a utilisé pour animer des menus, gérer des comportements, communiquer avec le serveur... De là à pouvoir être utilisé comme interface riche d'une application, il n'y avait qu'un pas. En mars 2004, Macromedia présentait la première version de Flex, un serveur de présentation et un framework de développement permettant de générer dynamiquement l'interface utilisateur d'une application en Flash. L'application est écrite en Java (J2EE). Pour générer l'interface utilisateur, Flex utilise un langage XML de description d'interface, le MXML, similaire dans le principe à XUL de Mozilla ou XAML de Microsoft. Côté client, le langage ActionScript (similaire à Java) permet de naviguer et d'interagir avec le serveur. La solution se révélait comme un des plus abouties technologiquement pour gérer le client riche : large disponibilité de la plate-forme d'exécution, interface très riche. En octobre 2005, Macromedia présentait les premières bêtas de Flex 2. Repris par Adobe suite à l'acquisition de Macromedia, Flex 2 sort aujourd'hui en version finale. Flex 2 est une gamme de produits qui comprend un SDK, des composants extensibles, des services de données et un environnement de développement. Le Flex SDK 2 est entièrement gratuit. Il comprend les langages MXML et ActionScript 3.0, le framework Flex, la bibliothèque de classes, un compilateur et un débogueur en ligne de commande. Flex Charting Components 2 est un ensemble de composants extensibles permettant de gérer l'affichage de courbes et graphiques. Flex Data Services 2 est un ensemble de services de gestion des données basés sur les messages. Ils permettent aux développeurs de créer des applications capables d'accéder aux données en temps réel, à des services disponibles de façon occasionnelle ou à des jeux de données très volumineux. Une des grandes nouveautés est le Flex Builder 2. Cet environnement de programmation et de débogage s'appuie désormais sur Eclipse. Il bénéficie ainsi des outils de la plate-forme Eclipse : aide contextuelle, débogage côté client et serveur, systèmes de contrôle de code source. Parallèlement, Adobe annonce la sortie de Flash Player 9. Cette version offre aux développeurs Flex des performances jusqu'à 10 fois meilleures sur ActionScript 3.0 et la nouvelle machine virtuelle ActionScript (AVM). Concernant les tarifs, Flex SDK 2 est gratuit. Flex Builder 2 est disponible pour 449 euros prix public (699 euros avec Charting). Une version Express des Flex Data Services 2 qui inclut une licence de production pour un processeur est disponible gratuitement. Au delà, il faut compter 18,5 K€ par CPU.