SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
Angularjs
Estudiante de Analista en Tecnologías de la Información.
Trabajé TCS Uy, TCS Arg, GuruYu, moove-it y ahora en InfUy.
Desarrollo web apps en ruby, rails, javascript, java, felx (sí todavía existe) y sap




                                                                          @iamcherta
                                                                           cherta.info
Por qué un framework
Cómo llegamos hasta acá


● El browser como plataforma por
  encima del SO
● Javascript es el único lenguaje   Aplicaciones
  del browser
                                        más
● La capacidad de los clientes es
  mayor                              complejas
● Nuestras necesidades no son
  las mismas que hace 10 años.
Que desafíos enfrentamos

    Nuevas
                             Más código
funcionalidades




Más puntos de
                           Menor visibilidad
    fallos




Menor calidad
Qué es angularjs

Es un framework que implementa MVW para desarrollar
aplicaciones web utilizando HTML.

No trata de sobreponerse al HTML sino extenderlo.



    Mmmm... A mi me
    parece que es un
    framework MVVM
Model View ViewModel

Las vistas son suficientemente complejas como para tener
su propia lógica que no es lógica de negocios, si no lógica
de vista.

El View Model es una representación del problema de la
vista.
Model View ViewModel
                                  Passcards
                       * firstName
                       * lastName
                       * email
                       * phone
                       * primaryAddress
                       * alternateAddress
                       * valid?




                               Address
                       * address1
                       * address2
                       * city
                       * state
                       * country
                       * zip
Anatomía de una app

Podemos usar angular sin ninguna estructura pero se
recomienda usar angular-seed o yeoman.
Scope

Un scope es un objeto encargado de conectar las vistas
con los controllers.

En él vive el view-model.

Angular crea scopes de forma jerárquica bajo el rootScope.

La clase tiene un método que permite observar cambios en
el view model ($watch) y otro que permite propagar esos
cambios a las vistas ($apply).
Controllers

En angularjs un controller es una función que se usa para
crear hijos del rootScope.

Más específicamente se usan para:
    ● Setear el estado inicial del scope
    ● Agregar comportamiento a un scope

Los controllers reciben el scope
como parámetro: function AppCtrl($scope) {
                            $scope.person = {};
                        }
Dependency Injection

Angular usa DI para el manejo de todas las dependencias
tanto en módulos como en controllers.
Data binding

Es el "cableado" de las propiedades de un modelo con los
elementos de la vista o template.

Funciona tanto para mostrar como para asignar valores
(two way data binding).
Data binding (beneficios)

Eliminamos la vista de nuestro problema y nos enfocamos
a resolver el problema (controller + scope)

Nuestro código es más testeable. No nos importa testear el
glue code de cambiar el DOM, testeamos directamente el
controller.
Templates

Los templates en son código HTML y CSS + elementos
específicos de angular que agregan comportamiento y
hacen del HTML estático vistas dinámicas.

Los elementos pueden ser:
   ●   Directive
   ●   Markup o expressions
   ●   Filter
   ●   Form controls
Directives

Las directivas son una forma de extender HTML.

Angular viene con muchas directivas como ng-repeat o ng-
model y nos permite crear las nuestras.
Expression

Son contenidas en {{expression}} y se evalúan cuando
angular compila el template.
Filter

Los filtros formatean expresiones en los templates
<h1>
  {{person.name | uppercase}}
</h1>




También se pueden encadenar
<h1>
  {{person.name | uppercase | reverse}}
</h1>
Form y control

Los forms y los controles son componentes (directivas de
angular) que facilitan el desarrollo de formularios.

La clave está en la directiva ng-model. Cuando seteamos
esta directiva no sólo estamos agregando el binding bi
direccional sino también comportamientos específicos para
validar y manejar el estado de los formularios.

Angular provee implementaciones para casi todos los
componentes de html5 (text, number, url, email, radio,
checkbox) y también algunas directivas como required,
pattern, minlength, maxlength, min, max.
Service

Los services son dependencias que se inyectan en los
controllers y proveen funcionalidad específica.

$scope es un servicio igual que $http y $resource.
Testing

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

6.angular js
6.angular js6.angular js
6.angular js
 
Angular js
Angular jsAngular js
Angular js
 
Angular js Frontenders Valencia
Angular js Frontenders ValenciaAngular js Frontenders Valencia
Angular js Frontenders Valencia
 
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
 
AngularJS
AngularJSAngularJS
AngularJS
 
Angular js in mobile
Angular js in mobileAngular js in mobile
Angular js in mobile
 
Angularjs
AngularjsAngularjs
Angularjs
 
