SlideShare a Scribd company logo
1 of 22
Creación de
Aplicaciones Web con
AngularJS
Módulo 1: Introducción a
AngularJS
Oscar Gensollen Arroyo
Microsoft Certified Trainer
MCSD Web + SharePoint
Arquitecto, Consultor en TI
oscar.gensollen@formativaperu.com
@oscargensollen
Agenda
 ¿Qué es AngularJS?
 AngularJS en contexto
 Modelo MVC
 Usando AngularJS
 Componentes de AngularJS
 Demos: Fundamentos de JavaScript
¿Qué es AngularJS?
 AngularJS es el framework líder para la
construcción de aplicaciones dinámicas
basadas en JavaScript
 Aprovecha las capacidades de HTML y
del navegador para la creación de
aplicaciones del lado-cliente
 Aplica el patron MVC (Model-View-
Controller)
 Es mantenido por Google
AngularJS en contexto
 Lleva la funcionalidad del lado servidor al
navegador
 Dos modelos de aplicación web
 Round-trip
 Interacciones atendidas por el servidor
 Single Page Applications
 Interacciones atendidas por el cliente,
mediante componentes del lado-cliente y/o
interacciones al servidor mediante Ajax
Modelo MVC (1)
 Modelo: contiene los datos con los que el
usuario trabaja.
 Debe contener los datos del dominio.
 Contiene la lógica para crear, administrar
y modificar los datos del dominio
Modelo MVC (2)
 Controladoras: son los components que
conectan los datos del modelo con las
vistas.
 Contienen la lógica para inicializar el
scope.
 Contienen la lógica y comportamientos
requeridos por la vista para presentar
datos del scope, así como actualizar el
scope basandose en la interacción del
usuario.
Modelo MVC (3)
 Vistas: son definidas usando elementos
HTML, los cuales son mejorados y que
generan HTML mediante el uso de data
bindings y directivas.
 Contienen la lógica y tags requeridos
para presentar datos al usuario.
Usando AngularJS
 AngularJS es el framework líder para la
construcción de aplicaciones dinámicas
basadas en JavaScript
 Aprovecha las capacidades de HTML y del
navegador para la creación de aplicaciones
del lado-cliente
 Aplica el patron MVC (Model-View-
Controller)
 Es mantenido por Google
 Usa una version compacta de jQuery
llamada jqLite
(https://docs.angularjs.org/api/ng/function/a
ngular.element)
Componentes de AngularJS (1)
 Módulos.
 Controllers.
 Vistas.
 Directivas.
 Filtros.
 Servicios.
Módulos
 Son los componentes de más alto nivel.
 Sus 3 principales propósitos son:
 Asociar una aplicación AngularJS con una region
de un documento HTML.
 Actuar como un gateway para características
claves.
 Ayuda a orzanizar el código y los componentes de
la aplicación.
var miApp = angular.module(“AppEjemplo”, []);
Aplicando Módulos
 Se usa el atributo ng-app
<html ng-app=“AppEjemplo”>
Controladoras
 Actúan como un conducto entre el modelo y las
vistas.
 Entregan los datos y lógica requerida para un
aspecto de la aplicación.
 Se definen usando el método Module.controller
miApp.controller(“registroCtrl”, function ($scope){
// sentencias
});
Inyección de dependencias
 Angular inyecta las dependencias, según las va
encontrando, mayormente como parámetros de
las funciones
 Mediante los parámetros, se hacen
“demandas”, solicitando a Angular que es lo que
se necesita
miApp.controller(“registroCtrl”, function ($scope,
$filter){
// sentencias
});
Aplicando las controladoras a vistas
 Las controladoras deben ser aplicadas a las
vistas, tal que Angular sepa que parte del
documento HTML forma la vista para
determinada controladora
 Se usa el atributo ng-controller
<div ng-controller=“registroCtrl”>
<!– otras etiquetas -->
</div>
Data-binding
 Son expresiones que permiten enlazar a datos.
 Se consumen los datos expuestos mediante el
