tutorial funciona espaƱol ejemplos definicion curso como caracteristicas javascript unobtrusive

funciona - javascript pdf



Diferencia entre javascript obtuso y discreto (5)

  1. Separación de HTML y JavaScript (defina su JavaScript en archivos JavaScript externos)
  2. Grave degradación (partes importantes de la página aún funcionan con JavaScript desactivado).

Para una explicación larga, revise la página de Wikipedia sobre el tema.

¿Cuál es la diferencia entre javascript obtrusivo y discreto - en inglés sencillo. La brevedad es apreciada. Los ejemplos cortos también son apreciados.


Ningún javascript en el marcado es discreto:

<div id="informationHeader">Information</div>

entrometido:

<div onclick="alert(''obstrusive'')">Information</div>


Para ampliar la respuesta de Mike: el uso de comportamiento UJS se agrega "más tarde".

<div id="info">Information</div> ... etc ... // In an included JS file etc, jQueryish. $(function() { $("#info").click(function() { alert("unobtrusive!"); } });

UJS también puede implicar una degradación suave (mi tipo favorito), por ejemplo, otro medio para acceder a la #info clic de #info , tal vez proporcionando un enlace equivalente. En otras palabras, ¿qué pasa si no hay JavaScript, o estoy usando un lector de pantalla, etc.


discreto - "no entrometido, discreto, inseguro o reticente".

entrometido - "tener o mostrar una disposición a obstinarse, como al imponerse uno mismo o las opiniones de uno sobre los demás".

obtruir - "empujar (algo) hacia adelante o sobre una persona, especialmente sin orden o invitación"

Entonces, hablando de imponer las propias opiniones, en mi opinión, la parte más importante del JavaScript discreto es que, desde el punto de vista del usuario, no se interpone en el camino. Es decir, el sitio seguirá funcionando si JavaScript está desactivado por la configuración del navegador. Con o sin JavaScript activado, el sitio seguirá estando accesible para las personas que usen lectores de pantalla, un teclado y ningún mouse, y otras herramientas de accesibilidad. Tal vez (probablemente) el sitio no sea tan "elegante" para tales usuarios, pero aún así funcionará.

Si piensa en términos de "mejora progresiva", la funcionalidad principal de su sitio funcionará para todos, sin importar cómo accedan a ella. Luego, para los usuarios con JavaScript y CSS habilitados (la mayoría de los usuarios) lo mejora con más elementos interactivos.

El otro factor clave "discreto" es la "separación de preocupaciones", algo a lo que los programadores se preocupan, no a los usuarios, pero puede ayudar a evitar que el lado de JavaScript de las cosas se entrometa en la experiencia de los usuarios. Desde el punto de vista del programador, evitar guiones en línea tiende a hacer que el marcado sea mucho más bonito y fácil de mantener. En general, es mucho más fácil depurar secuencias de comandos que no están dispersas en un grupo de controladores de eventos en línea.


No apruebo esto más, ya que era válido en 2011, pero tal vez no en 2018 y más allá.

Separación de intereses. Su HTML y CSS no están vinculados a su código JS. Su código JS no está en línea con algún elemento HTML. Su código no tiene una función grande (o no función) para todo. Tienes funciones breves y concisas.

Modular. Esto sucede cuando separas las preocupaciones correctamente. Por ejemplo, su impresionante animación de lienzo no necesita saber cómo funcionan los vectores para dibujar un cuadro.

No mates a las personas si no tienen JavaScript instalado o si no ejecutas los navegadores más recientes. Haz lo que puedas para degradar la experiencia.

No construyas montañas de basura cuando solo necesitas hacer algo pequeño. Las personas complican infinitamente su código volviendo a seleccionar los elementos DOM, elaborando HTML semántico y lanzando ID numerados allí, y otras cosas extrañas que ocurren porque no entienden el modelo de documento o algún otro tipo de tecnología, por lo que confían en Capas de abstracción "mágicas" que ralentizan todo hasta la velocidad de la basura y traen montañas de sobrecarga.