SlideShare una empresa de Scribd logo
1 de 15
Introducción a Angularjs
Pedro Hurtado
@_PedroHurtado
pedrohurt@gmail.com
http://geeks.ms/blogs/phurtado
Xavier Jorge
@XaviPaper
jajorcer@hotmail.com
http://geeks.ms/blogs/xavipaper
Iniciar
 Herramientas recomendadas
 Google Chrome
 Extensión de Chrome “AngularJS Batarang”
 Web y recursos
 http://www.angularjs.org
 Incluir el js
 <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-
beta.10/angular.min.js"></script>
Bootstrap
 Declarativa
 <div ng-app>…
 <div ng-app=“…”>… (recomenada)
 Javascript
 <div id=“app”>…
 angular.bootstrap(document.getElementById(‘app’),[optional modules]);
 Jquery o jqLite
 Nomenclatura
 Prefijo de 2 letras: miDirectiva / mi-directiva (en HTML)
 ng-app, ng:app, x-ng-app, data-ng-app
Módulo
 Forma de organizar el código y la lógica
 Patrón Requiere
 DI (Inyección de dependencias)
 angular.module(‘myApp’, […], function (…) {…})
Arquitectura
 Arquitectura MVC, MVVM / MVW (Model-View-Whatever)
 Model (scope)
 Información del sistema con la que se hace binding en la parte visual
 View (HTML + CSS + JS de aspectos visuales)
 Define el aspecto visual de la información
 ViewModel / Whatever (Controllers + scope)
 Lógica de presentación de la ventana para gestionar el flujo
 Comunicación con servicios que se inyectarían
 Código lo más liviano posible
HTML + CSS + JS de aspecto visual
 Define cómo se van a ver las cosas
 Se puede utilizar cualquier tipo de plantilla como bootstrap
 El equipo de angular ha definido directivas para trabajar con bootstrap
 El enlace entre el V y el VM se realiza con
 ngController
 Directivas (AECM)
Controllers
 Gestiona el flujo de la parte de presentación
 Se le pueden inyectar:
 Values / Constants
 Definición y reutilización de valores
 Factories / Services
 Encapsulamiento y reutilización de código
 Objetos de js
 Factory implementa el patrón Factory
 Service imlementa el patrón Constructor
 Es la pieza donde está la lógica de presentación
 Se enlaza con los servicios que se han inyectado previamente
Scope
 Datos que se quieren mostrar
 Uso desde HTML
 Bindings
 Isolated Scope
 Herencia
 $parent
 $rootScope
Bindings I
 Enlaza la información qué se quiere mostrar y el aspecto cómo se quiere
mostrar
 One-way binding
 ngBind / Mustache {{…}}
 Two-way binding
 ngModel
 Dirty checking
 $apply
Bindings II
 Colecciones
 ngOptions (select)
 ngRepeat (li o tr)
 Binding a atributos
 ngClick
 ngHref, ngSrc
 ngStyle, ngClass
 Forms
 Validations
 ngSubmit
Filters
 Se utiliza para transformar la información del scope al formato que se quiera
visualizar
 <span>{{name| pascalize}}</span>
 Se usa para:
 Formatear visualmente los datos
 Filtrar u ordenar listas
Value / Constants
 Sirve para reutilizar y compartir valores
 Se inyecta en los controladores
 Value
 Define valores para run-time
 Constants
 Define valores para run-time y configuration-time
http://blogs.clevertech.biz/startupblog/angularjs-factory-service-provider
Factory / Service / Provider
 Sirve para encapsular y reutilizar código
 Se inyecta en los controladores
 Singleton
 Factory
 Patrón module de js
 Service
 Patrón constructor de js
 Provider
 Puede utilizar configuración gobal