component $scope.
 Se pueden usar expresiones JavaScript.
<span>{{ nombres }}</span>
<span>{{ direccion || “(no indicada)” }}</span>
Directivas
 Permiten extender y mejorar el HTML para crear
aplicaciones web enriquecidas.
 Se pueden usar directivas propias de Angular o
crear personalizadas.
 Se usa el método Module.directive
miApp.directive(“resaltar”, function(){
return function (scope, element, attrs){
if (scope.distrito == attrs[“resaltar”]){
element.css(“color”,”yellow”);
}
}
});
Aplicando Directivas a elementos HTML
 Las directivas se pueden aplicar como
elementos o atributos en el HTML.
 La función Factory se aplica cuando Angular
encuentra el elemento o atributo
correspondiente.
<h2 ng-controller=“registroCtrl” resaltar=“Surco”>
Filtros
 Son usados para formatear los datos mostrados
al usuario, dando consistencia a la presentación
dentro un modulo.
 Se pueden usar filtros pre-definidos o crear
personalizados.
 Se usa el método Module.filter
miApp.filter(“nombreDia”,function(){
var nombresDias =
[“Domingo”,”Lunes”,”Martes”,”Miercoles”,”Jueves”,”Vier
nes”,”Sabado”];
return function (input){
return angular.isNumber(input) ?
nombresDias[input] : input;
};
});
Aplicando Filtros
 Los filtros se aplican en expresiones de plantillas
dentro de las vistas.
 Luego de la expresión se usa el caracter “|” y el
nombre del filtro:
<div>
Hoy es {{ dia || “(desconocido)” | nombreDia }}
</div>
Servicios
 Son objetos singleton que proporcionan
funcionalidad que se quiere utilizer a través de
toda la aplicación.
 Algunas funcionalidades clave de Angular ya
son servicios, como $scope y $filter.
 Se pueden crear servicios personalizados con el
método Module.service:
miApp.service(“meses”,function(){
this.mesActual = new Date().getMonth() + 1;
this.mesProximo = this.mesActual + 1;
});
Ejemplo: Usando Servicios
 Para acceder a un servicio, se define una
dependencia:
 Angular usa inyección de dependencias para
ubicar el servicio y pasarlo como parámetro.
miApp.controller(“registroCtrl”,function($scope,
meses){
$scope.fecha = meses.mesActual;
});
¿Quieres más información?
Tenemos cursos en línea, en diversas modalidades
¡Contáctanos!
 www.formativaperu.com
ventas@formativaperu.com

More Related Content

What's hot

Taller de Angular JS: La solución tecnológica perfecta
Taller de Angular JS: La solución tecnológica perfectaTaller de Angular JS: La solución tecnológica perfecta
Taller de Angular JS: La solución tecnológica perfectaOpenExpoES
 
AngularJS 1 - A Superheroic Javascript MVC framework (Spanish)
AngularJS 1 - A Superheroic Javascript MVC framework (Spanish)AngularJS 1 - A Superheroic Javascript MVC framework (Spanish)
AngularJS 1 - A Superheroic Javascript MVC framework (Spanish)Nacho García Fernández
 
Angular.js
Angular.jsAngular.js
Angular.jsGDG Cali
 
Curso Básico de AngularJS
Curso Básico de AngularJSCurso Básico de AngularJS
Curso Básico de AngularJSCarlos Azaustre
 
Introducción a AngularJS
Introducción a AngularJSIntroducción a AngularJS
Introducción a AngularJSAdrián Paredes
 
Introducción a Knockout
Introducción a KnockoutIntroducción a Knockout
Introducción a KnockoutOscar Gensollen
 
Angular js Frontenders Valencia
Angular js Frontenders ValenciaAngular js Frontenders Valencia
Angular js Frontenders ValenciaJavier Ruiz
 
Introducciòn a AngularJS
Introducciòn a AngularJSIntroducciòn a AngularJS
Introducciòn a AngularJSRené Olivo
 
