JavaScript discreto


JavaScript discreto es un enfoque general para el uso de JavaScript del lado del cliente en páginas web, de modo que si las funciones de JavaScript están total o parcialmente ausentes en el navegador web de un usuario , entonces el usuario notará lo menos posible cualquier falta de la funcionalidad de JavaScript de la página web. [1] El término ha sido utilizado por diferentes escritores técnicos para enfatizar diferentes aspectos del desarrollo web front-end . Para algunos escritores, el término se ha entendido de manera más general para referirse a la separación de la funcionalidad (la "capa de comportamiento") de la estructura/contenido y presentación de una página web , [2]mientras que otros escritores han usado el término de manera más precisa para referirse al uso de mejoras progresivas para admitir agentes de usuario que carecen de ciertas funciones de JavaScript y usuarios que tienen JavaScript deshabilitado. [3] Siguiendo la última definición, JavaScript no intrusivo contribuye a la accesibilidad web en la medida en que ayuda a garantizar que todos los usuarios, cualquiera que sea su plataforma informática, obtengan aproximadamente el mismo acceso a toda la información y funcionalidad de la página web. [4] [5]

Una página web dinámica típica del lado del cliente puede concebirse como compuesta de cuatro partes: el contenido marcado ( HTML ), la hoja de estilo ( CSS ), JavaScript del lado del cliente y objetos incrustados como imágenes. [6] : 5  La parte de JavaScript del lado del cliente puede concebirse como una mejora de las otras partes mediante la adición de características o funciones que no serían posibles sin JavaScript. [6] : 3 

El concepto de "discreción" en relación con el JavaScript del lado del cliente fue acuñado en 2002 por Stuart Langridge [7] en el artículo "Discreto DHTML y el poder de las listas desordenadas". [8] En el artículo, Langridge abogó por una forma de mantener todo el código JavaScript, incluidos los controladores de eventos, fuera del HTML cuando se usa HTML dinámico (DHTML). [7] Dijo que el propósito de este tipo de organización de código era "brindar una mejor experiencia de usuario para las personas cuyos navegadores pueden admitirlo, y no afectar a aquellos cuyos navegadores no pueden", al tiempo que facilita la creación de secuencias de comandos para los desarrolladores web . [7]Langridge luego amplió este pensamiento y enfatizó que el significado central de "discreto" es que "si un navegador web determinado no es compatible con las funciones DHTML que está utilizando, esa ausencia debería afectar la experiencia del usuario lo menos posible". [1] En otras palabras, para Langridge, "discreto" se refiere principalmente a la experiencia de los usuarios de la ausencia de funciones de JavaScript en una situación determinada. [1]

El libro de David Flanagan JavaScript: The Definitive Guide (2006) dice que si bien no existe una fórmula específica, hay tres objetivos principales de JavaScript discreto: [4]

El Proyecto de Estándares Web , en su Manifiesto de JavaScript (2006), dijo que el "propósito de JavaScript es mejorar la usabilidad de las páginas web al agregarles interacción", y describió cuatro beneficios de las secuencias de comandos DOM discretas: [9]

Para la Conferencia web de París en 2007, Christian Heilmann identificó siete reglas de JavaScript discreto, algunas de las cuales tenían un alcance más amplio que otras definiciones más estrechas de "discreto": [10]