AngularJS - Descripción general
AngularJS es un marco de aplicación web de código abierto. Fue desarrollado originalmente en 2009 por Misko Hevery y Adam Abrons. Ahora es mantenido por Google. Su última versión es 1.2.21.
La definición de AngularJS tal como lo indica su documentación oficial es la siguiente:
AngularJS es un marco estructural para aplicaciones web dinámicas. Le permite usar HTML como su lenguaje de plantilla y le permite extender la sintaxis de HTML para expresar los componentes de su aplicación de manera clara y sucinta. Su enlace de datos y su inyección de dependencia eliminan gran parte del código que tiene que escribir actualmente. Y todo sucede dentro del navegador, lo que lo convierte en un socio ideal con cualquier tecnología de servidor.
Características generales
Las características generales de AngularJS son las siguientes:
AngularJS es un marco eficiente que puede crear aplicaciones de Internet enriquecidas (RIA).
AngularJS ofrece a los desarrolladores opciones para escribir aplicaciones del lado del cliente utilizando JavaScript en una forma limpia de Model View Controller (MVC).
Las aplicaciones escritas en AngularJS son compatibles con todos los navegadores. AngularJS maneja automáticamente el código JavaScript adecuado para cada navegador.
AngularJS es de código abierto, completamente gratuito y utilizado por miles de desarrolladores en todo el mundo. Tiene la licencia de Apache versión 2.0.
En general, AngularJS es un marco para crear aplicaciones web a gran escala, de alto rendimiento y fáciles de mantener.
Funciones principales
Las características principales de AngularJS son las siguientes:
Data-binding - Es la sincronización automática de datos entre el modelo y los componentes de la vista.
Scope- Son objetos que hacen referencia al modelo. Actúan como un pegamento entre el controlador y la vista.
Controller - Estas son funciones de JavaScript vinculadas a un ámbito particular.
Services- AngularJS viene con varios servicios integrados como $ http para hacer XMLHttpRequests. Estos son objetos singleton que se instancian solo una vez en la aplicación.
Filters - Estos seleccionan un subconjunto de elementos de una matriz y devuelven una nueva matriz.
Directives- Las directivas son marcadores en elementos DOM como elementos, atributos, css y más. Estos se pueden utilizar para crear etiquetas HTML personalizadas que sirven como nuevos widgets personalizados. AngularJS tiene directivas integradas como ngBind, ngModel, etc.
Templates- Estas son la vista renderizada con información del controlador y el modelo. Pueden ser un solo archivo (como index.html) o múltiples vistas en una página usando parciales .
Routing - Es el concepto de cambio de vistas.
Model View Whatever- MVW es un patrón de diseño para dividir una aplicación en diferentes partes llamadas Modelo, Vista y Controlador, cada una con distintas responsabilidades. AngularJS no implementa MVC en el sentido tradicional, sino algo más cercano a MVVM (Model-View-ViewModel). El equipo de Angular JS lo refiere con humor como Model View Whatever.
Deep Linking- Los enlaces profundos permiten codificar el estado de la aplicación en la URL para que se pueda marcar. Luego, la aplicación se puede restaurar desde la URL al mismo estado.
Dependency Injection - AngularJS tiene un subsistema de inyección de dependencia incorporado que ayuda al desarrollador a crear, comprender y probar las aplicaciones fácilmente.
Conceptos
El siguiente diagrama muestra algunas partes importantes de AngularJS que analizaremos en detalle en los capítulos siguientes.
Ventajas de AngularJS
Las ventajas de AngularJS son:
Proporciona la capacidad de crear aplicaciones de una sola página de una manera muy limpia y fácil de mantener.
Proporciona capacidad de enlace de datos a HTML. Por lo tanto, brinda al usuario una experiencia rica y receptiva.
El código AngularJS se puede probar por unidad.
AngularJS usa la inyección de dependencia y hace uso de la separación de preocupaciones.
AngularJS proporciona componentes reutilizables.
Con AngularJS, los desarrolladores pueden lograr más funcionalidad con código corto.
En AngularJS, las vistas son páginas html puras y los controladores escritos en JavaScript hacen el procesamiento comercial.
Además de todo, las aplicaciones AngularJS pueden ejecutarse en todos los principales navegadores y teléfonos inteligentes, incluidos los teléfonos / tabletas con Android e iOS.
Desventajas de AngularJS
Aunque AngularJS tiene muchos méritos, aquí hay algunos puntos de preocupación:
Not Secure- Al ser solo un marco de JavaScript, las aplicaciones escritas en AngularJS no son seguras. La autenticación y autorización del lado del servidor es imprescindible para mantener segura una aplicación.
Not degradable - Si el usuario de su aplicación deshabilita JavaScript, no se verá nada, excepto la página básica.
Directivas AngularJS
El marco de AngularJS se puede dividir en tres partes principales:
ng-app - Esta directiva define y vincula una aplicación AngularJS a HTML.
ng-model - Esta directiva vincula los valores de los datos de la aplicación AngularJS a los controles de entrada HTML.
ng-bind - Esta directiva vincula los datos de la aplicación AngularJS a las etiquetas HTML.