SlideShare una empresa de Scribd logo
Disertante: Ing. Rocco, Sebastián
Mail: srocco@movizen.com
Web: ww.movizen.com
Blog: www.smrocco.com
Introducción a Angular
Agenda
• ¿Qué es?
• ¿Qué ofrece?
• Pre-requisitos
• Elementos Principales
• Demo
• Migrando a Angular 6
• Novedades Angular 6
¿Qué es?
• Framework Javascript, gratuito y Open Source,
creado por Google.
• Objetivo: Facilitar la creación de aplicaciones web
modernas de tipo SPA.
• Primera versión: AngularJS.
• En septiembre de 2016 Google lanzó la versión
definitiva de lo que llamó en su momento Angular
2, y que ahora es simplemente Angular.
¿Por qué Angular?
• Es un framework, no una librería.
– No se requieren otras bibliotecas.
– Lineamientos claros.
• TypeScript.
• Gran soporte de herramientas.
• Pensado para móviles
Pre-Requisitos
• Web: HTML + CSS + JS
• Visual Studio Code (u otro IDE)
• Node.js & npm
• Angular CLI
npm install @angular/cli -g
• Otros:
– TypeScript
– Rxjs: Reactive Extensions Library for JavaScript
Creando la primera App…
• Básico:
ng new MyApp
• Con SASS y Routing
ng new MyApp --style=scss –routing
• Iniciar el servidor:
ng serve
• Iniciar el servidor y abrir la app:
ng serve --open
TypeScript
¿Qué es TypeScript?
• Superset de ECMAScript 6
– Incluye todas las funcionalidades de ES6 +
funcionalidades extra.
• Se transpilan a ES5.
• Ventajas sobre ES6
– Variables tipadas.
– Miembros públicos/privados.
– Decorators: Se pueden utilizar antes de declarar una
clase, propiedad, método o parámetro. Sintaxis:
@myDecorator(args)
¿Por qué usar TypeScript?
• Detección temprana de errores en fase de
compilación.
• Simplificación de código con Decoradores.
• Simplificación de la Inyección de Dependencias.
DEMO
Elementos Principales (I)
Elementos Principales (II)
• Módulos
• Componentes
• Templates
• Metadatos
• Data Binding
• Directivas
• Servicios
• Dependency Injection
Módulos (I)
• Las apps de Angular son modulares, gracias a su
propio sistema de módulos llamado Angular
Modules ( o NgModules).
• Un módulo de Angular, es un conjunto de código
dedicado a un ámbito concreto de la aplicación, o
una funcionalidad específica y se define mediante
una clase decorada con @NgModule.
• Importante: No confundir con módulos de ES6,
utilizados para gestionar librerías de JS.
Módulos (II)
• Declarations: Las vistas del módulo. Hay 3 tipos:
– Componentes
– Directivas
– Pipes.
• Exports: Conjunto de declaraciones que deben ser accesibles
para templates de componentes de otros módulos.
• Imports: Otros NgModules, cuyas clases exportadas son
requeridas por templates de componentes de este módulo.
• Providers: Servicios que necesita este módulo.
• Bootstrap: Define la vista raíz. Utilizado solo por el root
module.
Componente
• Controla una zona de espacio de la pantalla que
podríamos denominar vista.
• Un componente es una clase estándar de ES6 decorada
con @Component.
• Idem Controladores en AngularJS.
• Importante considerar SOLID y encapsular lógica de
negocio Servicios. Solo debería gestionar la Vista.
• Atributos de entrada y salida: @Input() y @Output().
Template
• Permite definir la vista de un Componente.
• Es HTML, pero decorado con otros componentes y
algunas directivas.
Metadatos
• Se agregan mediante el patrón decorador.
• Annotations: Nivel de clase.
• Parameters: Nivel de constructor.
• Ejemplos:
– @NgModule
– @Component
DataBinding
• Interpolación
{{todo.subject}}
• Property binding
[todo]="selectedTodo"
• Event binding
(click)="selectTodo(todo)"
• Two-way binding
<input [(ngModel)]="todo.subject">
DataBinding
Directivas
• Es una clase que utiliza el decorador @Directive.
• Un Componente es un caso concreto de directiva.
– @Component es un decorador @Directive extendido
con características propias de los templates.
• Tipos:
– Estructurales: comienzan por asterisco y sirven
para alterar el DOM. Ej: *ngIf; *ngFor
– Atributo: alteran la apariencia o comportamiento de un
elemento del DOM. Ej: ngModel; ngClass; ngStyle
Servicio
• Todo valor, función o característica que nuestra
aplicación necesita.
• Desde constantes a lógica de negocio, se debería
encapsular dentro de un servicio.
• A diferencia de AngularJS, en Angular los servicios no
tienen una sintaxis específica, son simples Clases.
• @Injectable: Este decorador avisa a Angular de que el
servicio espera utilizar otros servicios.
Dependency Injection (I)
• Proporcionar nuevas instancias de una clase con todas
aquellas dependencias que requiere plenamente formadas.
• @Injectable: Este decorador avisa a Angular de que el
servicio espera utilizar otros servicios.
• Injector:
– 1ero: El inyector lo instancia y lo guarda en un
contenedor.
– 2do: El inyector busca en su contenedor para ver si ya
existe una instancia.
• Provider: Cualquier cosa que puede crear o devolver un
servicio.
Dependency Injection (II)
• Por defecto:
providers: [Logger]
• Provider Object Literal
providers: [{ provide:Logger,
useClass: Logger}]
• Donde:
– Provide: Token que sirve como clave para identificar
la DI y registrar el provider.
– UseClass: Provider en sí mismo.
Dependency Injection (III)
• Dependencias opcionales:
Migrando a Angular 6
• Actualizar Angular globalmente
npm install -g @angular/cli
• Para cada proyecto:
ng update @angular/cli
ng update @angular/core
• Si se está usando angular material:
ng update @angular/material
• RxJS 6: Breaking Changes
npm i rxjs-compat
Novedades Angular 6
• General
– Sincronización de versiones.
• Angular 6
– Webpack 4: module bundler.
– Bazel (?): Optimiza la compilación…
– RxJS 6.
– Ivy (?): Cambio en el renderizado de las vistas..
– Elements
Novedades Angular 6
• CLI 6 (antes 1.7)
– angular.json (.angular-cli.json): workspaces!
– ng add
– ng update
– schematics
• Material 6
– Angular Material Starter Components
– Tree Component
¿Preguntas?
Muchas Gracias!
Datos de Contacto
Disertante: Ing. Rocco, Sebastián
Mail: srocco@movizen.com
Web: ww.movizen.com
Blog: www.smrocco.com