Introducción a AngularJS
Introducción a AngularJSIntroducción a AngularJS
Introducción a AngularJS
 
Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015
Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015
Carrera de fondo - La continuada lucha de AngularJS - CodeMotion 2015
 
Angular Conceptos Practicos 1
Angular Conceptos Practicos 1Angular Conceptos Practicos 1
Angular Conceptos Practicos 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 Knockout
Introducción a KnockoutIntroducción a Knockout
Introducción a Knockout
 
Advanced angular 1
Advanced angular 1Advanced angular 1
Advanced angular 1
 
Login social con node.js
Login social con node.jsLogin social con node.js
Login social con node.js
 
Angular 2 is Coming - GDG DevFest Cordoba 2015
Angular 2 is Coming - GDG DevFest Cordoba 2015Angular 2 is Coming - GDG DevFest Cordoba 2015
Angular 2 is Coming - GDG DevFest Cordoba 2015
 
Introducción a AngularJS
Introducción a AngularJS Introducción a AngularJS
Introducción a 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 de Responsive Design
Curso de Responsive DesignCurso de Responsive Design
Curso de Responsive Design
 
Integrando AngularJS y drupal
Integrando AngularJS y drupalIntegrando AngularJS y drupal
Integrando AngularJS y drupal
 

Similar a Angular js

003-Introduccion-Angular.pdf
003-Introduccion-Angular.pdf003-Introduccion-Angular.pdf
003-Introduccion-Angular.pdfDubiWeb.TK
 
01_ppt_introduccion_spring_mmmmmmmmm.pdf
01_ppt_introduccion_spring_mmmmmmmmm.pdf01_ppt_introduccion_spring_mmmmmmmmm.pdf
01_ppt_introduccion_spring_mmmmmmmmm.pdfMarvelNanosoft
 
Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2Ignacio Muñoz Vicente
 
Extender Jquery para crear componentes web personalizados
Extender Jquery  para crear componentes web personalizadosExtender Jquery  para crear componentes web personalizados
Extender Jquery para crear componentes web personalizadosHéctor Curbelo Barrios
 
Webinar: Introducción a Angular
Webinar: Introducción a AngularWebinar: Introducción a Angular
Webinar: Introducción a AngularArsys
 
Como usar el Angular CLI
Como usar el Angular CLIComo usar el Angular CLI
Como usar el Angular CLIDaniel Marin
 
VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...Miguel Ángel Sánchez Chordi
 
Frameworks y herramientas para la web del futuro
Frameworks y herramientas para la web del futuroFrameworks y herramientas para la web del futuro
Frameworks y herramientas para la web del futuroBBVA API Market
 
Desarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones webDesarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones webRoberto Sanz Ciriano
 
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...Renan Cayao
 
Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Facescok12v
 
Principios de Diseño de Componentes Web
Principios de Diseño de Componentes WebPrincipios de Diseño de Componentes Web
Principios de Diseño de Componentes WebJavier Vélez Reyes
 

Similar a Angular js (20)

003-Introduccion-Angular.pdf
003-Introduccion-Angular.pdf003-Introduccion-Angular.pdf
003-Introduccion-Angular.pdf
 
01_ppt_introduccion_spring_mmmmmmmmm.pdf
01_ppt_introduccion_spring_mmmmmmmmm.pdf01_ppt_introduccion_spring_mmmmmmmmm.pdf
01_ppt_introduccion_spring_mmmmmmmmm.pdf
 
Semana 2 Configuración entorno de desarrollo
Semana 2   Configuración entorno de desarrolloSemana 2   Configuración entorno de desarrollo
Semana 2 Configuración entorno de desarrollo
 
Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2
 
5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web5-Unidad 2: Diseño de Vista-2.2 Para Web
5-Unidad 2: Diseño de Vista-2.2 Para Web
 
AngularJS2
AngularJS2AngularJS2
AngularJS2
 
Extender Jquery para crear componentes web personalizados
Extender Jquery  para crear componentes web personalizadosExtender Jquery  para crear componentes web personalizados
Extender Jquery para crear componentes web personalizados
 
Spring Mvc Final
Spring Mvc FinalSpring Mvc Final
Spring Mvc Final
 
Angular 6
Angular 6Angular 6
Angular 6
 
Webinar: Introducción a Angular
Webinar: Introducción a AngularWebinar: Introducción a Angular
Webinar: Introducción a Angular
 
Ruby on Rails y AngularJS
Ruby on Rails y AngularJSRuby on Rails y AngularJS
Ruby on Rails y AngularJS
 
Como usar el Angular CLI
Como usar el Angular CLIComo usar el Angular CLI
Como usar el Angular CLI
 
VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...
 
GraphQL Reactivo
GraphQL ReactivoGraphQL Reactivo
GraphQL Reactivo
 
Frameworks y herramientas para la web del futuro
Frameworks y herramientas para la web del futuroFrameworks y herramientas para la web del futuro
Frameworks y herramientas para la web del futuro
 
Desarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones webDesarrollo modermo de aplicaciones web
Desarrollo modermo de aplicaciones web
 
Cliente/Servidor
Cliente/ServidorCliente/Servidor
Cliente/Servidor
 
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...
 
Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Faces
 
Principios de Diseño de Componentes Web
Principios de Diseño de Componentes WebPrincipios de Diseño de Componentes Web
Principios de Diseño de Componentes Web
 

Último

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 

Último (10)

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 

Angular js

  • 2. Estudiante de Analista en Tecnologías de la Información. Trabajé TCS Uy, TCS Arg, GuruYu, moove-it y ahora en InfUy. Desarrollo web apps en ruby, rails, javascript, java, felx (sí todavía existe) y sap @iamcherta cherta.info
  • 3. Por qué un framework
  • 4. Cómo llegamos hasta acá ● El browser como plataforma por encima del SO ● Javascript es el único lenguaje Aplicaciones del browser más ● La capacidad de los clientes es mayor complejas ● Nuestras necesidades no son las mismas que hace 10 años.
  • 5. Que desafíos enfrentamos Nuevas Más código funcionalidades Más puntos de Menor visibilidad fallos Menor calidad
  • 6. Qué es angularjs Es un framework que implementa MVW para desarrollar aplicaciones web utilizando HTML. No trata de sobreponerse al HTML sino extenderlo. Mmmm... A mi me parece que es un framework MVVM
  • 7. Model View ViewModel Las vistas son suficientemente complejas como para tener su propia lógica que no es lógica de negocios, si no lógica de vista. El View Model es una representación del problema de la vista.
  • 8. Model View ViewModel Passcards * firstName * lastName * email * phone * primaryAddress * alternateAddress * valid? Address * address1 * address2 * city * state * country * zip
  • 9. Anatomía de una app Podemos usar angular sin ninguna estructura pero se recomienda usar angular-seed o yeoman.
  • 10. Scope Un scope es un objeto encargado de conectar las vistas con los controllers. En él vive el view-model. Angular crea scopes de forma jerárquica bajo el rootScope. La clase tiene un método que permite observar cambios en el view model ($watch) y otro que permite propagar esos cambios a las vistas ($apply).
  • 11. Controllers En angularjs un controller es una función que se usa para crear hijos del rootScope. Más específicamente se usan para: ● Setear el estado inicial del scope ● Agregar comportamiento a un scope Los controllers reciben el scope como parámetro: function AppCtrl($scope) { $scope.person = {}; }
  • 12. Dependency Injection Angular usa DI para el manejo de todas las dependencias tanto en módulos como en controllers.
  • 13. Data binding Es el "cableado" de las propiedades de un modelo con los elementos de la vista o template. Funciona tanto para mostrar como para asignar valores (two way data binding).
  • 14. Data binding (beneficios) Eliminamos la vista de nuestro problema y nos enfocamos a resolver el problema (controller + scope) Nuestro código es más testeable. No nos importa testear el glue code de cambiar el DOM, testeamos directamente el controller.
  • 15. Templates Los templates en son código HTML y CSS + elementos específicos de angular que agregan comportamiento y hacen del HTML estático vistas dinámicas. Los elementos pueden ser: ● Directive ● Markup o expressions ● Filter ● Form controls
  • 16. Directives Las directivas son una forma de extender HTML. Angular viene con muchas directivas como ng-repeat o ng- model y nos permite crear las nuestras.
  • 17. Expression Son contenidas en {{expression}} y se evalúan cuando angular compila el template.
  • 18. Filter Los filtros formatean expresiones en los templates <h1> {{person.name | uppercase}} </h1> También se pueden encadenar <h1> {{person.name | uppercase | reverse}} </h1>
  • 19. Form y control Los forms y los controles son componentes (directivas de angular) que facilitan el desarrollo de formularios. La clave está en la directiva ng-model. Cuando seteamos esta directiva no sólo estamos agregando el binding bi direccional sino también comportamientos específicos para validar y manejar el estado de los formularios. Angular provee implementaciones para casi todos los componentes de html5 (text, number, url, email, radio, checkbox) y también algunas directivas como required, pattern, minlength, maxlength, min, max.
  • 20. Service Los services son dependencias que se inyectan en los controllers y proveen funcionalidad específica. $scope es un servicio igual que $http y $resource.