Adobe a, depuis le rachat de Macromedia, redirigé sa stratégie vers le domaine des technologies riches, mêlant par exemple des produits comme Photoshop et Flash pour offrir une gamme complète d'outils et de frameworks de développement d'applications dites riches. Pour mieux s'y retrouver et après la présentation de la gamme Microsoft, petit tour de celle d'Adobe.
Adobe

Flex / Apollo

Flex SDK

Flex

Le Flex SDK est une partie de l'ensemble appellé Flex. C'est cette composante qui va passer en open source avant la fin de l'année. Il faut tout d'abord préciser que Flex SDK est gratuit, et qu'il contient les outils élémentaires pour réaliser des applications Flex : les compilateurs MXML et Action Script, ainsi que le débuggeur Action Script. Mais ce n'est pas tout ce que contient le SDK. En effet, il comporte les éléments graphiques "de base" du framework, ceux qui rendent la vie plus facile pour développer de véritables applications comme des Canvas, des Window, des TextBox... mais également quelques contrôles avancés, plus pratiques et parfois intuitifs : les Slider, le DateChooser, etc.

Flex Builder

Flex Builder

Le Flex Builder est l'IDE proposé par Adobe pour développer des applications Flex. Il s'agit donc d'un environnement de développement. Il existe deux versions de Flex Builder :
  • La première en tant que plugin Eclipse, profitant donc des avantages de l'IDE le plus répandu dans le monde Java.
  • La seconde en standalone, fonctionnant de la même manière car reprenant la base Eclipse.
La première version serait conseillé aux développeurs utilisant déjà Eclipse, la seconde aux personnes utilisant exclusivement Flex. Les avantages (communs aux deux versions) sont par exemple la complétion de code, un mode design, la coloration syntaxique, l'affichage des erreurs, etc.
Avec l'arrivée de la version 3 de Flex, le Builder devrait connaître de nombreuses améliorations, ramenant l'environnement de développement au niveau d'un Eclipse par exemple.

Flex Charting

Flex Charting est un ensemble de composants Flex avancés permettant de réaliser des graphiques. Il en existe de types très différents, et tous peuvent êtres personnifiés aussi simplement que n'importe quel autre composant :
  • Des camemberts
  • Des histogrammes
  • Des lignes droites ou courbes
  • Des nuages de points
  • etc.
Vous pouvez trouver de nombreux exemples sur le Chart Sampler d'Ely Greenfield.

Flex Data Services

Flex Data Services est une brique offrant des méthodes avancées de communication entre une application/interface réalisée via de l'Action Script et un serveur Java. Ces fonctionnalités avancées sont, par exemple :
  • du data push
  • le mapping des objets action script avec Hibernate
  • la gestion de queue de type JMS
  • etc.

Apollo

Apollo

Apollo est composé de deux éléments, mais il faut surtout le voir comme une extension à Flex permettant de déployer ses applications dans un domaine plus large, c'est à dire sur le bureau. On trouve donc, pour développer :
  • L'extension Apollo pour Flex Builder. Elle offre les fonctionnalités de packaging pour créer et déployer des applications Apollo. Tout comme Flex Builder, il s'agit juste d'un plugin supplémentaire pour offrir de nouvelles capacités à Eclipse et ainsi créer les applications Apollo plus rapidement.
  • Apollo SDK. Il intègre les nouvelles API d'Apollo (gestion de fichiers, hors ligne/en ligne, html, etc.) ainsi que deux outils : ADT et ADL, permettant respectivement Apollo Developper Tool pour packager l'application et Apollo Debug Launcher, pour débugger l'application. Le SDK d'Apollo est gratuit, mais n'est pour le moment pas prévu pour devenir open source.

Egalement

Depuis la sortie de Flex (chez Macromedia), Adobe (et la communauté) a su développer de nombreux outils et utilitaires pour permettre d'enrichir Flex en tant que langage de développement intégré dans un environnement complet de développement d'applications riches. Voici donc quelques outils/frameworks/bibliothèques bien utiles :
  • Cairngorm est une framework MVC développé par l'équipe Adobe Consulting. Je ne reviendrais pas sur ce qu'est le MVC, mais préciserais que Cairngorm est assez complet, sans pour autant s'étendre sur d'autres domaines. Il s'agit d'une bonne base pour la mise en place d'une architecture complète.
  • FlexUnit est un plugin permettant d'effectuer des tests unitaires sur le code Flex. Outil indispensable pour certains ! Attention tout de même, tester une interface unitairement est délicat (ça pourrait créer de longues discussions).
  • AS3Libs est un ensemble de bibliothèques offrant des méthodes pour faciliter la communication avec des services comme YouTube ou FlickR ainsi que des utilitaires pour des fonctions mathématiques ou de cryptage de données.
  • Il existe également de nombreuses bibliothèques Action Script 3 fournies par d'autres grands noms du Web comme Yahoo ou eBay.
  • Pour Apollo, il faut noter l'existence du projet Artemis, projet assez ambitieux d'effectiveUI car voulant offrir la possibilité de relier une application Apollo avec Java, directement et de manière transparente. Un projet ambitieux, à suivre !

