Toutes mes excuses pour cette longue introduction - j'essaie simplement de planter le décor pour éviter toute ambiguïté ou confusion.
Les applications Web sont passées du statut d'interfaces muettes basées sur un navigateur pour une logique côté serveur à celui d'applications entièrement basées sur un navigateur avec un besoin minimal de logique côté serveur. Il est possible de décrire cette évolution en identifiant des générations claires d'applications web.
Considérons, pour le moment, seulement deux générations : pré et post-ajax. Il existe certainement d'autres facteurs, tels que ceux relatifs à la prise en charge des CSS et aux en-têtes de contrôle d'accès, mais commençons par une approche simple.
Partir d'un système simple sans style et sans JavaScript, ajouter des couches d'améliorations progressives et finir par une application contemporaine très réactive et dotée de fonctions Ajax est une tâche difficile et sujette aux erreurs. Elle n'est en aucun cas facile.
La génération à laquelle une application web peut sembler appartenir dépend du moyen par lequel on accède à l'application. La même application web apparaîtra comme une application de première génération si on y accède par Lynx et comme une application de dernière génération si on y accède par FireFox 3.1, avec quelques niveaux intermédiaires en fonction de l'agent utilisateur utilisé pour accéder à l'application.
Le problème de la création d'une application web qui se dégrade progressivement en fonction des capacités de l'agent utilisateur, où une application créée pour tirer parti des fonctionnalités actuelles du navigateur reviendrait à la fonctionnalité d'une application créée il y a peut-être quinze ans face à Lynx, est très difficile.
Je ne peux pas imaginer qu'une application de bureau soit confrontée à une telle variation de l'environnement d'exploitation.
Un exécutable unique (par opposition à un ensemble de variantes spécifiques à un système d'exploitation) capable de tirer parti des fonctionnalités de Vista peut très bien fonctionner de manière adéquate sous XP et sans certaines fonctionnalités de Vista. Pour se dégrader sur une distance comparable à celle d'une application web, la même application de bureau devrait encore fonctionner, bien que de manière moins sophistiquée, lorsqu'elle est exécutée dans un environnement de ligne de commande uniquement tel que DOS.
Exécutez-le sous Lynx, c'est une application web de première génération. Si vous l'exécutez sous FireFox 3.1, vous obtenez une application web moderne, élégante et brillante. Si vous étiez confronté à un tel problème, vous le considéreriez comme un défi, délicat mais réalisable.
Exécutez-le sous DOS, c'est une application en ligne de commande. Si vous l'exécutez sous Vista, il s'agira d'une application web moderne et brillante. Si vous étiez confronté à un tel problème, vous trouveriez ça insensé. Ou bien le feriez-vous ?
Les applications de bureau sont-elles jamais confrontées à une telle variété d'environnements d'exploitation que les applications web ?
Ce problème (l'ampleur de la variance, pas la variance elle-même) est-il propre au domaine des applications web, ou peut-on le retrouver dans le développement des ordinateurs de bureau ?