web-development-kb-eu.site

Was sind die Unterschiede zwischen progressiver Verbesserung und anmutiger Degradation?

Was ist Progressive Enhancement? Ich kann dieses Konzept nicht verstehen. Wie es funktioniert und wie es ein Modell ist, das anders/besser (?) Ist als Graceful Degradation?

7
pramodc84

Die Antwort von Motolix ist sehr weit gefasst. Lassen Sie mich daher die Antwort hinzufügen, die für die Webentwicklung spezifisch ist.

Progressive Enhancement ist, wenn Sie eine Website erstellen, die für alle verfügbar ist, dann aber erweiterte Funktionen in Ebenen hinzufügen, die die Benutzererfahrung für diejenigen verbessern, die darauf zugreifen können . Beispielsweise kann eine einfache Textwebsite um ein Design (Stylesheets), interaktive Funktionen (Javascript) und Videos (Flash) erweitert werden. Die Website fungiert jedoch weiterhin nur als textbasierte Website. Lesen Sie mehr unter Wikipedia-Definition der progressiven Verbesserung .

Graceful Degradation ist ein Aspekt von fehlertoleranten Systemen , bei dem Ihr Design weiterhin funktioniert, auch wenn bestimmte Punkte des Designs dies können. ' t arbeiten. Der Wikipedia-Artikel listet HTML als gutes Beispiel auf: HTML5 funktioniert in allen Browsern, da HTML-Parser selbst nicht beschädigt werden, wenn nicht erkannte Tags vorhanden sind. Da ältere Browser diese Tags jedoch nicht erkennen, können sie auch nicht die ihnen zugeordneten Funktionen bereitstellen (z. B. die verschiedenen neuen Eingabetypen wie Bereich, Nummer, Datum, Uhrzeit, Farbe usw.). Ein weiteres Beispiel ist das gemeinsame Festlegen von Farbe und Hintergrundfarbe in CSS, möglicherweise jedoch das Überschreiben der Farbe mit einem Bild. Wenn das Bild nicht geladen wird, soll der Text weiterhin lesbar sein. Dies ist jedoch möglicherweise nicht der Fall, wenn Sie nicht sicherstellen, dass die Hintergrundfarbe lesbar ist.

Der Unterschied zwischen den beiden ist, wo Sie anfangen. Bei der progressiven Verbesserung wird mit einer soliden Basis begonnen und von dort aus verbessert, wobei der fortgesetzte Betrieb sichergestellt wird, wenn die Verbesserungen nicht unterstützt werden. Bei einer ordnungsgemäßen Verschlechterung wird mit einer erweiterten Anwendung begonnen. Stellen Sie jedoch sicher, dass bestimmte Elemente weiterhin funktionieren, wenn sie nicht unterstützt werden. Dies bedeutet natürlich, dass es irgendwann einen Übergangspunkt zwischen den beiden Konzepten gibt.

9
Rahul

Progressive Enhancement ist der Prozess, bei dem mit einem festen Basisprodukt begonnen und von dort aus expandiert wird. Sie beginnen beispielsweise mit einem wirklich guten Videoplayer, fügen dann eine Wiedergabeliste hinzu und fügen dann einen Videokonverter hinzu. Grundsätzlich ausgehend von einem einzelnen Punkt und nach Bedarf nach außen erweitern (normalerweise durch Benutzer-Feedback)

Graceful Degradation ist das Gegenteil. Nehmen wir beispielsweise an, Sie haben eine Website mit viel zu vielen Funktionen erstellt. Sie können den Prozess der Graceful Degradation verwenden, um die unnötigen Funktionen langsam zu entfernen und die wichtigen zu verstärken. edit: stelle es dir wie ein Netz vor ... Du willst so viel wie möglich fangen, dann ziehst du dich um das zusammen, was du tatsächlich fängst.

Ich glaube, dass progressive Verbesserungen für die meisten Projekte normalerweise ein besseres "Modell" sind, da es sehr leicht ist, in einen Prozess endloser Ideen oder "Feature-Creep" zu geraten. Wenn Sie einem progressiven Modell folgen, können Sie dies vermeiden, indem Sie direkt auf Benutzerfeedback reagieren und nach Bedarf erweitern. Es erfordert jedoch einen flexibleren Ansatz, da es schwieriger ist, eine Vision Ihres Endziels zu haben ... (aber sehr oft landen beide Modelle am selben Ort, daher denke ich, dass es besser ist, klein anzufangen).

Hoffe das hilft, sorry für die Länge.

2
Motolix