Runtimes

Flash Player

Flash Player

Le Flash Player ne doit pas vous être inconnu : en effet, il est présent sur plus de 98% des navigateurs web. Autant dire qu'en 10 ans, le produit d'Adobe a su devenir quasiment universel. En se basant sur ce très fort taux de pénétration, Adobe permet de diffuser des applications riches au plus grand nombre sans crainte. Un atout.

Apollo Runtime

Adobe Apollo

Le Runtime d'Apollo n'existe actuellement qu'en version alpha. Il s'agit de la machine virtuelle qui permettra de diffuser des applications riches sur le bureau, et donc bien mieux intégrées à l'ordinateur de l'utilisateur. Ce runtime est nécessaire pour exécuter des applications Apollo, ce qui pourrait rebuter certains. A une époque, il était toutefois question d'installer le runtime en même temps que l'application, dans le même package, ce qui le rendait quasiment transparent.

Creative Suite

Creative Suite 3

La toute nouvelle gamme d'outils graphiques proposée par Adobe s'appelle la Creative Suite 3. Fort de son rachat de Macromedia, Adobe propose plusieurs packages contenant différents produits (que l'on peut également obtenir séparément). Il existe donc notamment quatre packages différents :
  • Web Premium : orientée autour de Dreamweaver CS3, c'est la version de base.
  • Design Premium : très orientée graphisme, elle propose notamment Photoshop, Illustrator et Flash.
  • Production Premium concerne plutôt la production de vidéos et de média sur différents supports.
  • Master Collection est la version la plus complète de la CS3.
Bien que chaque élément de ces packages puisse intervenir dans le processus de création d'applications riches, ils ne présentent pas tous le même intérêt. Voici donc les principaux (connaissant mal ces produits, je ne ferais que les survoler) :

Flash CS3

Adobe Flash

Flash CS3 est la nouvelle mouture du célèbre logiciel de Macromedia. Il est bien évidemment l'outil idéal pour réaliser des animations Flash. La nouveauté est l'interaction maintenant possible avec les autres produits. En effet, au delà de l'interaction avec des animations créées avec Illustrator, Flash CS3 propose également de créer vos propres composants Flex grâce au Flex Component Kit pour Flash CS3. Tout est automatisé, et la gestion de composants personnalisés puis réutilisables sous Flex est maintenant réalité.

Photoshop CS3

Photoshop

Photoshop CS3 est certainement le logiciel le plus connu d'Adobe. Outil de retouche graphique le plus répandu au monde, Photoshop s'améliore et propose dans cette version de pouvoir manipuler des objets 3D ! (dans la version professionnel uniquement). Forcément l'un des outils indispensables du designer.

Egalement

Flash Media Server

Difficile à placé dans une catégorie, Flash Media Server est l'outil de streaming proposé par Adobe pour diffuser différents média (vidéo, son, etc.) sur Internet. A l'heure où les bandes passantes permettent la diffusion à grande échelle de contenu sur différents supports, Flash a démontré qu'il savait diffuser de la vidéo pour enrichir des sites web. Flash Media Server est donc l'outil permettant de gérer le streaming de ce contenu.

Mike Downey parle d'Apollo

jeudi 17 mai 2007
Mike Downey est product manager sur Apollo pour Adobe. Ainsi il est au centre de l'équipe de développement de la nouvelle plate-forme qui permet je le rappelle d'offrir des applications internet riches, mais sur le bureau. Il y a quelques semaines, Reg developer a pu s'entretenir avec lui de ce que sera le futur d'Apollo. Je vous laisse lire le résumé complet de cet entretien : Piloting Adobe Apollo. Néanmoins voici quelques informations assez précises pour la suite du projet Apollo :
  • La version 1.0 d'Apollo supportera le PDF, mais ne permettra que de lire et afficher les fichiers de ce type. Par contre, il existera des bibliothèques Action Script 3 qui permettront d'écrire du contenu dans les PDF; on peut penser par exemples aux champs d'un formulaire.
  • La version 2.0 d'Apollo proposera une version mobile, basée sur Flash Lite.
  • La version Linux devrait voir le jour durant la première moitié de l'année prochaine. Prévu originalement en même temps que la version 1.0, les linuxiens seront donc servis un peu en retard, notamment à cause des soucis de portage du Flash Player sur lequel s'appuie Apollo.
  • Les optimisations possibles seront effectués entre la version bêta et la version 1.0 finale. Pas d'inquiétude donc.
Je me réjouis surtout de voir qu'Apollo se lancera vers le monde du mobile : inconstestablement il s'agira d'un des marchés porteurs dans un futur proche, et ouvrir le monde du développement mobile (pas toujours évident) à toutes les personnes pouvant faire du développement web est un grand atout pour Apollo.
Microsoft fait partie des deux poids lourds (avec Adobe) à s'être lancé pleinement dans la course à l'application riche. Se basant sur l'idée d'offrir des outils pour créer de nouvelles expériences utilisateurs, la gamme d'outils proposée devient très vaste. Voici donc une petite revue de ce qui est proposé par Microsoft, très centré sur les derniers outils mis à disposition.

Expression

La gamme Expression

La gamme Expression est la dernière nouveauté de Microsoft. La sortie annoncée de la suite l'a fait découvrir aux plus nombreux, et déjà certains apprécient sa qualité et son élégance. J'apprécie personnellement le fait que tous les outils aient la même charte graphique.
Dans cette offre, on trouve donc plusieurs produits : Expression Studio, Expression Web, Expression Blend, Expression Designer, Expression Media et Expression Media Encoder. Voici en détail chacun d'eux.

Expression Studio

Expression Studio

Expression Studio n'est en fait que le kit complet d'Expression, comportant les outils présentés ci-dessous ainsi que Visual Studio 2005 en version standard. Pour faire simple, il s'agit du kit complet pour créer des RIA de la part de Microsoft.

Expression Web

Expression Web

Expression Web est un outil de création de sites web se voulant conforme aux standards. Il s'occupe par exemple de générer du code XHTML 1.0, se base sur les CSS, permet de développer des pages ASP. Un mode WYSIWYG, maintenant incountournable, est bien entendu présent. Clairement, il s'agit là du successeur de Front Office, et qui se place donc en concurrent direct de Dreamweaver.

Expression Blend

Expression Blend

Expression Blend est l'outil dédié à la création d'interfaces riches. Il s'agit certainement du produit le plus intéressant de la gamme car le plus novateur à ce jour. Dans Expression Blend, on retrouve donc un éditeur xaml avec de nombreuses fonctionnalités, et surtout un mode design très pratique, véritable gain de temps en productivité. Il existe déjà une seconde version en préparation, dont on peut déjà tester les capacités. Les grandes différences entre les deux versions se situent sur le type d'applications à produire : la seconde version permet de créer des applications Silverlight directement dans Expression Blend.

Expression Design

Expression Design

Expression Design est un outil de design vectoriel et matriciel, permettant de retoucher, traiter, créer et produire des images. Il se place bien évidemment comme concurrent de l'outil Flash d'Adobe. Une particularité tout de même : Design n'est disponible que dans Expression Studio et non à part : cela souligne à mon avis le fait que l'intégration des outils Expression entre eux est très forte. On pourra par exemple réutiliser les graphismes créés dans Design directement dans Blend.

Expression Media

Expression Media

Expression Media est en fait le logiciel Media Pro de la marque iView, racheté par Microsoft. Expression Media est un outil de gestion de tous types de médias, notamment de la vidéo (on sait que c'est le point fort de Silverlight). Il permet par exemple de renommer plusieurs fichiers d'un coup, d'éditer des images ou des vidéos, ou bien de créer des présentations. Expression Media est également vendu avec Expression Media Encoder.

Expression Media Encoder

Expression Media Encoder n'est donc pas disponible sans Expression Media. Cet outil permet d'encoder vos vidéos (de très nombreux formats sont supportés, comme ceux de QuickTime) et de les intégrer à un lecteur : en effet, plusieurs "modèles" de lecteurs vidéos sont proposés et donc attachables à vos vidéos, pour que vous puissiez ensuite les diffuser, le tout formant une petite application Silverlight.

Visual Studio

Visual Studio 2005

Visual Studio standard edition
Visual Studio 2005 est l'environnement de développé très largement répandu de Microsoft. Il s'agit là d'un outil très puissant et plutôt apprécié dans le monde du développement. Dans le cadre d'applications riches, il permet par exemple d'éditer le code applicatif ou métier qui se trouve derrière les interfaces crées avec Blend. Pour cette version, il existe un ensemble de plugins pour développer des applications WPF ou Silverlight.

Visual Studio Orcas

Visual Studio Orcas est la nouvelle version de l'environnement de développement de Microsoft. Cette mouture proposera de nombreuses améliorations avec pour objectif d'offrir toutes les cartes aux développeurs pour qu'ils créent de nouvelles expériences pour les utilisateurs, plus riches et plus interactives. Plus exactement, Orcas se base sur trois postulats (décrit dans un livre blanc - en anglais) :
  • améliorer la productivité des développeurs
  • gérer les cycles de vies des applications
  • utiliser les dernières technologies
Ainsi Microsoft propose un add-on pour y développer des applications de type Silverlight 1.1. Il faut savoir notamment que Visual Studio 2005 permet de créer des applications Silverlight basées sur du Javascript, alors qu'Orcas permet d'en créer de manière managée, c'est à dire basé sur n'importe quel langage pouvant être précompilé pour être interprété par le CLR du framework .NET.

Runtimes

.NET

Le framework .NET de Microsoft est l'une des bases fondamentales de la structure Microsoft : véritable contre pouvoir à Java, la machine virtuelle permet donc de développer du code dans divers langages et de le réutiliser via .NET. Cette machine virtuelle ne fonctionne par contre que sur Windows. Déjà en version 3, .NET est par exemple la nouvelle base du système d'exploitation Vista.

Silverlight

Silverlight
Présenté très récemment, Silverlight est un plugin de Microsoft pour navigateurs, sur différents OS (actuellement Mac et Windows). Il en existe pour l'heure que deux versions : Silverlight 1.0 bêta et 1.1 alpha. Je vous invite à lire un de mes précédents posts pour mieux comprendre Silverlight. Sachez tout de même qu'il embarquera à terme le CLR, c'est à dire la machine virtuelle de .NET !

Autres

Il existe bien évidemment énormément de ressources autour du développement d'applications riches chez Microsoft. Sans entrer dans les détails, voici quelques outils et documents pouvant aider :
  • Les SDKs de Silverlight, avec de nombreux exemples. Disponible pour Silverlight 1.0 bêta ou Silverlight 1.1 alpha.
  • Codeplex, le site d'hébergement de projets open source de Microsoft avec de très bonnes bibliothèques.
  • ASP.NET Ajax, le framework Ajax de Microsoft. Je ne souhaite pas m'étendre sur la partie Ajax ici, car il serait plus pertinent de parler de tous les frameworks disponibles et de les comparer.
  • Les contrôles ASP.NET 'Futures', un preview des nouvelles fonctionnalités à venir pour ASP.NET et Silverlight.

Six mois d'Internet riche

vendredi 11 mai 2007
Et oui, voilà six mois jour pour jour que je tiens ce blog à jour. Six mois déjà, six mois seulement. Bien qu'au début certains billets concernaient des nouveautés du Web 2.0 que je trouvais intéressantes, ma ligne éditoriale s'est tournée de plus en plus vers les technologies d'applications riches, au vu de l'actualité croissante en cette année.

Voici quelques chiffres pour illustrer ces six mois de blogging. Du client riche à un Internet riche, c'est donc :
  • Plus de 100 billets
  • Plus de 110 commentaires
  • Plus de 12000 visiteurs
  • Plus de 21000 pages vues
  • Une moyenne actuelle de 150 visites quotidiennes, et de 140 lecteurs du flux RSS (merci à Fred Cavazza de m'avoir cité et ainsi d'avoir "boosté" mes stats :) )
  • Et surtout un certain nombre d'heures de recherches, d'écriture, de mise en page, etc.
Avec un peu de recul, tout cela m'encourage à continuer d'écrire, même si parfois les idées manquent ! Je crois d'ailleurs que j'ai tendance à écrire des billets moins nombreux mais peut-être plus complets... Je voudrais également remercier les personnes qui m'ont aidé et conseillé, ils se reconnaitront.

Pour terminer, une petite sélection de quelques billets un peu plus anciens, que vous n'avez peut-être pas tous pu lire ou découvrir :
J'espère que vous resterez fidèle à Du client riche à un Internet riche : l'évolution ne fait que commencer...

Rechercher