it-swarm-eu.dev

Quali sono le differenze tra Progressive Enhancement e Graceful Degradation?

Che cos'è Progressive Enhancement? Non sono in grado di capire questo concetto. Come funziona e come è un modello diverso/migliore (?) Rispetto a Graceful Degradation?

7
pramodc84

La risposta di Motolix è molto ampia, quindi vorrei aggiungere la risposta specifica per lo sviluppo web.

Miglioramento progressivo è quando si crea un sito Web che è disponibile per tutti, ma poi si aggiungono funzionalità avanzate in livelli che migliorano l'esperienza per coloro che possono accedervi . Ad esempio, un sito Web di testo di base può essere aggiornato per includere un design (fogli di stile), funzionalità interattive (javascript) e video (flash). Ma il sito Web continua a funzionare come un sito Web basato su testo. Maggiori informazioni su definizione di wikipedia di miglioramento progressivo .

Il degrado aggraziato è un aspetto di sistemi a tolleranza d'errore dove il tuo progetto continua a funzionare anche se alcuni punti del progetto possono " non funziona. L'articolo di Wikipedia elenca HTML come un buon esempio: HTML5 funziona in tutti i browser perché gli stessi parser HTML non si rompono se ci sono tag non riconosciuti. Ma poiché i browser più vecchi non riconoscono quei tag, non possono nemmeno fornire la funzionalità ad essi associata (come i vari nuovi tipi di input come intervallo, numero, data, ora, colore, ecc.). Un altro esempio è l'impostazione del colore e del colore di sfondo nei CSS, ma possibilmente sovrascrivendo il colore con un'immagine. Se l'immagine non viene caricata, si desidera che il testo sia ancora leggibile, ma ciò potrebbe non essere il caso se non si garantisce che il colore di sfondo sia uno che consenta la leggibilità del testo.

La differenza tra i due è da dove inizi. Il miglioramento progressivo comporta l'avvio con una base solida e il miglioramento da lì, garantendo al contempo il funzionamento continuo se i miglioramenti non sono supportati. Il degrado gradevole comporta l'avvio con un'applicazione avanzata, ma assicurandosi che se alcuni elementi non sono supportati, continui a funzionare. Ovviamente, questo significa che c'è un punto di crossover tra i due concetti ad un certo punto.

9
Rahul

Progressive Enhancement è il processo che parte da un prodotto di base solido e si espande da lì. Ad esempio, inizi con un lettore video davvero buono, quindi aggiungi una playlist, quindi aggiungi il convertitore video. Fondamentalmente, a partire da un singolo punto ed espandendosi verso l'esterno secondo necessità (di solito tramite feedback degli utenti)

Graceful Degradation è l'opposto, ad esempio, afferma che hai creato un sito Web con troppe funzionalità: potresti utilizzare il processo di grazioso degrado per eliminare lentamente le funzionalità non necessarie e rafforzare quelle importanti. modifica: pensala come una rete ... Inizi a voler catturare il più possibile, poi ti contraggi intorno a ciò che effettivamente catturi.

Credo che il miglioramento progressivo sia di solito un "modello" migliore per la maggior parte dei progetti, in quanto è molto facile rimanere intrappolati in un processo di idee senza fine o "creep". Seguendo un modello progressivo, è possibile evitarlo rispondendo direttamente al feedback degli utenti ed espandendosi secondo necessità. Tuttavia, richiede un approccio più flessibile in quanto è più difficile avere una visione del tuo obiettivo finale ... (ma molto spesso, entrambi i modelli finiscono nello stesso posto, quindi penso che sia meglio iniziare in piccolo).

Spero che ti aiuti, scusami per la lunghezza.

2
Motolix