it-swarm-es.com

¿Cuáles son las diferencias entre mejora progresiva y degradación elegante?

¿Qué es Mejora progresiva? No puedo entender este concepto. ¿Cómo funciona y cómo es un modelo diferente/mejor (?) Que Degradación elegante?

7
pramodc84

La respuesta de Motolix es muy amplia, así que permítanme agregar la respuesta específica para el desarrollo web.

Mejora progresiva es cuando creas un sitio web que está disponible para todos, pero luego agregas funcionalidades avanzadas en capas que mejoran la experiencia para aquellos que pueden acceder a él . Por ejemplo, un sitio web de texto básico se puede actualizar para incluir un diseño (hojas de estilo), funcionalidad interactiva (javascript) y video (flash). Pero el sitio web continúa funcionando solo como un sitio web basado en texto. Lea más en definición de Wikipedia de mejora progresiva .

La degradación elegante es un aspecto de sistemas tolerantes a fallas donde su diseño continúa funcionando incluso si ciertos puntos del diseño pueden ' t trabajo. El artículo de wikipedia enumera HTML como un buen ejemplo: HTML5 funciona en todos los navegadores porque los analizadores HTML no se rompen si hay etiquetas no reconocidas. Pero como los navegadores más antiguos no reconocen esas etiquetas, tampoco pueden proporcionar la funcionalidad asociada con ellas (como los diversos tipos de entrada nuevos como rango, número, fecha, hora, color, etc.). Otro ejemplo es establecer el color y el color de fondo juntos en CSS, pero posiblemente anular el color con una imagen. Si la imagen no se carga, desea que el texto siga siendo legible, pero ese podría no ser el caso si no se asegura de que el color de fondo sea el que permita que el texto sea legible.

La diferencia entre los dos es donde comienzas. La mejora progresiva implica comenzar con una base sólida y mejorarla desde allí, mientras se asegura la operación continua si las mejoras no son compatibles. La degradación elegante implica comenzar con una aplicación avanzada, pero asegurarse de que si ciertos elementos no son compatibles, continúe funcionando. Obviamente, esto significa que hay un punto de cruce entre los dos conceptos en algún momento.

9
Rahul

La mejora progresiva es el proceso de comenzar con un producto base sólido y expandirse desde allí. Por ejemplo, comienzas con un reproductor de video realmente bueno, luego agregas una lista de reproducción y luego agregas un convertidor de video. Básicamente, comenzando desde un solo punto y expandiéndose hacia afuera según sea necesario (generalmente por retroalimentación del usuario)

La degradación elegante es lo opuesto, por ejemplo, digamos que construyó un sitio web con demasiadas funciones: podría usar el proceso de degradación elegante para eliminar lentamente las funciones innecesarias y reforzar las importantes. editar: piense en ello como una red ... Comienza a querer atrapar tanto como sea posible, luego se contrae alrededor de lo que realmente atrapa.

Creo que la mejora progresiva suele ser un mejor "modelo" para la mayoría de los proyectos, ya que es muy fácil quedar atrapado en un proceso de ideas interminables o "arrastre de características". Al seguir un modelo progresivo, puede evitar esto respondiendo directamente a los comentarios de los usuarios y expandiéndose según sea necesario. Sin embargo, requiere un enfoque más flexible, ya que es más difícil tener una visión de su objetivo final ... (pero muy a menudo, ambos modelos terminan en el mismo lugar, por lo que creo que es mejor comenzar de a poco).

Espero que ayude, perdón por la longitud.

2
Motolix