Angular js

Gabriel Chertok
Gabriel ChertokDeveloper at Infuy
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
1 of 21

Recommended

Angular.js by
Angular.jsAngular.js
Angular.jsGDG Cali
835 views7 slides
Introduccion a AngularJS by
Introduccion a AngularJSIntroduccion a AngularJS
Introduccion a AngularJSOscar Gensollen
1.2K views22 slides
Introducción a Angular JS by
Introducción a Angular JSIntroducción a Angular JS
Introducción a Angular JSCésar Jefferson Aquino Maximiliano
1.6K views21 slides
Introducción a AngularJS by
Introducción a AngularJSIntroducción a AngularJS
Introducción a AngularJSLuis Natividad
529 views18 slides
Taller de Angular JS: La solución tecnológica perfecta by
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
1.4K views8 slides
Despegar Tech Talk - AngularJS by
Despegar Tech Talk - AngularJSDespegar Tech Talk - AngularJS
Despegar Tech Talk - AngularJSFacundo Viale
3.4K views84 slides

More Related Content

What's hot

6.angular js by
6.angular js6.angular js
6.angular jsRamiro Estigarribia Canese
745 views28 slides
Angular js by
Angular jsAngular js
Angular jsJoan Pablo
1.1K views34 slides
Angular js Frontenders Valencia by
Angular js Frontenders ValenciaAngular js Frontenders Valencia
Angular js Frontenders ValenciaJavier Ruiz
1K views17 slides
Curso Básico de AngularJS by
Curso Básico de AngularJSCurso Básico de AngularJS
Curso Básico de AngularJSCarlos Azaustre
5.8K views33 slides
Introducciòn a AngularJS by
Introducciòn a AngularJSIntroducciòn a AngularJS
Introducciòn a AngularJSRené Olivo
2.2K views28 slides
AngularJS by
AngularJSAngularJS
AngularJSCarlos Garcia Garcia
358 views11 slides

What's hot(20)

Angular js by Joan Pablo
Angular jsAngular js
Angular js
Joan Pablo1.1K views
Angular js Frontenders Valencia by Javier Ruiz
Angular js Frontenders ValenciaAngular js Frontenders Valencia
Angular js Frontenders Valencia
Javier Ruiz1K views
Introducciòn a AngularJS by René Olivo
Introducciòn a AngularJSIntroducciòn a AngularJS
Introducciòn a AngularJS
René Olivo2.2K views
Hack2Progress - Desarrollando una aplicación web con AngularJS by Carlos Azaustre
Hack2Progress - Desarrollando una aplicación web con AngularJSHack2Progress - Desarrollando una aplicación web con AngularJS
Hack2Progress - Desarrollando una aplicación web con AngularJS
Carlos Azaustre980 views
Angular 2 is Coming - GDG DevFest Cordoba 2015 by Carlos Azaustre
Angular 2 is Coming - GDG DevFest Cordoba 2015Angular 2 is Coming - GDG DevFest Cordoba 2015
Angular 2 is Coming - GDG DevFest Cordoba 2015
Carlos Azaustre1.1K views
Introducción a AngularJS by Marcos Reynoso
Introducción a AngularJS Introducción a AngularJS
Introducción a AngularJS
Marcos Reynoso1.9K views

Similar to Angular js

003-Introduccion-Angular.pdf by
003-Introduccion-Angular.pdf003-Introduccion-Angular.pdf
003-Introduccion-Angular.pdfDubiWeb.TK
4 views22 slides
Semana 2 Configuración entorno de desarrollo by
Semana 2   Configuración entorno de desarrolloSemana 2   Configuración entorno de desarrollo
Semana 2 Configuración entorno de desarrolloRichard Eliseo Mendoza Gafaro
218 views33 slides
Desarrollo de aplicaciones multiplataforma 2/2 by
Desarrollo de aplicaciones multiplataforma 2/2Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2Ignacio Muñoz Vicente
884 views53 slides
5-Unidad 2: Diseño de Vista-2.2 Para Web by
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 WebLuis Fernando Aguas Bucheli
132 views25 slides
AngularJS2 by
AngularJS2AngularJS2
AngularJS2Carlos Uscamayta
346 views55 slides
Extender Jquery para crear componentes web personalizados by
Extender Jquery  para crear componentes web personalizadosExtender Jquery  para crear componentes web personalizados
Extender Jquery para crear componentes web personalizadosHéctor Curbelo Barrios
65 views5 slides

Similar to Angular js(20)

003-Introduccion-Angular.pdf by DubiWeb.TK
003-Introduccion-Angular.pdf003-Introduccion-Angular.pdf
003-Introduccion-Angular.pdf
DubiWeb.TK4 views
Webinar: Introducción a Angular by Arsys
Webinar: Introducción a AngularWebinar: Introducción a Angular
Webinar: Introducción a Angular
Arsys238 views
Como usar el Angular CLI by Daniel Marin
Como usar el Angular CLIComo usar el Angular CLI
Como usar el Angular CLI
Daniel Marin132 views
Frameworks y herramientas para la web del futuro by BBVA API Market
Frameworks y herramientas para la web del futuroFrameworks y herramientas para la web del futuro
Frameworks y herramientas para la web del futuro
BBVA API Market426 views
Implementacion de un portal web para la automatización del proceso de consult... by Renan Cayao
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 Cayao229 views
Jsf Java Server Faces by cok12v
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Faces
cok12v647 views