Más contenido relacionado

PPTX
AngularJS2
PDF
Angular 6
PDF
Introducción a Angular
PDF
Angular 2 Campus Madrid Septiembre 2016
PPTX
Advanced angular 1
PPTX
Angular Conceptos Practicos 2
PPTX
Angular Conceptos Practicos 1
PPTX
Rest api con spring boot en 40’
AngularJS2
Angular 6
Introducción a Angular
Angular 2 Campus Madrid Septiembre 2016
Advanced angular 1
Angular Conceptos Practicos 2
Angular Conceptos Practicos 1
Rest api con spring boot en 40’

Similar a Introducción a Angular 6 (20)

PDF
Webinar: Introducción a Angular
PPTX
Angular Fundamentals
PDF
Despegar Tech Talk - AngularJS
PDF
003-Introduccion-Angular.pdf
PDF
Angular: el presente-futuro
PDF
Curso Angular 9 - CodeURJC - Marzo 2020
PDF
Angular js
PDF
Taller de Drupal - Sesión 2
PPTX
Introducción a AngularJS
PPTX
Como usar el Angular CLI
PPTX
Javascript + Angular Sesion 3
PPTX
Arquitectura en aplicaciones Angular y buenas practicas.
PDF
Integrando AngularJS y drupal
PDF
Migrando de Angular 1 a Angular 2: adaptabilidad del contenido
PPTX
Introduccion a AngularJS
PDF
Frameworks de desarrollo: Angular (Javascript)
PPTX
SpringFramework Overview
PPTX
Visteme con 'Clean Architecture' que tengo prisas
PPTX
ASP.NET 5 & MVC 6 (RC1)
Webinar: Introducción a Angular
Angular Fundamentals
Despegar Tech Talk - AngularJS
003-Introduccion-Angular.pdf
Angular: el presente-futuro
Curso Angular 9 - CodeURJC - Marzo 2020
Angular js
Taller de Drupal - Sesión 2
Introducción a AngularJS
Como usar el Angular CLI
Javascript + Angular Sesion 3
Arquitectura en aplicaciones Angular y buenas practicas.
Integrando AngularJS y drupal
Migrando de Angular 1 a Angular 2: adaptabilidad del contenido
Introduccion a AngularJS
Frameworks de desarrollo: Angular (Javascript)
SpringFramework Overview
Visteme con 'Clean Architecture' que tengo prisas
ASP.NET 5 & MVC 6 (RC1)
Publicidad

