Cargando



AngularJS - JavaScript no Intrusivo

En este tutorial vamos a ver algunas cosas sobre JavaScript no intrusivo y como se refleja esto en AngularJS.


jul 25 2014 18:54
Avanzado
jul 30 2014 12:17
En algún momento debimos haber escuchado el termino de Javascript no intrusivo, esto significa no escribir código Javascript directo en el HTML y que nuestra aplicación pueda funcionar igual de bien si no tuviésemos el Javascript habilitado.

Esto ha sido una premisa por muchos años debido a que hasta hace poco los navegadores no tenían un comportamiento igual bajo los mismos códigos en Javascript, además que el tipo y estilo de desarrollo nos llevaba a cada vez más realizar todo del lado del servidor.

Con el cambio de mentalidad y la aparición de nuevos estilos de programación además de las mejoras en la interpretación de Javascript entre diferente navegadores las cosas han cambiado.

Razones por las Cuales se Debe Escribir Javascript no Intrusivo


Para saber el porqué de este estilo de codificación de las aplicaciones, debemos ver las razones que llevaron a estas conclusiones:

Razón 1
No todos los navegadores soportan Javascript, por ello la aplicación debe funcionar sin necesidad de depender de funcionalidades escritas en este lenguaje.

Razón 2
Las personas que utilizan navegadores para discapacitados visuales no tienen forma de trabajar con nuestra aplicación, además los navegadores móviles no soportan este lenguaje.

Razón 3
Javascript trabaja de diferentes formas en cada navegador, siendo Internet Explorer el que hace esta diferencia más notable.

Razón 4
Los manejadores de eventos trabajan de forma global, por ello podemos tener conflictos al momento de integrar otras librerías que tengan los mismos nombres.

Razón 5
Los manejadores de evento combinan estructura y comportamiento, haciendo del mantenimiento del código algo más difícil.


Si estamos al corriente de las últimas tendencias web, podemos saber que por lo menos el punto 1 y 2 de lo que hemos explicado ya no se aplica, de hecho si desactivamos el Javascript en nuestro navegador probablemente no podamos ver el 90% de las web de hoy en día; en cuanto a los móviles ya sus navegadores trabajan con Javascript de la misma forma que sus contraparte de escritorio y con un rendimiento a la par.

En cuanto a las razones 3 y 4 AngularJS nos ofrece una forma diferente de aplicar el código de forma que no tengamos que preocuparnos, lo primero la diferencia de comportamientos de los navegadores es transparente para el programador, es decir, AngularJS se ocupa de traducir la instrucción de forma adecuada para Internet Explorer básicamente.

Luego los manejadores de evento no tienen un ámbito global, si no que están limitados al $scope de nuestro elemento AngularJS, por ello podemos definir una función en un evento Click de la siguiente forma:

angular_javascript_nointrusivo.jpg


Si nos fijamos el evento click lo manejamos con ng-click, algunos podrán pensar que esto está muy mal, sin embargo no es así, debido a que este evento está dentro del ámbito de su elemento, por ello cuando definimos la función con AngularJS esta puede comportarse de diferentes formas aunque tenga el mismo nombre, veamos como definimos el Javascript:


angular_javascript_nointrusivo2.jpg


Aquí demostramos como el $scope o ámbito es quien define la diferencia de lo que debe realizar la aplicación cuando se llama al manejador de eventos.

Como vemos AngularJS define nuevamente el concepto de Javascript no intrusivo, dándonos una mayor libertad al momento de escribir nuestras aplicaciones y ayudando con una mejora en la forma en que podemos leer y mantener el código.

¿Te ayudó este Tutorial?


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X