Hack2Progress - Desarrollando una aplicación web con AngularJS
Hack2Progress - Desarrollando una aplicación web con AngularJSHack2Progress - Desarrollando una aplicación web con AngularJS
Hack2Progress - Desarrollando una aplicación web con AngularJSCarlos Azaustre
 
Introducción a AngularJS
Introducción a AngularJS Introducción a AngularJS
Introducción a AngularJS Marcos Reynoso
 
Login social con node.js
Login social con node.jsLogin social con node.js
Login social con node.jsCarlos Azaustre
 
Curso de Desarrollo Web de Platzi
Curso de Desarrollo Web de PlatziCurso de Desarrollo Web de Platzi
Curso de Desarrollo Web de PlatziCarlos Azaustre
 

What's hot (20)

Taller de Angular JS: La solución tecnológica perfecta
Taller de Angular JS: La solución tecnológica perfectaTaller de Angular JS: La solución tecnológica perfecta
Taller de Angular JS: La solución tecnológica perfecta
 
AngularJS 1 - A Superheroic Javascript MVC framework (Spanish)
AngularJS 1 - A Superheroic Javascript MVC framework (Spanish)AngularJS 1 - A Superheroic Javascript MVC framework (Spanish)
AngularJS 1 - A Superheroic Javascript MVC framework (Spanish)
 
Angular.js
Angular.jsAngular.js
Angular.js
 
Por qué AngularJS
Por qué AngularJSPor qué AngularJS
Por qué AngularJS
 
Curso Básico de AngularJS
Curso Básico de AngularJSCurso Básico de AngularJS
Curso Básico de AngularJS
 
Introducción a AngularJS
Introducción a AngularJSIntroducción a AngularJS
Introducción a AngularJS
 
Introducción a Knockout
Introducción a KnockoutIntroducción a Knockout
Introducción a Knockout
 
Angular js Frontenders Valencia
Angular js Frontenders ValenciaAngular js Frontenders Valencia
Angular js Frontenders Valencia
 
AngularJS
AngularJSAngularJS
AngularJS
 
Introducciòn a AngularJS
Introducciòn a AngularJSIntroducciòn a AngularJS
Introducciòn a AngularJS
 
Angular Conceptos Practicos 1
Angular Conceptos Practicos 1Angular Conceptos Practicos 1
Angular Conceptos Practicos 1
 
Advanced angular 1
Advanced angular 1Advanced angular 1
Advanced angular 1
 
Hack2Progress - Desarrollando una aplicación web con AngularJS
Hack2Progress - Desarrollando una aplicación web con AngularJSHack2Progress - Desarrollando una aplicación web con AngularJS
Hack2Progress - Desarrollando una aplicación web con AngularJS
 
Introducción a AngularJS
Introducción a AngularJS Introducción a AngularJS
Introducción a AngularJS
 
Login social con node.js
Login social con node.jsLogin social con node.js
Login social con node.js
 
Curso de Desarrollo Web de Platzi
Curso de Desarrollo Web de PlatziCurso de Desarrollo Web de Platzi
Curso de Desarrollo Web de Platzi
 
Integrando AngularJS y drupal
Integrando AngularJS y drupalIntegrando AngularJS y drupal
Integrando AngularJS y drupal
 
Curso de HTML5
Curso de HTML5Curso de HTML5
Curso de HTML5
 
patron de diseño MVVMo.pptx
patron de diseño MVVMo.pptxpatron de diseño MVVMo.pptx
patron de diseño MVVMo.pptx
 
Presentacion wpf
Presentacion wpfPresentacion wpf
Presentacion wpf
 

Similar to Introduccion a AngularJS

Similar to Introduccion a AngularJS (20)

MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)
 
Introducción a Backbone
Introducción a BackboneIntroducción a Backbone
Introducción a Backbone
 
Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...Implementacion de un portal web para la automatización del proceso de consult...
Implementacion de un portal web para la automatización del proceso de consult...
 
Patron mvc struts
Patron mvc strutsPatron mvc struts
Patron mvc struts
 