Último (20)

PPT
Que son las redes de computadores y sus partes
PPTX
Sesion 1 de microsoft power point - Clase 1
PDF
Maste clas de estructura metálica y arquitectura
PDF
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PPT
introduccion a las_web en el 2025_mejoras.ppt
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PDF
Influencia-del-uso-de-redes-sociales.pdf
PDF
Estrategia de apoyo tecnología grado 9-3
PPTX
Propuesta BKP servidores con Acronis1.pptx
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PDF
SAP Transportation Management para LSP, TM140 Col18
PPTX
Presentación de Redes de Datos modelo osi
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
Que son las redes de computadores y sus partes
Sesion 1 de microsoft power point - Clase 1
Maste clas de estructura metálica y arquitectura
MÓDULO DE CALOR DE GRADO DE MEDIO DE FORMACIÓN PROFESIONAL
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
introduccion a las_web en el 2025_mejoras.ppt
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
Presentación PASANTIAS AuditorioOO..pptx
Influencia-del-uso-de-redes-sociales.pdf
Estrategia de apoyo tecnología grado 9-3
Propuesta BKP servidores con Acronis1.pptx
Zarate Quispe Alex aldayir aplicaciones de internet .docx
El-Gobierno-Electrónico-En-El-Estado-Bolivia
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
Power Point Nicolás Carrasco (disertación Roblox).pptx
SAP Transportation Management para LSP, TM140 Col18
Presentación de Redes de Datos modelo osi
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
Publicidad

