Adrian Eguez
Windows, Mobile and Web Developer with Node.js and Angular, Proffesor in Escuela Politécnica Nacional
Tecnologías Web con Javascript
(y aún más!)
Ing. Adrián Égüez
Escuela Politécnica Nacional
Septiembre 2015
Frontend Con SPA (Angularjs)
Arquitectura
Ing. Adrián Egüez
Escuela Politécnica Nacional
Arquitectura
Forms
Directivas
Controladores
Animaciones
Filters
Servicios
Beneficios
Conceptos
MV*
Angularjs
Directivas
Factories
Rutas
En un SPA, toda la aplicación se ejecuta como una sola página web. En este enfoque, la capa de presentación para toda la aplicación ha sido un factor fuera del servidor y es gestionado desde el navegador.
Fuente: Spa Design and Architecture
Cada solicitud para una (página HTML) nueva se traduce en una ida y vuelta al servidor, cuando se necesitan datos la solicitud es interceptada por un objeto controlador dentro de la capa de presentación. El controlador entonces interactúa con la capa del modelo a través de la capa de servicio, que determina los componentes necesarios para completar la tarea en las capas de modelo.
Fuente: Spa Design and Architecture
Cambiando el proceso para la creación y gestión de vistas en la interfaz de usuario, esta se desacopla del servidor. Desde un punto de vista arquitectónico, esto le da al SPA un beneficio interesante. A menos que se este haciendo presentación parcial en el servidor, el servidor ya no es necesario para la presentación de los datos.
Fuente: Spa Design and Architecture
Frontend Con SPA (Angularjs)
Angularjs
Ing. Adrián Egüez
Escuela Politécnica Nacional
Arquitectura
Forms
Directivas
Controladores
Animaciones
Filters
Servicios
Beneficios
Conceptos
MV*
Angularjs
Directivas
Factories
Rutas
Es un framework de aplicaciones web de código abierto mantenido principalmente por Google y por una comunidad de desarrolladores y empresas individuales. Su objetivo es simplificar el desarrollo y las pruebas de este tipo de aplicaciones, proporcionando un marco para el lado del cliente modelo-vista-controlador (MVC) y el modelo-vista-ViewModel (MVVM) arquitectura, junto con los componentes de uso común en aplicaciones dinámicas de Internet.
Fuente: https://en.wikipedia.org/wiki/AngularJS
Fuente: Angularjs - Green Seshbadry
El controlador es el punto de entrada de la solicitud, la recepción de señales de los controles en la interfaz de usuario. También contiene la lógica que procesa la entrada del usuario y envía comandos al modelo para actualizar su estado basado en la entrada recibida.
Fuente: Angularjs - Green Seshbadry
Los servicios son (única instancia) objetos únicos que llevan a cabo las tareas necesarias para soportar la funcionalidad de la aplicación.
Fuente: Angularjs - Green Seshbadry
La llamada a la API se utiliza cada vez que tenemos una clase u objeto que necesita una cierta cantidad de la lógica o los parámetros antes de que pueda ser inicializado. Una fábrica es una función que se encarga de la creación de un valor determinado (u objeto).
Fuente: Angularjs - Green Seshbadry
Los filtros le permiten transformar los datos para mostrar al usuario los datos dentro de una plantilla definida.
La sintaxis para utilizar filtros es:
{{Expresión | filterName: parámetro1: ... parameterN}}
Fuente: Angularjs - Green Seshbadry
Extienden la sintaxis HTML, y son la manera de asociar el comportamiento y las transformaciones del Document Object Model DOM con elementos y atributos personalizados. A través de ellos, puede crear componentes de interfaz de usuario reutilizables, configurar la aplicación, y hacer casi cualquier cosa que puedas imaginar que quiera hacer en la plantilla de interfaz de usuario.
Fuente: Angularjs - Green Seshbadry
Frontend Con SPA (Angularjs)
Angularjs
Ing. Adrián Egüez
Escuela Politécnica Nacional
Arquitectura
Forms
Directivas
Controladores
Animaciones
Filters
Servicios
Beneficios
Conceptos
MV*
Angularjs
Directivas
Factories
Rutas
Contienen a la aplicación de Angularjs, dentro de esta se pueden usar controladores, servicios, factories, Directivas, etc
Fuente: SPA Design and Architectura
Es lo que actualiza nuestra vista y nuestro controlador, además tiene jerarquias dentro de la aplicacion como un arbol.
Fuente: SPA Design and Architectura
Se puede acceder a los $scope padres como a los hijos
Fuente: SPA Design and Architectura
Para comunicarse entre los scopes existen dos métodos, $broadcast y $emit
Fuente: SPA Design and Architectura
El $scope mantiene actualizado tanto la vista como al modelo cuando usamos el "Two way data binding"
Fuente: SPA Design and Architectura
El $scope solo actualiza la vista
Fuente: SPA Design and Architectura
By Adrian Eguez
Librería SPA mantenida por google muy utilizada en el 2014 - 2015
Windows, Mobile and Web Developer with Node.js and Angular, Proffesor in Escuela Politécnica Nacional