Silverlight & Flex : Au coeur des RIA
Enjeux & Concepts
Introduction
Comme vu dans la partie précédente, le modèle RIA va s'imposer. Au-delà ce ça, aujourd’hui on peut considérer qu’on entre dans l’ère RIA. Comment on le voit et quels seront les enjeux par rapport à ça ?
Enjeux
On se place ici sous deux angles. D'une part sous celui de l'utilisateur, d'autre part sous celui du développeur.
Côté utilisateur, on se rend compte de plus en plus quand on va chez le client que l’ergonomie devient un véritable critère pour valoriser une application. Concrètement ca veut dire qu’une application que l'on fourni à des utilisateurs se doit d'avoir une expérience riche auquel cas elle sera mal valorisée. Il en résultera un avis négatif de l'application, une vision d'une mauvaise application.
Côté développeur, on est toujours dans cette perspective, cette volonté de maintenabilité, de productivité, de pérennité dans nos développements.
On en déduit donc que l'enjeu de la RIA est de réconcilier le monde utilisateur et développeur en permettant de produire des applications aussi agréable à utiliser qu’à construire.
Concepts
Le modèle RIA va répondre aux différents enjeux vus précédemment au travers différents concepts. Encore une fois, nous distinguons les concepts côté développeur et utilisateur.
Côté utilisateur, nous avons deux points ressortissants :
- Interfaces novatrices : L’idée est d’apporter des interfaces novatrices. En effet, aujourd’hui, l’interface graphique ne sera plus statique mais elle sera plutôt dans la capacité de s’adapter à des scénarios, à des contextes métiers et cela va donc permettre de guider l’utilisateur dans son geste métier. Ainsi, les interfaces novatrices vont permettre cette assistance au niveau de l’utilisateur tout en apportant un meilleur look-and-feel, une meilleure ergonomie, un meilleur design.
- Avantages des deux mondes (client léger et lourd) : On gagne les avantages des deux mondes. Du client lourd, on gagne la fluidité dans le sens où il y a moins d’aller-retour serveur qui sont effectués étant donné que l'application est stockée chez le client. Mais aussi parce que ce sont des interfaces vectoriels permettant alors de proposer des graphes ou tout autre éléments graphiques avancés. Du client léger, on gagne dans le fait que l'utilisation de l'application ne nécessite pas d'installation au préalable. Mais aussi parce que la diffusion est maximale via les mécanismes du web. Du coup, l’avantage c’est d’avoir une application type client lourd tout en bénéficiant du web en utilisant le navigateur.
Côté développeur, nous avons aussi deux points ressortissants :
- Multi-plateformes / Multi-navigateurs : En effet, le RIA apporte une perméabilité maximale en terme de diffusion dans le sens où il est simplement nécessaire de disposer du plugin permettant d'exécuter l'application RIA. Ainsi, le fait de disposer du plugin permet de lancer l'application sur tout type de navigateur tel que Internet Explorer, Firefox, Safari,... et sur de nombreuses plateformes telles que Windows, Mac OS, Linux. Du coup on bénéficie d’un distribution facile de l’application.
- Paradigme de développement : On a aussi un renouveau en terme de paradigme de développement, c’est-à-dire que le développement des RIAs apporte une nouvelle vision dans la manière de développer. D'une part, le RIA apporte un allégement des tâches côté serveur puisqu'il y a une délégation de l’exécution de l’application sur le poste client (l'application est stocké sur le poste client). Ainsi, niveau serveur, il n’y a pas ce temps d’exécution, ni ce temps de génération de page. D'autre part, on a un gain de productivité et de maintenabilité. En effet, il n'y a pas besoin d'écrire de code spécifique selon le type de navigateur ou la plateforme sur laquelle l'application tourne. Le code n'est donc plus spécifique. Ceci est un gros avantage dans le sens où nous n'avons maintenant plus qu'un seul et unique code. Il en résulte une diminution du code, apportant un gain de productivité et engendrant alors un gain en terme de maintenabilité. Enfin, un dernier point intéressant est le fait que l'application n'est pas hébergé par le serveur mais simplement distribuer. Cela délègue les problématiques qu'apporte l'hébergement d'une application avec toute la maintenance qui s'ensuit.