Struts en Java
Struts en JavaStruts en Java
Struts en Java
 
Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
 
Qué es Angular.pptx
Qué es Angular.pptxQué es Angular.pptx
Qué es Angular.pptx
 
MVC
MVCMVC
MVC
 
5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web5-Unidad 2: Diseños de Vista-2.2 Para Web
5-Unidad 2: Diseños de Vista-2.2 Para Web
 
Asp
AspAsp
Asp
 
Introducción a AngularJS
Introducción a AngularJSIntroducción a AngularJS
Introducción a AngularJS
 
Javascript + Angular Sesion 3
Javascript + Angular Sesion 3Javascript + Angular Sesion 3
Javascript + Angular Sesion 3
 
Documentacion struts2
Documentacion struts2Documentacion struts2
Documentacion struts2
 
FMK Capa de Presentacion
FMK Capa de PresentacionFMK Capa de Presentacion
FMK Capa de Presentacion
 
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
 
Documentacion struts 2
Documentacion struts 2Documentacion struts 2
Documentacion struts 2
 
Modelo mvc
Modelo mvcModelo mvc
Modelo mvc
 
Documentacion struts2 laura.palma
Documentacion struts2 laura.palmaDocumentacion struts2 laura.palma
Documentacion struts2 laura.palma
 
Documentacionstruts2 luiggi
Documentacionstruts2 luiggiDocumentacionstruts2 luiggi
Documentacionstruts2 luiggi
 
Modelo vista controlador
Modelo vista controladorModelo vista controlador
Modelo vista controlador
 

Recently uploaded

La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadEduardoSantiagoSegov
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxkimontey
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Marketing BRANDING
 

Recently uploaded (20)

La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedad
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
 

