36 votos

No los datos de atributo de opciones que se usan en Bootstrap, Angular.js y Ember.js conflicto con Javascript no Obstructivo principios?

Siempre me han dicho que es buena práctica (ala 'discreta' javascript) separar el código JavaScript de código HTML. Sin embargo, he estado viendo la tendencia opuesta, con un número de nuevos y populares frameworks como Bootstrap, Angular.js y Ember.js. Alguien me puede decir por qué esto no se considera una mala práctica?

27voto

Luke Melia Puntos 5887

Javascript no obstructivo es una buena práctica para muchos lugares en la web. Los marcos de referencia que se menciona a menudo se utilizan para crear en toda regla aplicaciones Javascript. En muchas de estas aplicaciones, la experiencia sin Javascript es a menudo una página en blanco. En ese entorno, el valor de la separación de su margen de Javascript es relativamente baja.

19voto

edzhelyov Puntos 309

Estoy haciendo la misma pregunta y yo hemos llegado a la siguiente conclusión:

HTML es el lenguaje de marcado para la presentación de documentos. La semántica de la que todo el mundo se está refiriendo a su alrededor es realmente relacionados a la representación de los documentos de texto enriquecido. Esto incluye imágenes y enlaces que permiten a los más ricos de la experiencia. Los mismos principios pueden ser aplicados a documentos de Word, donde en lugar de marcar un texto específico como el rojo, se puede marcar como el énfasis y estilo al énfasis como el rojo, que va a ser semánticamente correcta manera de expresar la intención.

El problema surge porque los HTML que incluye elementos que permiten la interacción del usuario - formas . El diseño inicial fue permitir a los no profesionales para crear sencillos e interactivos de la UIs. Cuando me registré diferentes escritorio GUI no hay tal cosa como la separación entre la vista y la vista de la lógica, porque cuando se construye el GUI no es necesario que la separación.

Para mí, la importancia es ¿cuánto de lo que la escritura está basada en el contenido o basada en GUI. Debido a que el HTML sirve para dos propósitos es difícil saber qué sirven desde el servidor. Básicamente sitios como la Wikipedia, e incluso de Stackoverflow están contenidos orientados. Esto significa que si quiere ser accesible a la más amplia gama de clientes, como los bots y los navegadores antiguos que debe ser capaz de transmitir a puro html. Estoy pensando en dos posibles estrategias cuando se desea proporcionar contenido y algunos más rica experiencia de interfaz de usuario, como la textare donde estoy escribiendo este comentario. El uno es el servidor el código html y, a continuación, inicializar la interfaz gráfica de usuario. Esto también se conoce como discreta javascript y HTML semántico. Esto es lo que la mayoría de contenido de sitios orientados a hacer. Esto es principalmente para ser capaz de beneficiarse de los navegadores y los bots que va a permitir que su contenido sea más accesible. La otra estrategia será la de identificar el tipo de cliente y servir a los distintos contenidos, que sólo puede ser logrado de forma fiable sólo en el lado del cliente, debido a que en ambos casos html será servido. Esto es todavía cerca de la primera de nuestra estrategia, porque de la manera que HTML es consumido como el contenido y la interfaz de usuario de la representación.

Si usted está escribiendo una aplicación que no ofrecen contenido, pero el actual servicio/proceso luego de la arquitectura como AngularJS y similares se adaptan mejor.

En mi experiencia la mayoría de las empresas tienen que proporcionar ambos. Digamos que usted tiene una aplicación que utiliza HTML/Javascript para permitir a los usuarios crear dibujos. Esta aplicación no necesita seguir cualquier discreta directrices, pero no será capaz de funcionar en navegadores antiguos. Pero si usted proporciona un intercambio social de los dibujos entre los usuarios, permitiendo a los comentarios y otros contenidos, a continuación, es mejor escribir esta parte de la web de una manera que los robots y otros clientes pueden acceder a los contenidos fácilmente.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X