http://blogs.clevertech.biz/startupblog/angularjs-factory-service-provider
Factory / Service / Provider
Factory Service Value Constant Provider
can have dependencies yes yes no no yes
uses type friendly injection no yes yes* yes* no
object available in config phase no no no yes yes**
can create functions/primitives yes no yes yes yes
* at the cost of eager initialization by using new operator directly
** the service object is not available during the config phase, but the provider instance is
https://docs.angularjs.org/guide/providers
Bibliografía
 Ejemplos de la charla
 http://jsfiddle.net/user/pedrohurtado/fiddles/
 Sitio oficial
 http://www.angular.js
 Chrome y extension Batarang
 http://www.chorme.com
 https://chrome.google.com/webstore/detail/angularjs-
batarang/ighdmehidhipcmcojjgiloacoafjmpfk?hl=es

Más contenido relacionado

La actualidad más candente

Curso Básico de AngularJS
Curso Básico de AngularJSCurso Básico de AngularJS
Curso Básico de AngularJSCarlos Azaustre
 
Introducción a Knockout
Introducción a KnockoutIntroducción a Knockout
Introducción a KnockoutOscar Gensollen
 
Introducción a AngularJS
Introducción a AngularJSIntroducción a AngularJS
Introducción a AngularJSAdrián Paredes
 
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
 
Angular.js
Angular.jsAngular.js
Angular.jsGDG Cali
 
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
 
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
 
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
 
Curso de Desarrollo Web de Platzi
Curso de Desarrollo Web de PlatziCurso de Desarrollo Web de Platzi
Curso de Desarrollo Web de PlatziCarlos Azaustre
 
Workshop 7: Single Page Applications
Workshop 7: Single Page ApplicationsWorkshop 7: Single Page Applications
Workshop 7: Single Page ApplicationsVisual Engineering
 

La actualidad más candente (20)

Curso Básico de AngularJS
Curso Básico de AngularJSCurso Básico de AngularJS
Curso Básico de AngularJS
 
Introducción a Knockout
Introducción a KnockoutIntroducción a Knockout
Introducción a Knockout
 
Introducción a Angular JS
Introducción a Angular JSIntroducción a Angular JS
Introducción a Angular JS
 
Introducción a AngularJS
Introducción a AngularJSIntroducción a AngularJS
Introducción a AngularJS
 
AngularJS
AngularJSAngularJS
AngularJS
 
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
 
Advanced angular 1
Advanced angular 1Advanced angular 1
Advanced angular 1
 
Angular Conceptos Practicos 1
Angular Conceptos Practicos 1Angular Conceptos Practicos 1
Angular Conceptos Practicos 1
 
Por qué AngularJS
Por qué AngularJSPor qué AngularJS
Por qué AngularJS
 
Angular.js
Angular.jsAngular.js
Angular.js
 
Angular js Frontenders Valencia
Angular js Frontenders ValenciaAngular js Frontenders Valencia
Angular js Frontenders Valencia
 
Introducciòn a AngularJS
Introducciòn a AngularJSIntroducciòn a AngularJS
Introducciòn a 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
 
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
 
Curso de Desarrollo Web de Platzi
Curso de Desarrollo Web de PlatziCurso de Desarrollo Web de Platzi
Curso de Desarrollo Web de Platzi
 
[Curso MVC] ViewModels y Validacion
[Curso MVC] ViewModels y Validacion[Curso MVC] ViewModels y Validacion
[Curso MVC] ViewModels y Validacion
 
Workshop 7: Single Page Applications
Workshop 7: Single Page ApplicationsWorkshop 7: Single Page Applications
Workshop 7: Single Page Applications
 
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
 

Similar a Angularjs

NET MAUI Terasoft.pptx
NET MAUI Terasoft.pptxNET MAUI Terasoft.pptx
NET MAUI Terasoft.pptxLuis775803
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)Eudris Cabrera
 
Org tutorial struts_2010
Org tutorial struts_2010Org tutorial struts_2010
Org tutorial struts_2010Omar Rios
 
ASP.Net MVC 3 - Eugenio Serrano
ASP.Net MVC 3 - Eugenio SerranoASP.Net MVC 3 - Eugenio Serrano
ASP.Net MVC 3 - Eugenio SerranoEugenio Serrano
 
Cómo configurar el seo de tu drupal
Cómo configurar el seo de tu drupal  Cómo configurar el seo de tu drupal
Cómo configurar el seo de tu drupal Hiberus Tecnologia
 