Introduccion a AngularJS

  • 1. Creación de Aplicaciones Web con AngularJS Módulo 1: Introducción a AngularJS Oscar Gensollen Arroyo Microsoft Certified Trainer MCSD Web + SharePoint Arquitecto, Consultor en TI oscar.gensollen@formativaperu.com @oscargensollen
  • 2. Agenda  ¿Qué es AngularJS?  AngularJS en contexto  Modelo MVC  Usando AngularJS  Componentes de AngularJS  Demos: Fundamentos de JavaScript
  • 3. ¿Qué es AngularJS?  AngularJS es el framework líder para la construcción de aplicaciones dinámicas basadas en JavaScript  Aprovecha las capacidades de HTML y del navegador para la creación de aplicaciones del lado-cliente  Aplica el patron MVC (Model-View- Controller)  Es mantenido por Google
  • 4. AngularJS en contexto  Lleva la funcionalidad del lado servidor al navegador  Dos modelos de aplicación web  Round-trip  Interacciones atendidas por el servidor  Single Page Applications  Interacciones atendidas por el cliente, mediante componentes del lado-cliente y/o interacciones al servidor mediante Ajax
  • 5. Modelo MVC (1)  Modelo: contiene los datos con los que el usuario trabaja.  Debe contener los datos del dominio.  Contiene la lógica para crear, administrar y modificar los datos del dominio
  • 6. Modelo MVC (2)  Controladoras: son los components que conectan los datos del modelo con las vistas.  Contienen la lógica para inicializar el scope.  Contienen la lógica y comportamientos requeridos por la vista para presentar datos del scope, así como actualizar el scope basandose en la interacción del usuario.
  • 7. Modelo MVC (3)  Vistas: son definidas usando elementos HTML, los cuales son mejorados y que generan HTML mediante el uso de data bindings y directivas.  Contienen la lógica y tags requeridos para presentar datos al usuario.
  • 8. Usando AngularJS  AngularJS es el framework líder para la construcción de aplicaciones dinámicas basadas en JavaScript  Aprovecha las capacidades de HTML y del navegador para la creación de aplicaciones del lado-cliente  Aplica el patron MVC (Model-View- Controller)  Es mantenido por Google  Usa una version compacta de jQuery llamada jqLite (https://docs.angularjs.org/api/ng/function/a ngular.element)
  • 9. Componentes de AngularJS (1)  Módulos.  Controllers.  Vistas.  Directivas.  Filtros.  Servicios.
  • 10. Módulos  Son los componentes de más alto nivel.  Sus 3 principales propósitos son:  Asociar una aplicación AngularJS con una region de un documento HTML.  Actuar como un gateway para características claves.  Ayuda a orzanizar el código y los componentes de la aplicación. var miApp = angular.module(“AppEjemplo”, []);
  • 11. Aplicando Módulos  Se usa el atributo ng-app <html ng-app=“AppEjemplo”>
  • 12. Controladoras  Actúan como un conducto entre el modelo y las vistas.  Entregan los datos y lógica requerida para un aspecto de la aplicación.  Se definen usando el método Module.controller miApp.controller(“registroCtrl”, function ($scope){ // sentencias });
  • 13. Inyección de dependencias  Angular inyecta las dependencias, según las va encontrando, mayormente como parámetros de las funciones  Mediante los parámetros, se hacen “demandas”, solicitando a Angular que es lo que se necesita miApp.controller(“registroCtrl”, function ($scope, $filter){ // sentencias });
  • 14. Aplicando las controladoras a vistas  Las controladoras deben ser aplicadas a las vistas, tal que Angular sepa que parte del documento HTML forma la vista para determinada controladora  Se usa el atributo ng-controller <div ng-controller=“registroCtrl”> <!– otras etiquetas --> </div>
  • 15. Data-binding  Son expresiones que permiten enlazar a datos.  Se consumen los datos expuestos mediante el component $scope.  Se pueden usar expresiones JavaScript. <span>{{ nombres }}</span> <span>{{ direccion || “(no indicada)” }}</span>
  • 16. Directivas  Permiten extender y mejorar el HTML para crear aplicaciones web enriquecidas.  Se pueden usar directivas propias de Angular o crear personalizadas.  Se usa el método Module.directive miApp.directive(“resaltar”, function(){ return function (scope, element, attrs){ if (scope.distrito == attrs[“resaltar”]){ element.css(“color”,”yellow”); } } });
  • 17. Aplicando Directivas a elementos HTML  Las directivas se pueden aplicar como elementos o atributos en el HTML.  La función Factory se aplica cuando Angular encuentra el elemento o atributo correspondiente. <h2 ng-controller=“registroCtrl” resaltar=“Surco”>
  • 18. Filtros  Son usados para formatear los datos mostrados al usuario, dando consistencia a la presentación dentro un modulo.  Se pueden usar filtros pre-definidos o crear personalizados.  Se usa el método Module.filter miApp.filter(“nombreDia”,function(){ var nombresDias = [“Domingo”,”Lunes”,”Martes”,”Miercoles”,”Jueves”,”Vier nes”,”Sabado”]; return function (input){ return angular.isNumber(input) ? nombresDias[input] : input; }; });
  • 19. Aplicando Filtros  Los filtros se aplican en expresiones de plantillas dentro de las vistas.  Luego de la expresión se usa el caracter “|” y el nombre del filtro: <div> Hoy es {{ dia || “(desconocido)” | nombreDia }} </div>
  • 20. Servicios  Son objetos singleton que proporcionan funcionalidad que se quiere utilizer a través de toda la aplicación.  Algunas funcionalidades clave de Angular ya son servicios, como $scope y $filter.  Se pueden crear servicios personalizados con el método Module.service: miApp.service(“meses”,function(){ this.mesActual = new Date().getMonth() + 1; this.mesProximo = this.mesActual + 1; });
  • 21. Ejemplo: Usando Servicios  Para acceder a un servicio, se define una dependencia:  Angular usa inyección de dependencias para ubicar el servicio y pasarlo como parámetro. miApp.controller(“registroCtrl”,function($scope, meses){ $scope.fecha = meses.mesActual; });
  • 22. ¿Quieres más información? Tenemos cursos en línea, en diversas modalidades ¡Contáctanos!  www.formativaperu.com ventas@formativaperu.com