Introduction to Angular 2

aleperez92 140 views 30 slides May 01, 2017
Slide 1
Slide 1 of 30
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30

About This Presentation

PHP Sevilla 017 Meetup: Introduction to Angular 2 and consuming data from a Symfony built REST API.


Slide Content

API RESTful & Angular 2
22 de febrero 2017

Alejandro Pérez Martín
https://github.com/AlejandroPerezMartin
THE FRONTEND

Desarrollador Front-End Junior
THE FRONTEND
Sobre mí
Experiencia: WordPress, PHP, jQuery, AngularJS, Angular 2

THE FRONTEND
Un poco de historia
Framework MVC para crear SPAs
Antes de Angular: Backbone y Ember
Creado en 2010 por Google

THE FRONTEND
Angular 1 vs Angular 2
Componentes
Soporte móvil
Adiós $scope

THE FRONTEND
ANGULAR 2

THE FRONTEND
TypeScript
Superset de JavaScript (transpilado)
Tipos, clases, interfaces, decoradores…
Orientado a objetos

THE FRONTEND
TypeScript

THE FRONTEND
Webpack
Sistema de empaquetado de módulos (bundler)
“Evolución” de Grunt o Gulp
Minificación, compilación de SASS a CSS…

THE FRONTEND
RxJS
Programación reactiva
Flujo de datos asíncrono
learnrxjs.io
www.youtube.com/watch?v=uQ1zhJHclvs

THE FRONTEND
ANGULAR2
angular.io

THE FRONTEND
Módulo raíz
imports: otros módulos requeridos por el módulo
declarations: componentes/directivas definidos
providers: servicios definidos
exports: componentes/directivas… disponibles para otros módulos
Root module
bootstrap: componente raíz de la aplicación

THE FRONTEND
Módulo
Feature module

THE FRONTEND
Componente
Definición
Uso

THE FRONTEND
Pasando datos a un componente
@Input Paso de datos

THE FRONTEND
Eventos
@Output Recepción

THE FRONTEND
Two-way data-binding
Cambios en el modelo se reflejan inmediatamente en la vista
http://plnkr.co/edit/nJZQYSV23sCcbb37FzLN?p=preview
Banana in a box

THE FRONTEND
Directivas
Cambian el comportamiento de un componente
Directivas de atributos
No modifican el template
Directivas estructurales
Modifican el template
*ngIf, *ngFor, [ngSwitch], [hidden]
[ngClass] y [ngStyle]

THE FRONTEND
Servicios
Funcionalidad compartida en toda la aplicación
Singletons
Inyección de dependencias

THE FRONTEND
Servicios
Definición Inyección (DI)

THE FRONTEND
Enrutamiento
Navegación desde la vista
Navegación desde un componente
Mostrar componente enrutado

THE FRONTEND
ANGULARCLI
cli.angular.io

THE FRONTEND
ANGULARCLI
Compilación en función del entorno
Webpack preconfigurado
Tests integrados

THE FRONTEND
Comandos
> ng generate route|directive|component|… ruta
https://cli.angular.io/reference.pdf
> ng build --env=dev|prod|… --prod //despliegue
> ng new miProyecto --style=scss|sass //crear proyecto
> ng serve //servir para desarrollo

THE FRONTEND
LA APLICACIÓN
https://github.com/AlejandroPerezMartin/angular2-symfony

THE FRONTEND
ESTRUCTURA
App
Idea
(editar)
404 Login Registro
Listado
Ideas

THE FRONTEND
CASO DE ÉXITO
http://edupills.educalab.es/

THE FRONTEND
Editores

THE FRONTEND
Recursos interesantes
Documentación oficial
Libro de Angular 2 por Rangle.io
Curso de introducción a Angular 2
Cursos de Angular 2 y JavaScript

PREGUNTAS