Recently uploaded

RECURSOS EDUCATIVOS.docx by
RECURSOS EDUCATIVOS.docxRECURSOS EDUCATIVOS.docx
RECURSOS EDUCATIVOS.docxglorypagalo84
10 views2 slides
electricidadyelectrnica1-230404014355-1be10cf7.docx by
electricidadyelectrnica1-230404014355-1be10cf7.docxelectricidadyelectrnica1-230404014355-1be10cf7.docx
electricidadyelectrnica1-230404014355-1be10cf7.docxNyobeMahechaDvila
18 views17 slides
tecnologaeinformtica-231124115719-3a836080.pdf by
tecnologaeinformtica-231124115719-3a836080.pdftecnologaeinformtica-231124115719-3a836080.pdf
tecnologaeinformtica-231124115719-3a836080.pdfMaraJos722801
10 views10 slides
Estrategia de apoyo de tecnologia 3er periodo de tecnologia.pdf by
Estrategia de apoyo de tecnologia 3er periodo de tecnologia.pdfEstrategia de apoyo de tecnologia 3er periodo de tecnologia.pdf
Estrategia de apoyo de tecnologia 3er periodo de tecnologia.pdfSofiaArceCaicedo
9 views12 slides
PROYECTOS 3ER PERIODO Sofia Collazos Santos.pdf by
PROYECTOS 3ER PERIODO Sofia Collazos Santos.pdfPROYECTOS 3ER PERIODO Sofia Collazos Santos.pdf
PROYECTOS 3ER PERIODO Sofia Collazos Santos.pdfSaMu554
10 views2 slides
PRESENTACIÓN - SISTEMAS INFORMÁTICOS.pdf by
PRESENTACIÓN - SISTEMAS INFORMÁTICOS.pdfPRESENTACIÓN - SISTEMAS INFORMÁTICOS.pdf
PRESENTACIÓN - SISTEMAS INFORMÁTICOS.pdfNatalySnchez25
9 views10 slides

Recently uploaded(20)

electricidadyelectrnica1-230404014355-1be10cf7.docx by NyobeMahechaDvila
electricidadyelectrnica1-230404014355-1be10cf7.docxelectricidadyelectrnica1-230404014355-1be10cf7.docx
electricidadyelectrnica1-230404014355-1be10cf7.docx
tecnologaeinformtica-231124115719-3a836080.pdf by MaraJos722801
tecnologaeinformtica-231124115719-3a836080.pdftecnologaeinformtica-231124115719-3a836080.pdf
tecnologaeinformtica-231124115719-3a836080.pdf
MaraJos72280110 views
Estrategia de apoyo de tecnologia 3er periodo de tecnologia.pdf by SofiaArceCaicedo
Estrategia de apoyo de tecnologia 3er periodo de tecnologia.pdfEstrategia de apoyo de tecnologia 3er periodo de tecnologia.pdf
Estrategia de apoyo de tecnologia 3er periodo de tecnologia.pdf
PROYECTOS 3ER PERIODO Sofia Collazos Santos.pdf by SaMu554
PROYECTOS 3ER PERIODO Sofia Collazos Santos.pdfPROYECTOS 3ER PERIODO Sofia Collazos Santos.pdf
PROYECTOS 3ER PERIODO Sofia Collazos Santos.pdf
SaMu55410 views
PRESENTACIÓN - SISTEMAS INFORMÁTICOS.pdf by NatalySnchez25
PRESENTACIÓN - SISTEMAS INFORMÁTICOS.pdfPRESENTACIÓN - SISTEMAS INFORMÁTICOS.pdf
PRESENTACIÓN - SISTEMAS INFORMÁTICOS.pdf
NatalySnchez259 views
PostCall: Encuestas telefónicas post llamada by OpenDireito
PostCall: Encuestas telefónicas post llamadaPostCall: Encuestas telefónicas post llamada
PostCall: Encuestas telefónicas post llamada
OpenDireito6 views
MakeCode by Coffe9
MakeCodeMakeCode
MakeCode
Coffe96 views
Tarea Práctica web de la sesión 14.pptx by illanlir
Tarea Práctica web de la sesión 14.pptxTarea Práctica web de la sesión 14.pptx
Tarea Práctica web de la sesión 14.pptx
illanlir14 views
Tecnologia (6).pdf by fspro99
Tecnologia (6).pdfTecnologia (6).pdf
Tecnologia (6).pdf
fspro996 views
El Ciberespacio y sus Características.pptx by AnthlingPereira
El Ciberespacio y  sus Características.pptxEl Ciberespacio y  sus Características.pptx
El Ciberespacio y sus Características.pptx
AnthlingPereira6 views
Taller de Electricidad y Electrónica.docx by Franksamuel11
Taller de Electricidad y Electrónica.docxTaller de Electricidad y Electrónica.docx
Taller de Electricidad y Electrónica.docx
Franksamuel117 views
Excel avanzado.pdf by fspro99
Excel avanzado.pdfExcel avanzado.pdf
Excel avanzado.pdf
fspro998 views

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.