samedi 16 octobre 2010

Applications web riches : Flex vs Silverlight

Dans cet article nous allons présenter les technologies majeures du web riche. Pour cela on doit commencer par une petite définition des applications web riches, ensuite nous allons présenter chacune des deux technologies pour finir par un tableau comparatif.

Applications web riches :

Les applications web riches RIA (Rich Internet Applications) désignent l’ensemble des applications web proposant une interface graphique évoluée. L’idée consiste à mettre en œuvre des technologies permettant de surmonter les limitations des navigateurs web et le langage HTML en offrant une interface ergonomique, interactive et se caractérisant par une performance égalant celle des applications Desktop.

On peut distinguer deux familles de RIA :
  •   Les applications qui se basent sur des technologies nécessitant l’installation des modules complémentaires aux navigateurs, l’application est un composant précompilé et téléchargé par le client dans une page web : dans cette catégorie on trouve les applications Adobe Flex et Ms Silverlight, ces deux technologies  qui permettent également le développement des applications riches Desktop (RDA)
  •  La 2éme famille consiste dans les applications développées en utilisant des frameworks se basant sur les standards des navigateurs web (notamment Html et JavaScript). Au premier lieu on trouve la technologie Ajax permettent le rafraîchissement partiel des pages web, et récemment le Html 5 qui est considéré comme le successeur potentiel des technologies web riches utilisés actuellement.
Dans cet article on va se limiter à la comparaison des deux technologies  Flex et Silverlight.

Adobe Flex :

Crée en 2004 par Macromedia et racheté par la suite par Adobe, Flex se présente comme une plateforme de développement d’applications se basant sur la technologie Flash.

L’application est compilée dans un fichier swf, donc son exécution nécessite l’installation du plugin Flash Player qui est indispensable et généralement intégré par défaut dans les navigateurs.

L’IDE Flex se consiste dans un plugin Eclipse payant qui fourni un éditeur graphique et un ensemble d’outils permettant le développement rapide d’applications.

Une application Flex est composée des pages MXML : format dérivé de XML crée par Adobe pour définir les composants graphiques offerts par la librairie. La dernière version de plugin est le Flash Builder 4 (les versions précédentes du plugin s’appelaient Flex Builder).

Le code-behind des pages MXML est en ActionScript 3.0, le code peut être inséré dans les pages MXML ou être séparé dans des fichiers au format As.
ActionScript est un langage de script orienté objet, les fichiers .as sont déclarées comme des classes pour être utilisés dans d’autres fichiers. Avant la naissance de Flex ce langage a était utilisé principalement dans les applets Flash.

Microsoft Silverlight :

Apparu en 2007 et introduit par Microsoft comme une réponse a la montée de Flex. 

L’exécution des applets Silverlight sur le navigateur nécessitent l’installation de la machine virtuelle. Contrairement à Flash Player, ce plugin est beaucoup moins utilisé donc il n’est pas intégré par défaut dans les navigateurs.

Le point fort de Silverlight c’est son IDE, Microsoft propose pour les développeurs la suite Expression Studio : un environnement complet compatible avec la plateforme .net et composé de plusieurs outils pour le développement et le design notamment Expression Blend l’éditeur destiné à Silverligh.

Pour la création des interfaces graphiques Silverlight, Microsoft a défini le langage de balises XAML dérivé de XML. Dans ces pages on peut également inclure du code JavaScript.

Les développeurs Silverlight peuvent utiliser C# comme un code-behind, c’est le plus commun mais il est toujours possible d’utiliser d’autres langages supportés par la plateforme .net.
C’est l’utilisation de C# avec tout les avantages qu’il présente qui fait le bonheur des développeurs Silverlight. Ce qui leur offre aussi la possibilité de réutiliser du code existant.

Qui est le plus utilisé ?

En tant que développeur d’applications web riches, cette question ne cesse de me trotter dans la tête. Lequel de ces deux technologies rivales a le plus de succès ? J’ai fait ma propre étude et je partage avec vous les résultats qui peuvent bien vous aider dans vos choix technologiques.

Le marché d’emploi est un très bon indice des tendances technologiques des entreprises, pour trouver une réponse à ma question j’ai utilisé le moteur de recherche d’emploi indeed : ce site offre des statistiques par mot clé, voici les résultats obtenus pour Flex et Silverlight :


Pas besoin  de commenter ce graphique, je laisse les statistiques parler ;)

Tableau comparatif :

Je fini par ce tableau récapitulatif présentant les différences entre Flex et Silverlight :




Silverlight
Flex
Editeur
Microsoft
Adobe
Sortie
2007
2004
Format d’exécution
exe
swf
Machine virtuelle
Silverlight plugin
Flash Player
Langage de balises
XAML
MXML
Support multi langages
Oui
Non
Code-behind
C# et autres langages .net
ActionScript
IDE
MS Expression Studio
Flex/Flash builder, Eclipse


Je souhaite que vous trouviez cet article bien utile. Je suis à l’écoute de tous vos commentaires et suggestions :)

Aucun commentaire:

Enregistrer un commentaire