Apollo concurrence.NET et Java sur le poste client
Inscrivez-vous gratuitement à la Newsletter BFM Business
En soustrayant Flex aux contraintes du navigateur, Adobe propose une alternative crédible à Java et à.NET pour le développement d'applications ' client riche '.
Se mettre en concurrence avec Microsoft et Sun en une seule fois n'est pas à la portée de tout le monde. En présentant Apollo lors de sa conférence utilisateurs MAX 2006, qui se tenait la semaine dernière à Las Vegas, Adobe y
parvient. Cette nouvelle plate-forme, disponible au premier trimestre 2007, regroupera, dans un seul environnement de développement, et avec un seul socle d'exécution, Flex, Ajax et PDF. Rien de moins ! Adobe souhaite ainsi proposer une couche
d'abstraction complète de l'OS de façon à faciliter le développement et le déploiement de client riche dans la même logique que Java : ' Écrire une seule fois, exécuter partout ', mais aussi en
marchant sur les plates-bandes de.NET. Depuis le rachat de Macromedia l'année dernière, Adobe n'est plus seulement l'inventeur du format PDF et l'éditeur de Photoshop. Il propose aussi Flex, la plate-forme de développement de client riche la plus
aboutie du marché. Flex permet de créer des applications en utilisant le langage MXML au sein de l'atelier de développement Flex Builder 2.0. Ces applications sont compilées au format Flash, puis exécutées sur le poste de l'utilisateur, au sein d'un
navigateur via le lecteur Flash. Face à la montée en puissance de Linux sur le poste client et des Mac d'Apple, Adobe a décidé de libérer Flex du navigateur et de l'imposer comme ' LA ' technologie de
développement de client riche. L'éditeur compte pour cela sur un avantage déterminant de Flash : sa portabilité. À la veille de l'arrivée de Vista, ' le besoin de portabilité des applications n'a jamais été aussi
grand ', estime Kevin Lynch, vice-président et architecte des logiciels d'Adobe. Et, ' avec l'émergence de l'architecture orientée services, les entreprises redécouvrent l'intérêt d'un client
ergonomique pour leurs applications ', ajoute-t-il. Un client d'autant plus intéressant qu'il ne se limite pas au seul Flash, mais gère aussi Ajax, le modèle de programmation le plus en vogue du moment.
Un socle d'exécution trois-en-un
Grâce à Apollo, les applications Flex et Ajax n'auront plus besoin d'un navigateur pour fonctionner. Elles s'exécuteront directement sur le poste de travail, au-dessus de l'environnement d'exécution Apollo. Une architecture identique
aux applications Java qui s'exécutent au sein d'une machine virtuelle Java (JVM). D'un point de vue technique, il sera presque impossible pour l'utilisateur final de distinguer une application Apollo d'un logiciel compilé (binaire) pour l'OS cible.
L'environnement d'exécution Apollo s'appuie en effet sur le lecteur Flash 9.0 mais épouse l'ergonomie de l'OS sous-jacent. Adobe a donc ajouté deux moteurs à Flash : celui du navigateur open source WebKit (utilisé par Safari d'Apple), qui se
charge du rendu HTML, CSS et JavaScript, et un moteur de rendu PDF. Une application Apollo peut donc être composée de ces trois éléments, parfaitement intégrés et auxquels on peut appliquer exactement les mêmes manipulations. La saisie d'une donnée
dans un formulaire Ajax met par exemple à jour, en temps réel, le graphique Flex représentant ces données et le formulaire PDF lié. Le tout, sans rafraîchir l'écran.
Un pari osé mais possible
Adobe réussira-t-il son pari ? On peut le croire. Bien que très ambitieuse, sa nouvelle stratégie s'appuie sur des bases solides. Le lecteur Flash équipe 98 % des PC et connaît un rythme de mises à jour très soutenu, environ
douze mois pour actualiser l'ensemble du parc installé. Un chiffre qui fait pâlir d'envie Microsoft et Sun. D'autant que ' nous sommes en discussion avec des fabricants [d'ordinateurs et de téléphones mobiles, Ndlr]
pour préinstaller Apollo ', précise Kevin Lynch. D'autre part, le socle d'exécution d'Apollo n'excédera pas 5 à 9 Mo, deux fois moins que celui de Java et cinq fois moins que le framework.NET 3.0 de Microsoft.
Afin de faciliter le déploiement d'Apollo via les lecteurs Flash déjà installés, Adobe proposera une mise à jour de son lecteur Flash Player 9.0 pour Linux, dès janvier. Son atelier de développement Flex Builder 2.0 sera aussi disponible pour Mac OS
au premier trimestre 2007. Car, au-delà d'un déploiement aisé, Apollo possède un autre atout de poids : la simplicité. Face à C# et à Java, l'objectif d'Adobe est de ' permettre à tous les développeurs de créer des
applications Apollo en utilisant les technologies qu'ils maîtrisent déjà : Flash, Flex, HTML, CSS, JavaScript et Ajax ', explique Mike Chambers, responsable produit qui travaille sur ce projet chez Adobe. L'atelier de
développement rapide d'applications Flex Builder 2.0 assure la création des écrans des applications en mode Wysiwyg. Grâce à lui, seule la logique métier doit être codée directement en ActionScript 3.0. Côté performances, Apollo n'a rien à envier
aux différents environnements d'exécution Ajax, ni à. NET ou à Java. Adobe a en effet introduit une précompilation juste-à-temps (JIT) dans son runtime Flash. Par rapport aux éditions précédentes, ' la réduction des temps
d'exécution peut atteindre un facteur 20 ', précise Kevin Lynch. De quoi déporter un maximum de traitements sur le poste client. Les performances de Web-Kit, le moteur de rendu HTML, ont, quant à elles, été validées par tous
les utilisateurs de Mac. Tous ces atouts ont déjà séduit des éditeurs de logiciels tels qu'Oracle, SAP et Itesoft en France. À court terme, Adobe espère convaincre un million de développeurs. Pour susciter des vocations et créer un véritable
écosystème, il vient de lancer un fonds d'investissement de 100 millions de dollars. Ce fonds financera les projets et les éditeurs de logiciels reposant sur Apollo. Charité bien ordonnée commence par soi-même...