6 votes

Dégradation progressive en dehors du domaine des applications web : quel est l'importance du problème ?

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 ?

1voto

Mendelt Points 21583

Les applications de bureau n'ont pas les mêmes problèmes que les applications web à cet égard. Elles sont généralement conçues pour fonctionner sur une plate-forme bien définie.

Cela pourrait changer à l'avenir. L'informatique se déplace des ordinateurs de bureau vers les téléphones mobiles et les ordinateurs portables plus petits. À l'avenir, les applications de bureau devront fonctionner sur une plus grande variété de plateformes. Cela pourrait poser des problèmes car la plupart des frameworks que nous utilisons pour développer des applications de bureau le gèrent encore plus mal que les frameworks pour les applications web.

1voto

Kena Points 5046

Je ne peux pas imaginer qu'une application de bureau soit confrontée à une telle variation de l'environnement d'exploitation.

Les applications de bureau doivent faire face à la variance, mais d'un autre type. Les cartes graphiques dans les jeux en sont un bon exemple : vous voulez un support décent pour les clients de base, mais votre client haut de gamme avec la nouvelle carte graphique brillante en voudra pour son argent. Lorsque vous entrez dans le domaine du traitement sur GPU et de la gestion de la mémoire sur carte, vous avez une raison suffisante pour maudire la variance dans les environnements d'exploitation.

En général, vous avez également affaire à des logiciels plus gourmands en processeur et en mémoire qu'une application Web, et vous devez donc en tenir compte également. Et je ne parle même pas de l'opérabilité inter-OS (que de nombreux logiciels de bureau gèrent très bien).

Bien sûr, rien n'empêche un éditeur de logiciels de bureau d'imposer des critères stricts en matière d'environnement. C'est juste une question de business. Mais rien ne vous oblige non plus à supporter des navigateurs non traditionnels (et la plupart des applications web supportent-elles vraiment Lynx ? !?).

0voto

kmkaplan Points 10338

Dans le domaine des applications et des systèmes d'exploitation (OS), le problème est généralement inversé. C'est le système d'exploitation qui gère toute la complexité du maintien de la compatibilité. D'un autre côté, l'application dicte habituellement un système de gestion de la compatibilité. minimum Version du système d'exploitation.

Un autre endroit où les applications commencent à rencontrer ce problème est le monde Java et, à un moindre degré, tous les autres langages dits script qui fonctionnent sur plusieurs OS.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X