2008-08-05 24 views
20

Jeff mencionó el concepto de 'Mejora progresiva' al hablar sobre el uso de JQuery para escribir stackoverflow.¿Qué es la mejora progresiva?

Después de un rápido Google, encontré un par de discusiones de alto nivel al respecto.

¿Alguien puede recomendar un buen lugar para comenzar como programador.

Específicamente, he estado escribiendo aplicaciones web en PHP y me gustaría usar YUI para mejorar las páginas que estoy escribiendo, pero muchas parecen estar basadas en JavaScript, y la mayor parte del trabajo de burro se hace usando JavaScript. Para mí, eso parece un poco exagerado, ya que ver el sitio sin Javascript probablemente romperá la mayor parte.

Cualquiera tiene algunos buenos lugares para comenzar a usar esta idea, realmente no me importa el idioma.

Idealmente, me gustaría ver cómo se comienza a crear primero el HTML estático y luego se agrega el YUI (o el marco Ajax) para obtener los beneficios de un cliente más rico.

+0

Enlace a una publicación de blog para lo mismo: http://www.neerajkumar.net/blog/2012/08/19/progressive-enhancement/ – Neeraj

Respuesta

10

Véase también Unobtrusive Javascript que es la mejora progresiva del lecho de roca está construida.

+0

Excelente enlace allí. Por alguna razón, no se me ocurrió escribir en Wikipedia. :) – kaybenleroll

14

Como usted ha dicho

Para mí, que parece un poco exagerado, ya que ver el sitio sin Javascript probablemente romper la mayor parte de ella.

Esto no es una mejora progresiva. Mejora progresiva es cuando el sitio funciona perfectamente sin JavaScript o CSS, y luego agregando (capas) estas tecnologías adicionales/código para aumentar la usabilidad y la funcionalidad del sitio web.

El mejor ejemplo que puedo dar es el cuadro de entrada de etiquetas en este sitio web. Con JavaScript desactivado, funcionaría permitiéndole ingresar etiquetas separadas por un espacio. Con JavaScript activado, obtendrá un menú desplegable con sugerencias de entradas anteriores.

Esto es una mejora progresiva.

4

Escribí tutorial para crear una encuesta que utilizara la mejora progresiva en NETTUTS. La idea es crear un sitio funcional usando XHTML/CSS y PHP, y luego interceptar formularios, etc. con Javascript. (Usé JQuery).

3

Ir a él desde la otra dirección a veces se conoce como degradación elegante. Esto generalmente se necesita cuando el sitio se construye primero con la funcionalidad mejorada brindada por las diversas tecnologías y luego se modifica para degradar con gracia para los navegadores, ya que esas tecnologías no están disponibles.

También es graciosa la degradación cuando se diseña para trabajar con navegadores antiguos (antiguas en la terminología Internets), tales como Internet Explorer 5.5, Netscape, etc ...

En mi opinión, es mucho más trabajo para poder funcionar fácilmente la solicitud. Progresivamente mejorarlo tiende a ser mucho más eficiente; sin embargo, a veces surge la necesidad de tomar una aplicación existente y hacerla accesible en estos entornos deficientes.

3

Básicamente, si su sitio aún funciona con JavaScript desactivado, todo lo que agregue con JavaScript se puede considerar una mejora progresiva.

Algunas personas pueden pensar que esto es innecesario, pero muchas personas navegan con complementos como NoScript (o, con JavaScript simplemente desactivado en la configuración de su navegador). Además, muchos navegadores web móviles pueden o no admitir JavaScript. Por lo tanto, siempre es una buena idea probar tu sitio completamente con y sin JavaScript.

2

Este es un concepto tan importante y me entristece que tan pocos desarrolladores web lo entiendan.

Básicamente, comience por crear un sitio/marco en HTML simple normal: elementos estructurales, enlaces y formularios. Luego agrega un poco de estilo y luego cosas brillantes (Ajax o lo que sea).

No es muy difícil. Como dice palehorse, la degradación elegante es más trabajo.

Los sitios web deben funcionar en cualquier agente de usuario, no se ven igual (ni siquiera se ven pero suenan si tiene problemas de la vista), solo funcionan.

2

mejora progresiva:

  1. El sitio HTML/CSS llanura es impresionante (totalmente funcional y fácil de usar).
  2. Agregar JavaScript define un nuevo nivel de asombroso.
3

mejora progresiva es una técnica de desarrollo que hace hincapié en la primacía de la semántica HTML, entonces las pruebas de capacidad de browser- y condicionalmente "capas" en JavaScript y/o mejoras en CSS para los navegadores que pueden utilizar esas mejoras.

Una de las claves es la comprensión de que estamos probando para lo que el navegador puede hacer , en lugar de en navegador olfateando. Modernizr es un conjunto de pruebas de capacidades de navegador muy popular.

Progressive-Enhancement es inherentemente (sección 508) accesible; proporciona para cumplir con la letra de la ley y el espíritu de la regla.

The Filament Group escribió el excelente libro "Designing With Progressive Enhancement" sobre el tema. (No estoy afiliado a Filament Group, aunque son tan geniales, ojalá lo fuera.)

Cuestiones relacionadas