Introducción a Angular 6

  • 1. Disertante: Ing. Rocco, Sebastián Mail: srocco@movizen.com Web: ww.movizen.com Blog: www.smrocco.com Introducción a Angular
  • 2. Agenda • ¿Qué es? • ¿Qué ofrece? • Pre-requisitos • Elementos Principales • Demo • Migrando a Angular 6 • Novedades Angular 6
  • 3. ¿Qué es? • Framework Javascript, gratuito y Open Source, creado por Google. • Objetivo: Facilitar la creación de aplicaciones web modernas de tipo SPA. • Primera versión: AngularJS. • En septiembre de 2016 Google lanzó la versión definitiva de lo que llamó en su momento Angular 2, y que ahora es simplemente Angular.
  • 4. ¿Por qué Angular? • Es un framework, no una librería. – No se requieren otras bibliotecas. – Lineamientos claros. • TypeScript. • Gran soporte de herramientas. • Pensado para móviles
  • 5. Pre-Requisitos • Web: HTML + CSS + JS • Visual Studio Code (u otro IDE) • Node.js & npm • Angular CLI npm install @angular/cli -g • Otros: – TypeScript – Rxjs: Reactive Extensions Library for JavaScript
  • 6. Creando la primera App… • Básico: ng new MyApp • Con SASS y Routing ng new MyApp --style=scss –routing • Iniciar el servidor: ng serve • Iniciar el servidor y abrir la app: ng serve --open
  • 8. ¿Qué es TypeScript? • Superset de ECMAScript 6 – Incluye todas las funcionalidades de ES6 + funcionalidades extra. • Se transpilan a ES5. • Ventajas sobre ES6 – Variables tipadas. – Miembros públicos/privados. – Decorators: Se pueden utilizar antes de declarar una clase, propiedad, método o parámetro. Sintaxis: @myDecorator(args)
  • 9. ¿Por qué usar TypeScript? • Detección temprana de errores en fase de compilación. • Simplificación de código con Decoradores. • Simplificación de la Inyección de Dependencias.
  • 10. DEMO
  • 12. Elementos Principales (II) • Módulos • Componentes • Templates • Metadatos • Data Binding • Directivas • Servicios • Dependency Injection
  • 13. Módulos (I) • Las apps de Angular son modulares, gracias a su propio sistema de módulos llamado Angular Modules ( o NgModules). • Un módulo de Angular, es un conjunto de código dedicado a un ámbito concreto de la aplicación, o una funcionalidad específica y se define mediante una clase decorada con @NgModule. • Importante: No confundir con módulos de ES6, utilizados para gestionar librerías de JS.
  • 14. Módulos (II) • Declarations: Las vistas del módulo. Hay 3 tipos: – Componentes – Directivas – Pipes. • Exports: Conjunto de declaraciones que deben ser accesibles para templates de componentes de otros módulos. • Imports: Otros NgModules, cuyas clases exportadas son requeridas por templates de componentes de este módulo. • Providers: Servicios que necesita este módulo. • Bootstrap: Define la vista raíz. Utilizado solo por el root module.
  • 15. Componente • Controla una zona de espacio de la pantalla que podríamos denominar vista. • Un componente es una clase estándar de ES6 decorada con @Component. • Idem Controladores en AngularJS. • Importante considerar SOLID y encapsular lógica de negocio Servicios. Solo debería gestionar la Vista. • Atributos de entrada y salida: @Input() y @Output().
  • 16. Template • Permite definir la vista de un Componente. • Es HTML, pero decorado con otros componentes y algunas directivas.
  • 17. Metadatos • Se agregan mediante el patrón decorador. • Annotations: Nivel de clase. • Parameters: Nivel de constructor. • Ejemplos: – @NgModule – @Component
  • 18. DataBinding • Interpolación {{todo.subject}} • Property binding [todo]="selectedTodo" • Event binding (click)="selectTodo(todo)" • Two-way binding <input [(ngModel)]="todo.subject">
  • 20. Directivas • Es una clase que utiliza el decorador @Directive. • Un Componente es un caso concreto de directiva. – @Component es un decorador @Directive extendido con características propias de los templates. • Tipos: – Estructurales: comienzan por asterisco y sirven para alterar el DOM. Ej: *ngIf; *ngFor – Atributo: alteran la apariencia o comportamiento de un elemento del DOM. Ej: ngModel; ngClass; ngStyle
  • 21. Servicio • Todo valor, función o característica que nuestra aplicación necesita. • Desde constantes a lógica de negocio, se debería encapsular dentro de un servicio. • A diferencia de AngularJS, en Angular los servicios no tienen una sintaxis específica, son simples Clases. • @Injectable: Este decorador avisa a Angular de que el servicio espera utilizar otros servicios.
  • 22. Dependency Injection (I) • Proporcionar nuevas instancias de una clase con todas aquellas dependencias que requiere plenamente formadas. • @Injectable: Este decorador avisa a Angular de que el servicio espera utilizar otros servicios. • Injector: – 1ero: El inyector lo instancia y lo guarda en un contenedor. – 2do: El inyector busca en su contenedor para ver si ya existe una instancia. • Provider: Cualquier cosa que puede crear o devolver un servicio.
  • 23. Dependency Injection (II) • Por defecto: providers: [Logger] • Provider Object Literal providers: [{ provide:Logger, useClass: Logger}] • Donde: – Provide: Token que sirve como clave para identificar la DI y registrar el provider. – UseClass: Provider en sí mismo.
  • 24. Dependency Injection (III) • Dependencias opcionales:
  • 25. Migrando a Angular 6 • Actualizar Angular globalmente npm install -g @angular/cli • Para cada proyecto: ng update @angular/cli ng update @angular/core • Si se está usando angular material: ng update @angular/material • RxJS 6: Breaking Changes npm i rxjs-compat
  • 26. Novedades Angular 6 • General – Sincronización de versiones. • Angular 6 – Webpack 4: module bundler. – Bazel (?): Optimiza la compilación… – RxJS 6. – Ivy (?): Cambio en el renderizado de las vistas.. – Elements
  • 27. Novedades Angular 6 • CLI 6 (antes 1.7) – angular.json (.angular-cli.json): workspaces! – ng add – ng update – schematics • Material 6 – Angular Material Starter Components – Tree Component
  • 30. Datos de Contacto Disertante: Ing. Rocco, Sebastián Mail: srocco@movizen.com Web: ww.movizen.com Blog: www.smrocco.com