Web 2.0 ajax con SharePoint
Web 2.0 ajax con SharePointWeb 2.0 ajax con SharePoint
Web 2.0 ajax con SharePointgoreorti
 
Diseño en la web
Diseño en la webDiseño en la web
Diseño en la webMiguel Gea
 
Novedades en BCS en SharePoint 2013
Novedades en BCS en SharePoint 2013Novedades en BCS en SharePoint 2013
Novedades en BCS en SharePoint 2013Juan Carlos Gonzalez
 
Tutorial3 Desymfony - La Vista. Twig
Tutorial3 Desymfony - La Vista. TwigTutorial3 Desymfony - La Vista. Twig
Tutorial3 Desymfony - La Vista. TwigMarcos Labad
 

Similar a Angularjs (20)

Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
 
10.desarrollowebconjava
10.desarrollowebconjava10.desarrollowebconjava
10.desarrollowebconjava
 
Introducción a AngularJS
Introducción a AngularJSIntroducción a AngularJS
Introducción a AngularJS
 
Spring Mvc Final
Spring Mvc FinalSpring Mvc Final
Spring Mvc Final
 
Cursos web
Cursos webCursos web
Cursos web
 
NET MAUI Terasoft.pptx
NET MAUI Terasoft.pptxNET MAUI Terasoft.pptx
NET MAUI Terasoft.pptx
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)
 
Manual Basico De Struts
Manual Basico De StrutsManual Basico De Struts
Manual Basico De Struts
 
Clase_MVC_I.pptx
Clase_MVC_I.pptxClase_MVC_I.pptx
Clase_MVC_I.pptx
 
Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3Aplicación abc. asp net mvc 3
Aplicación abc. asp net mvc 3
 
Org tutorial struts_2010
Org tutorial struts_2010Org tutorial struts_2010
Org tutorial struts_2010
 
ASP.Net MVC 3 - Eugenio Serrano
ASP.Net MVC 3 - Eugenio SerranoASP.Net MVC 3 - Eugenio Serrano
ASP.Net MVC 3 - Eugenio Serrano
 
Cómo configurar el seo de tu drupal
Cómo configurar el seo de tu drupal  Cómo configurar el seo de tu drupal
Cómo configurar el seo de tu drupal
 
Web 2.0 ajax con SharePoint
Web 2.0 ajax con SharePointWeb 2.0 ajax con SharePoint
Web 2.0 ajax con SharePoint
 
Diseño en la web
Diseño en la webDiseño en la web
Diseño en la web
 
