web-dev-qa-db-fra.com

Quelles sont les différences entre l'amélioration progressive et la dégradation gracieuse?

Qu'est-ce que Progressive Enhancement? Je ne peux pas comprendre ce concept. Comment ça marche, et comment est-ce un modèle différent/meilleur (?) Que Dégradation gracieuse?

7
pramodc84

La réponse de Motolix est très large, alors permettez-moi d'ajouter la réponse qui est spécifique au développement web.

L'amélioration progressive consiste à créer un site Web accessible à tous, puis à ajouter des fonctionnalités avancées dans des couches qui améliorent l'expérience de ceux qui peuvent y accéder. . Par exemple, un site Web de texte de base peut être mis à niveau pour inclure un design (feuilles de style), une fonctionnalité interactive (javascript) et une vidéo (flash). Mais le site Web continue de fonctionner comme un simple site Web textuel. En savoir plus sur définition de wikipedia de l'amélioration progressive .

La dégradation gracieuse est un aspect de systèmes tolérants aux pannes où votre conception continue de fonctionner même si certains points de la conception peuvent ' t travailler. L'article de wikipedia répertorie le HTML comme un bon exemple: HTML5 fonctionne dans tous les navigateurs car les analyseurs HTML eux-mêmes ne se cassent pas s'il y a des balises non reconnues. Mais comme les anciens navigateurs ne reconnaissent pas ces balises, ils ne peuvent pas non plus fournir les fonctionnalités qui leur sont associées (telles que les divers nouveaux types d'entrée comme la plage, le nombre, la date, l'heure, la couleur, etc.). Un autre exemple consiste à définir la couleur et la couleur d'arrière-plan ensemble dans CSS, mais en remplaçant éventuellement la couleur par une image. Si l'image ne se charge pas, vous voulez que le texte soit toujours lisible, mais cela pourrait ne pas être le cas si vous ne vous assurez pas que la couleur d'arrière-plan est celle qui permet au texte d'être lisible.

La différence entre les deux est le point de départ. L'amélioration progressive implique de commencer avec une base solide et de l'améliorer à partir de là, tout en garantissant un fonctionnement continu si les améliorations ne sont pas prises en charge. La dégradation gracieuse implique de commencer avec une application avancée, mais en s'assurant que si certains éléments ne sont pas pris en charge, elle continue de fonctionner. De toute évidence, cela signifie qu'il existe un point de croisement entre les deux concepts à un moment donné.

9
Rahul

L'amélioration progressive est le processus consistant à partir d'un produit de base solide et à se développer à partir de là. Par exemple, vous commencez avec un très bon lecteur vidéo, puis vous ajoutez une liste de lecture, puis vous ajoutez un convertisseur vidéo. Fondamentalement, à partir d'un point unique et en s'étendant vers l'extérieur selon les besoins (généralement par les commentaires des utilisateurs)

La Dégradation Gracieuse est le contraire, par exemple, disons que vous avez construit un site Web avec beaucoup trop de fonctionnalités - vous pouvez utiliser le processus de dégradation gracieuse pour éliminer lentement les fonctionnalités inutiles et renforcer les plus importantes. edit: pensez-y comme un filet ... Vous commencez à vouloir attraper autant que possible, puis vous vous contractez autour de ce que vous attrapez réellement.

Je crois que l'amélioration progressive est généralement un meilleur "modèle" pour la plupart des projets - car il est très facile de se laisser prendre dans un processus d'idées sans fin ou de "glissement de fonctionnalités". En suivant un modèle progressif, vous pouvez éviter cela en répondant directement aux commentaires des utilisateurs et en les développant au besoin. Cependant, cela nécessite une approche plus flexible car il est plus difficile d'avoir une vision de votre objectif final ... (mais très souvent, les deux modèles se retrouvent au même endroit, donc je pense qu'il vaut mieux commencer petit).

J'espère que ça aide, désolé pour la longueur.

2
Motolix