LIBRERIA ANGULAR. PARTE 0. ANGULAR 101

<script src=”my own” title=”angular 101″>

Os saludo, Criaturitas del Señor, esperando que no se hayan molestado por no continuar el post el miércoles pasado (andaba de fuerte laburo), de antemano me disculpo por la tardanza, pero vamos que lo bueno se hace esperar, ¿no? 😛

Con algo hay que empezar

Angular.js es un framework orientado al front-end que posee componentes para contextualizar las páginas web de forma semántica. Es decir, que este framework es capaz de permitirnos escribir nuestras páginas HTML con un significado propio:

<libreria>
	<galeria seleccionable="true" slider="false">
		<libro nombre="Lo que el viento se llevó" precio="Bs. 240" comprable="true"></libro>
		<libro nombre="Riesgo Calculado" precio="Bs. 210" comprable="false"></libro>
		<libro nombre="Desarrollo con Angular.js" precio="Bs. 310" comprable="true"></libro>
	</galeria>
</libreria>

Antes de llegar a este nivel de especificidad, requerimos aprender algunos conceptos básicos para ir por partes, como Jack el Destripador, que es de lo que va este primer post, pero el objetivo principal es éste.

Arquitectura

Angular.js es un framework con una arquitectura similar a MVC (Modelo-Vista-Controlador) pero, ¿sólo en la vista? Viéndolo así, es verdad que debería ser definido con otras características.

Hablando en términos de generalización de la arquitectura, un modelo representa una abstracción de los datos de la aplicación, que para efectos de la interfaz bien podría representar un campo de formulario, mientras que una vista contiene la presentación al usuario final, pero en este caso, pudieramos decir que no existe. Por otro lado, un controlador representa el encapsulamiento de un comportamiento determinado de los datos respecto al sistema en general, que en nuestro caso puede representar un listener.

Separa la lógica de presentación con la lógica de los datos

Dicho esto, se puede dejar en términos generales que entre el modelo y la vista puede existir cualquier tipo de interacción (no necesariamente que defina o encapsule comportamientos). De ese modo podemos definir un tipo de arquitectura MV* o MVW (acrónimo en inglés para Model-View-Whatever), en la que los datos modifican interfaces y las interacciones modifican datos. De este comportamiento se hablará más adelante.

Componentes

Angular.js cuenta con Directivas, Controladores, Módulos, Fábricas y Servicios, Filtros y otras Utilidades Globales que complementan la funcionalidad de este framework para definir comportamientos, interacciones, validaciones y todo lo relacionado con interfaces de páginas web. A continuación se explican en forma sencilla los conceptos involucrados con estos componentes:

  • Módulo: La pieza central de Angular.js. (Casi) Todo en Angular es un módulo o un encapsulamiento de un determinado comportamiento, sólo que se utiliza en contextos distintos a lo largo de la aplicación.
  • Directivas: Son módulos de Angular.js orientados a establecer patrones de comportamiento dentro de las etiquetas HTML.
  • Controladores: Un controlador es un módulo que actúa como supervisor del comportamiento entre los diferentes modelos o componentes de la aplicación.
  • Fábricas: Son módulos que sirven datos comunes a componentes específicos de la aplicación (requerida por ejemplo para el paso de parámetros entre controladores).
  • Servicios: Son módulos que sirven datos comunes a toda la aplicación (generalmente requerido cuando se desea obtener datos via back-end).
  • Filtros: Son módulos que se encargan de dar formato a los datos presentados en la aplicación, tales como: fechas, cadenas de texto, números decimales entre otros.
  • Utilidades Globales: Consta de una API de módulos con utilidades para diferentes tipos de estructuras de datos (validaciones, iteraciones, mapeo no-relacional, algoritmos map-reduce, animaciones, etc.)

Existen otros conceptos que serán tratados en la medida que se vaya desarrollando la aplicación. ¡Nos vemos pronto en el próximo post! 😉

</script>

Anuncios

Un comentario en “LIBRERIA ANGULAR. PARTE 0. ANGULAR 101

Los comentarios están cerrados.