[Code Camp 2009] Desarrollando sitios web escalables con ASP.NET MVC (Rodolfo...
[Code Camp 2009] Desarrollando sitios web escalables con ASP.NET MVC (Rodolfo...[Code Camp 2009] Desarrollando sitios web escalables con ASP.NET MVC (Rodolfo...
[Code Camp 2009] Desarrollando sitios web escalables con ASP.NET MVC (Rodolfo...
 
Novedades en BCS en SharePoint 2013
Novedades en BCS en SharePoint 2013Novedades en BCS en SharePoint 2013
Novedades en BCS en SharePoint 2013
 
Jquery Hmvc
Jquery HmvcJquery Hmvc
Jquery Hmvc
 
Tutorial3 Desymfony - La Vista. Twig
Tutorial3 Desymfony - La Vista. TwigTutorial3 Desymfony - La Vista. Twig
Tutorial3 Desymfony - La Vista. Twig
 
06. jsf (java server faces) (1)
06. jsf (java server faces) (1)06. jsf (java server faces) (1)
06. jsf (java server faces) (1)
 

Angularjs

  • 1. Introducción a Angularjs Pedro Hurtado @_PedroHurtado pedrohurt@gmail.com http://geeks.ms/blogs/phurtado Xavier Jorge @XaviPaper jajorcer@hotmail.com http://geeks.ms/blogs/xavipaper
  • 2. Iniciar  Herramientas recomendadas  Google Chrome  Extensión de Chrome “AngularJS Batarang”  Web y recursos  http://www.angularjs.org  Incluir el js  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0- beta.10/angular.min.js"></script>
  • 3. Bootstrap  Declarativa  <div ng-app>…  <div ng-app=“…”>… (recomenada)  Javascript  <div id=“app”>…  angular.bootstrap(document.getElementById(‘app’),[optional modules]);  Jquery o jqLite  Nomenclatura  Prefijo de 2 letras: miDirectiva / mi-directiva (en HTML)  ng-app, ng:app, x-ng-app, data-ng-app
  • 4. Módulo  Forma de organizar el código y la lógica  Patrón Requiere  DI (Inyección de dependencias)  angular.module(‘myApp’, […], function (…) {…})
  • 5. Arquitectura  Arquitectura MVC, MVVM / MVW (Model-View-Whatever)  Model (scope)  Información del sistema con la que se hace binding en la parte visual  View (HTML + CSS + JS de aspectos visuales)  Define el aspecto visual de la información  ViewModel / Whatever (Controllers + scope)  Lógica de presentación de la ventana para gestionar el flujo  Comunicación con servicios que se inyectarían  Código lo más liviano posible
  • 6. HTML + CSS + JS de aspecto visual  Define cómo se van a ver las cosas  Se puede utilizar cualquier tipo de plantilla como bootstrap  El equipo de angular ha definido directivas para trabajar con bootstrap  El enlace entre el V y el VM se realiza con  ngController  Directivas (AECM)
  • 7. Controllers  Gestiona el flujo de la parte de presentación  Se le pueden inyectar:  Values / Constants  Definición y reutilización de valores  Factories / Services  Encapsulamiento y reutilización de código  Objetos de js  Factory implementa el patrón Factory  Service imlementa el patrón Constructor  Es la pieza donde está la lógica de presentación  Se enlaza con los servicios que se han inyectado previamente
  • 8. Scope  Datos que se quieren mostrar  Uso desde HTML  Bindings  Isolated Scope  Herencia  $parent  $rootScope
  • 9. Bindings I  Enlaza la información qué se quiere mostrar y el aspecto cómo se quiere mostrar  One-way binding  ngBind / Mustache {{…}}  Two-way binding  ngModel  Dirty checking  $apply
  • 10. Bindings II  Colecciones  ngOptions (select)  ngRepeat (li o tr)  Binding a atributos  ngClick  ngHref, ngSrc  ngStyle, ngClass  Forms  Validations  ngSubmit
  • 11. Filters  Se utiliza para transformar la información del scope al formato que se quiera visualizar  <span>{{name| pascalize}}</span>  Se usa para:  Formatear visualmente los datos  Filtrar u ordenar listas
  • 12. Value / Constants  Sirve para reutilizar y compartir valores  Se inyecta en los controladores  Value  Define valores para run-time  Constants  Define valores para run-time y configuration-time http://blogs.clevertech.biz/startupblog/angularjs-factory-service-provider
  • 13. Factory / Service / Provider  Sirve para encapsular y reutilizar código  Se inyecta en los controladores  Singleton  Factory  Patrón module de js  Service  Patrón constructor de js  Provider  Puede utilizar configuración gobal http://blogs.clevertech.biz/startupblog/angularjs-factory-service-provider
  • 14. Factory / Service / Provider Factory Service Value Constant Provider can have dependencies yes yes no no yes uses type friendly injection no yes yes* yes* no object available in config phase no no no yes yes** can create functions/primitives yes no yes yes yes * at the cost of eager initialization by using new operator directly ** the service object is not available during the config phase, but the provider instance is https://docs.angularjs.org/guide/providers
  • 15. Bibliografía  Ejemplos de la charla  http://jsfiddle.net/user/pedrohurtado/fiddles/  Sitio oficial  http://www.angular.js  Chrome y extension Batarang  http://www.chorme.com  https://chrome.google.com/webstore/detail/angularjs- batarang/ighdmehidhipcmcojjgiloacoafjmpfk?hl=es

Notas del editor

  1. Poner todos los elementos del obj módulo
  2. Explicar directivas