Top Banner
Angular + TypeScript
250

Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Sep 13, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Angular

+

TypeScript

Page 2: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TemarioTemarioIntroducción a AngularEntorno de desarrolloJavascript modernoIntroducción a TypeScriptPrimeros pasos en AngularModelos, componentes y vistasServiciosFormulariosAcceso al servidorEnrutamiento y navegaciónDespliegue a producción

Page 3: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Introducción aIntroducción aAngularAngular

Page 4: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

¿Qué es Angular?

Page 5: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

¿Qué es Angular?

Framework JS

Page 6: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

¿Qué es Angular?

Framework JSSPA: Single Page Applications

Page 7: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

¿Qué es Angular?

Framework JSSPA: Single Page ApplicationsTypeScript

Page 8: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

¿Qué es Angular?

Framework JSSPA: Single Page ApplicationsTypeScriptCódigo fuente y código compilado

Page 9: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

¿Qué es Angular?

Framework JSSPA: Single Page ApplicationsTypeScriptCódigo fuente y código compilado¿Angular 2? ¿6? ¿AngularJS?

Page 10: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Entorno deEntorno dedesarrollodesarrollo

Page 11: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Entorno de desarrollo

Page 12: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Entorno de desarrollo

IDE: Visual Studio Code

Page 13: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Entorno de desarrollo

IDE: Visual Studio CodeGit

Page 14: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Entorno de desarrollo

IDE:

y npm

Visual Studio CodeGitNodeJS

Page 15: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

GitGit

Page 16: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Comandos básicos

Page 17: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Comandos básicos

Clonar un repositorio:     git clone URL  

Page 18: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Comandos básicos

Clonar un repositorio:     git clone URL  Descargar última versión del repositorio:     git pull origin master

Page 19: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Configuración proxy

git config --global http.proxy http://username:password@host:port

git config --global https.proxy http://username:password@host:port

Page 20: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Node.js y npmNode.js y npm

Page 21: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

npm

Page 22: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

npm

Instalar última versión después de instalar Node.js (configurar proxy si es necesario)

Page 23: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

npm

Instalar última versión después de instalar Node.js (configurar proxy si es necesario)Repositorio de módulos distribuibles

Page 24: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

npm

Instalar última versión después de instalar Node.js (configurar proxy si es necesario)Repositorio de módulos distribuiblesMódulos globales y módulos locales

Page 25: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

npm

Instalar última versión después de instalar Node.js (configurar proxy si es necesario)Repositorio de módulos distribuiblesMódulos globales y módulos localesLa carpeta node_modules

Page 26: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

npm

Instalar última versión después de instalar Node.js (configurar proxy si es necesario)Repositorio de módulos distribuiblesMódulos globales y módulos localesLa carpeta node_modulesEl archivo package.json:

Page 27: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

npm

Instalar última versión después de instalar Node.js (configurar proxy si es necesario)Repositorio de módulos distribuiblesMódulos globales y módulos localesLa carpeta node_modulesEl archivo package.json:

Registro de dependencias

Page 28: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

npm

Instalar última versión después de instalar Node.js (configurar proxy si es necesario)Repositorio de módulos distribuiblesMódulos globales y módulos localesLa carpeta node_modulesEl archivo package.json:

Registro de dependenciasDependencias de desarrollo y de producción

Page 29: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

npm

Instalar última versión después de instalar Node.js (configurar proxy si es necesario)Repositorio de módulos distribuiblesMódulos globales y módulos localesLa carpeta node_modulesEl archivo package.json:

Registro de dependenciasDependencias de desarrollo y de producciónVersiones (SEMVER)

Page 30: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Comandos npm

Page 31: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Comandos npmInstalar un paquete globalmente:     npm install -g paquete

Page 32: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Comandos npmInstalar un paquete globalmente:     npm install -g paqueteInstalar un paquete de producción:     npm install paquete

Page 33: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Comandos npmInstalar un paquete globalmente:     npm install -g paqueteInstalar un paquete de producción:     npm install paqueteInstalar un paquete de desarrollo:     npm install paquete --save-dev

Page 34: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Comandos npmInstalar un paquete globalmente:     npm install -g paqueteInstalar un paquete de producción:     npm install paqueteInstalar un paquete de desarrollo:     npm install paquete --save-devInstalar todas las dependencias:     npm install

Page 35: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Comandos npmInstalar un paquete globalmente:     npm install -g paqueteInstalar un paquete de producción:     npm install paqueteInstalar un paquete de desarrollo:     npm install paquete --save-devInstalar todas las dependencias:     npm installInstalar las dependencias de producción:     npm install --production

Page 36: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Comandos npmInstalar un paquete globalmente:     npm install -g paqueteInstalar un paquete de producción:     npm install paqueteInstalar un paquete de desarrollo:     npm install paquete --save-devInstalar todas las dependencias:     npm installInstalar las dependencias de producción:     npm install --productionListar paquetes instalados:    npm list --depth=0        (locales)     npm list -g --depth=0   (globales)

Page 37: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Configuración proxy

npm config set proxy http://username:password@host:port

npm config set https-proxy http://username:password@host:port

Page 38: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

JavaScriptJavaScript

Page 39: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

JavaScript

Page 40: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

JavaScript

Interpretado, compilado y ejecutado en el navegador

Page 41: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

JavaScript

Interpretado, compilado y ejecutado en el navegadorCada navegador programa su propio motor de JS

Page 42: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

JavaScript

Interpretado, compilado y ejecutado en el navegadorCada navegador programa su propio motor de JSEstandarización: ECMAScript

Page 43: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

JavaScript

Interpretado, compilado y ejecutado en el navegadorCada navegador programa su propio motor de JSEstandarización: ECMAScriptLa versión ES6 o ES2015

Page 44: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

JavaScript

Interpretado, compilado y ejecutado en el navegadorCada navegador programa su propio motor de JSEstandarización: ECMAScriptLa versión ES6 o ES2015Transpiladores: Babel, TypeScript

Page 45: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

JavaScript

Interpretado, compilado y ejecutado en el navegadorCada navegador programa su propio motor de JSEstandarización: ECMAScriptLa versión ES6 o ES2015Transpiladores: Babel, TypeScript

Page 46: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Page 47: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Ejemplo de uso clásico de JS: utilizar un plugin dejQuery en nuestra web, o implementar algunainteracción con el usuario

Page 48: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Ejemplo de uso clásico de JS: utilizar un plugin dejQuery en nuestra web, o implementar algunainteracción con el usuarioPocas líneas de código, todas en un mismo archivo

Page 49: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Page 50: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

<head> <meta charset="UTF-8"> <title>Mi web</title> <script src="vendor/jquery/jquery.min.js"></script> <script src="js/tabs.js"></script> </head>

Organización del código JavaScript

Page 51: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

<head> <meta charset="UTF-8"> <title>Mi web</title> <script src="vendor/jquery/jquery.min.js"></script> <script src="js/tabs.js"></script> </head>

(function($) { $(document).ready(function() { // Al hacer clic en una pestaña $(".tab a").on("click", function(e) { // Anulamos el link e.preventDefault(); // Ocultamos todos los bloques de contenido // y mostramos sólo el que se ha elegido var content_id = $(this).attr("href"); $(".tab-content").hide(); $(content_id).show(); // Desmarcamos la pestaña que estuviera activa // y marcamos la clicada como activa $(".tab.active").removeClass("active"); $(this).closest(".tab").addClass("active"); }) }) })(jQuery);

Organización del código JavaScript

24 líneas

Page 52: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Page 53: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

<head> <meta charset="UTF-8"> <title>Mi web</title> <script src="vendor/jquery/jquery.min.js"></script> <script src="js/ui.js"></script> </head>

Page 54: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

<head> <meta charset="UTF-8"> <title>Mi web</title> <script src="vendor/jquery/jquery.min.js"></script> <script src="js/ui.js"></script> </head>

(function($) { $(document).ready(function() { $(document).on('click', '.tab_new', offerGroupSwitchTabs); $(document).on('click', '.navigationServices-li', jumpTo); $('.load-more_new').on('click', loadMore).each(function() { $(this).data('main', $(this).text()); }); }) var loadMore = function(e) { e.preventDefault(); var $list = $(this).prev('.promos-list_new'); var button_text = $(this).data('main'); var button_alt_text = $(this).data('alt'); if ($(window).width() > 992) { var hidden_classes = ".hidden"; var $hidden = $list.find(hidden_classes); var n_show = 3; } else if ($(window).width() > 768) { var hidden_classes = ".hidden, .hidden-sm"; var $hidden = $list.find(hidden_classes); var n_show = 2; } else { var hidden_classes = ".hidden, .hidden-sm, .hidden-xs"; var $hidden = $list.find(hidden_classes); var n_show = 1;

75 líneas

Page 55: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Page 56: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Programar toda la UI de una página

Page 57: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Programar toda la UI de una página(function() { var width = window.innerWidth; var height = window.innerHeight; var timerID = 0; var c = document.getElementById('canvas') var ctx = c.getContext('2d'); c.width = width; c.height = height; var speed = 10; var size = 8; var boids = []; var totalBoids = 150; var init = function(){ for (var i = 0; i < totalBoids; i++) { boids.push({ x: Math.random() * width, y: Math.random() * height, v: {

Page 58: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Programar toda la UI de una página(function() { var width = window.innerWidth; var height = window.innerHeight; var timerID = 0; var c = document.getElementById('canvas') var ctx = c.getContext('2d'); c.width = width; c.height = height; var speed = 10; var size = 8; var boids = []; var totalBoids = 150; var init = function(){ for (var i = 0; i < totalBoids; i++) { boids.push({ x: Math.random() * width, y: Math.random() * height, v: {

1711líneas

Page 59: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Page 60: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

¿2000 líneas en un solo archivo?

Page 61: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

¿2000 líneas en un solo archivo?

Ventajas Inconvenientes

Page 62: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

¿2000 líneas en un solo archivo?

Ventajas Inconvenientes

Difícil de leer/entender

Page 63: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

¿2000 líneas en un solo archivo?

Ventajas Inconvenientes

Difícil de leer/entenderDifícil de mantener

Page 64: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

¿2000 líneas en un solo archivo?

Ventajas Inconvenientes

Difícil de leer/entenderDifícil de mantenerPoca reusabilidad

Page 65: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

¿2000 líneas en un solo archivo?

Ventajas Inconvenientes

Difícil de leer/entenderDifícil de mantenerPoca reusabilidadDifícil encontrar código nousado

Page 66: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

¿2000 líneas en un solo archivo?

Ventajas Inconvenientes

Difícil de leer/entenderDifícil de mantenerPoca reusabilidadDifícil encontrar código nousadoColisiones de nombres

Page 67: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

¿2000 líneas en un solo archivo?

Ventajas Inconvenientes

Difícil de leer/entenderDifícil de mantenerPoca reusabilidadDifícil encontrar código nousadoColisiones de nombres

Una sola peticiónHTTP

Page 68: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Page 69: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Optimización: dividir el código en variosarchivos/módulos

Page 70: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Optimización: dividir el código en variosarchivos/módulos

Page 71: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Optimización: dividir el código en variosarchivos/módulos

<head> <meta charset="UTF-8"> <title>Mi web</title> <script src="vendor/jquery/jquery.min.js"></script> <script src="js/modules/tabs.js"></script> <script src="js/modules/banners.js"></script> <script src="js/modules/lightbox.js"></script> <script src="js/modules/scroll.js"></script> <script src="js/modules/carousel.js"></script> <script src="js/modules/slideshow.js"></script> <script src="js/modules/gallery.js"></script> <script src="js/modules/navigation.js"></script> </head>

Page 72: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Page 73: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Ventajas Inconvenientes

<head> <meta charset="UTF-8"> <title>Mi web</title> <script src="vendor/jquery/jquery.min.js"></script> <script src="js/modules/tabs.js"></script> <script src="js/modules/banners.js"></script> <script src="js/modules/lightbox.js"></script> <script src="js/modules/scroll.js"></script> <script src="js/modules/carousel.js"></script> <script src="js/modules/slideshow.js"></script> <script src="js/modules/gallery.js"></script> <script src="js/modules/navigation.js"></script> </head>

Page 74: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Ventajas Inconvenientes

Difícil encontrar código nousado (menos difícil queantes)

<head> <meta charset="UTF-8"> <title>Mi web</title> <script src="vendor/jquery/jquery.min.js"></script> <script src="js/modules/tabs.js"></script> <script src="js/modules/banners.js"></script> <script src="js/modules/lightbox.js"></script> <script src="js/modules/scroll.js"></script> <script src="js/modules/carousel.js"></script> <script src="js/modules/slideshow.js"></script> <script src="js/modules/gallery.js"></script> <script src="js/modules/navigation.js"></script> </head>

Page 75: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Ventajas Inconvenientes

Difícil encontrar código nousado (menos difícil queantes)Colisiones de nombres

<head> <meta charset="UTF-8"> <title>Mi web</title> <script src="vendor/jquery/jquery.min.js"></script> <script src="js/modules/tabs.js"></script> <script src="js/modules/banners.js"></script> <script src="js/modules/lightbox.js"></script> <script src="js/modules/scroll.js"></script> <script src="js/modules/carousel.js"></script> <script src="js/modules/slideshow.js"></script> <script src="js/modules/gallery.js"></script> <script src="js/modules/navigation.js"></script> </head>

Page 76: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Ventajas Inconvenientes

Difícil encontrar código nousado (menos difícil queantes)Colisiones de nombresMuchas peticiones HTTP

<head> <meta charset="UTF-8"> <title>Mi web</title> <script src="vendor/jquery/jquery.min.js"></script> <script src="js/modules/tabs.js"></script> <script src="js/modules/banners.js"></script> <script src="js/modules/lightbox.js"></script> <script src="js/modules/scroll.js"></script> <script src="js/modules/carousel.js"></script> <script src="js/modules/slideshow.js"></script> <script src="js/modules/gallery.js"></script> <script src="js/modules/navigation.js"></script> </head>

Page 77: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Ventajas Inconvenientes

Difícil encontrar código nousado (menos difícil queantes)Colisiones de nombresMuchas peticiones HTTPEl orden importa:dependencias

<head> <meta charset="UTF-8"> <title>Mi web</title> <script src="vendor/jquery/jquery.min.js"></script> <script src="js/modules/tabs.js"></script> <script src="js/modules/banners.js"></script> <script src="js/modules/lightbox.js"></script> <script src="js/modules/scroll.js"></script> <script src="js/modules/carousel.js"></script> <script src="js/modules/slideshow.js"></script> <script src="js/modules/gallery.js"></script> <script src="js/modules/navigation.js"></script> </head>

Page 78: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Ventajas Inconvenientes

Difícil encontrar código nousado (menos difícil queantes)Colisiones de nombresMuchas peticiones HTTPEl orden importa:dependencias

Legible e inteligible

<head> <meta charset="UTF-8"> <title>Mi web</title> <script src="vendor/jquery/jquery.min.js"></script> <script src="js/modules/tabs.js"></script> <script src="js/modules/banners.js"></script> <script src="js/modules/lightbox.js"></script> <script src="js/modules/scroll.js"></script> <script src="js/modules/carousel.js"></script> <script src="js/modules/slideshow.js"></script> <script src="js/modules/gallery.js"></script> <script src="js/modules/navigation.js"></script> </head>

Page 79: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Ventajas Inconvenientes

Difícil encontrar código nousado (menos difícil queantes)Colisiones de nombresMuchas peticiones HTTPEl orden importa:dependencias

Legible e inteligibleFácil de mantener

<head> <meta charset="UTF-8"> <title>Mi web</title> <script src="vendor/jquery/jquery.min.js"></script> <script src="js/modules/tabs.js"></script> <script src="js/modules/banners.js"></script> <script src="js/modules/lightbox.js"></script> <script src="js/modules/scroll.js"></script> <script src="js/modules/carousel.js"></script> <script src="js/modules/slideshow.js"></script> <script src="js/modules/gallery.js"></script> <script src="js/modules/navigation.js"></script> </head>

Page 80: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Ventajas Inconvenientes

Difícil encontrar código nousado (menos difícil queantes)Colisiones de nombresMuchas peticiones HTTPEl orden importa:dependencias

Legible e inteligibleFácil de mantenerReutilizable

<head> <meta charset="UTF-8"> <title>Mi web</title> <script src="vendor/jquery/jquery.min.js"></script> <script src="js/modules/tabs.js"></script> <script src="js/modules/banners.js"></script> <script src="js/modules/lightbox.js"></script> <script src="js/modules/scroll.js"></script> <script src="js/modules/carousel.js"></script> <script src="js/modules/slideshow.js"></script> <script src="js/modules/gallery.js"></script> <script src="js/modules/navigation.js"></script> </head>

Page 81: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Ventajas Inconvenientes

Difícil encontrar código nousado (menos difícil queantes)Colisiones de nombresMuchas peticiones HTTPEl orden importa:dependencias

Legible e inteligibleFácil de mantenerReutilizableCargamos sólo lo quenecesitamos

<head> <meta charset="UTF-8"> <title>Mi web</title> <script src="vendor/jquery/jquery.min.js"></script> <script src="js/modules/tabs.js"></script> <script src="js/modules/banners.js"></script> <script src="js/modules/lightbox.js"></script> <script src="js/modules/scroll.js"></script> <script src="js/modules/carousel.js"></script> <script src="js/modules/slideshow.js"></script> <script src="js/modules/gallery.js"></script> <script src="js/modules/navigation.js"></script> </head>

Page 82: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript

Page 83: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Dependencias: es difícil asegurar el orden, y no esposible tener dependencias circulares

Organización del código JavaScript

Page 84: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Dependencias: es difícil asegurar el orden, y no esposible tener dependencias circulares

Organización del código JavaScript<head> <meta charset="UTF-8"> <title>Mi web</title> <script src="vendor/jquery/jquery.min.js"></script> <script src="js/modules/tabs.js"></script> <script src="js/modules/banners.js"></script> <script src="js/modules/lightbox.js"></script> <script src="js/modules/scroll.js"></script> <script src="js/modules/carousel.js"></script> <script src="js/modules/slideshow.js"></script> <script src="js/modules/gallery.js"></script> <script src="js/modules/navigation.js"></script> </head>

Page 85: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Dependencias: es difícil asegurar el orden, y no esposible tener dependencias circulares

Organización del código JavaScript<head> <meta charset="UTF-8"> <title>Mi web</title> <script src="vendor/jquery/jquery.min.js"></script> <script src="js/modules/tabs.js"></script> <script src="js/modules/banners.js"></script> <script src="js/modules/lightbox.js"></script> <script src="js/modules/scroll.js"></script> <script src="js/modules/carousel.js"></script> <script src="js/modules/slideshow.js"></script> <script src="js/modules/gallery.js"></script> <script src="js/modules/navigation.js"></script> </head>

Page 86: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript: módulos

Page 87: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Module loaders: ellos gestionan las dependencias ycargan los módulos (RequireJS, SystemJS)

Organización del código JavaScript: módulos

Page 88: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Module loaders: ellos gestionan las dependencias ycargan los módulos (RequireJS, SystemJS)

Organización del código JavaScript: módulos

Ventajas Inconvenientes

Page 89: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Module loaders: ellos gestionan las dependencias ycargan los módulos (RequireJS, SystemJS)

Organización del código JavaScript: módulos

Ventajas Inconvenientes

Difícil encontrar código nousado (menos difícil queantes)Muchas peticiones HTTP

Page 90: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Module loaders: ellos gestionan las dependencias ycargan los módulos (RequireJS, SystemJS)

Organización del código JavaScript: módulos

Ventajas Inconvenientes

Difícil encontrar código nousado (menos difícil queantes)Muchas peticiones HTTP

Legible e inteligibleFácil de mantenerReutilizableCargamos sólo lo quenecesitamos

Page 91: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Module loaders: ellos gestionan las dependencias ycargan los módulos (RequireJS, SystemJS)

Organización del código JavaScript: módulos

Ventajas Inconvenientes

Difícil encontrar código nousado (menos difícil queantes)Muchas peticiones HTTP

Legible e inteligibleFácil de mantenerReutilizableCargamos sólo lo quenecesitamosGestión automática dedependencias

Page 92: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Module loaders: ellos gestionan las dependencias ycargan los módulos (RequireJS, SystemJS)

Organización del código JavaScript: módulos

Ventajas Inconvenientes

Difícil encontrar código nousado (menos difícil queantes)Muchas peticiones HTTP

Legible e inteligibleFácil de mantenerReutilizableCargamos sólo lo quenecesitamosGestión automática dedependenciasEncapsulación

Page 93: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript: módulos

Page 94: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Module bundlers: además de lo anterior, generan unsolo código encadenado y minificado (browserify,webpack)

Organización del código JavaScript: módulos

Page 95: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Module bundlers: además de lo anterior, generan unsolo código encadenado y minificado (browserify,webpack)

Organización del código JavaScript: módulos

Ventajas

Page 96: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Module bundlers: además de lo anterior, generan unsolo código encadenado y minificado (browserify,webpack)

Organización del código JavaScript: módulos

Ventajas

Legible e inteligibleFácil de mantenerReutilizableCargamos sólo lo quenecesitamosGestión automática dedependenciasEncapsulación

Page 97: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Una o muy pocasconexiones HTTP

Module bundlers: además de lo anterior, generan unsolo código encadenado y minificado (browserify,webpack)

Organización del código JavaScript: módulos

Ventajas

Legible e inteligibleFácil de mantenerReutilizableCargamos sólo lo quenecesitamosGestión automática dedependenciasEncapsulación

Page 98: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Una o muy pocasconexiones HTTPEliminación de códigono usado (tree shaking)

Module bundlers: además de lo anterior, generan unsolo código encadenado y minificado (browserify,webpack)

Organización del código JavaScript: módulos

Ventajas

Legible e inteligibleFácil de mantenerReutilizableCargamos sólo lo quenecesitamosGestión automática dedependenciasEncapsulación

Page 99: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript: módulos

Page 100: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript: módulos

¿Puedo escribir mis módulos como yo quiera? ¿hay unestándar?

Page 101: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript: módulos

¿Puedo escribir mis módulos como yo quiera? ¿hay unestándar?AMD: Asynchronous Module Definition

Page 102: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript: módulos

¿Puedo escribir mis módulos como yo quiera? ¿hay unestándar?AMD: Asynchronous Module Definition

define(['myModule', 'myOtherModule'], function(myModule, myOtherModule) { return { hello: function() { console.log('hello'); }, goodbye: function() { console.log('goodbye'); } }; });

Page 103: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript: módulos

¿Puedo escribir mis módulos como yo quiera? ¿hay unestándar?AMD: Asynchronous Module Definition

CommonJS

Page 104: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript: módulos

¿Puedo escribir mis módulos como yo quiera? ¿hay unestándar?AMD: Asynchronous Module Definition

CommonJSvar myModuleA = require('myModuleA'); function myModuleB() { this.hello = function() { return 'hello!'; } this.goodbye = function() { return 'goodbye!'; } } module.exports = myModuleB;

Page 105: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript: módulos

¿Puedo escribir mis módulos como yo quiera? ¿hay unestándar?AMD: Asynchronous Module Definition

CommonJS

UMD: Universal Module Definition

Page 106: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript: módulos

¿Puedo escribir mis módulos como yo quiera? ¿hay unestándar?AMD: Asynchronous Module Definition

CommonJS

UMD: Universal Module Definition(function (root, factory) { if (typeof define === 'function' && define.amd) { // AMD define(['myModule', 'myOtherModule'], factory); } else if (typeof exports === 'object') { // CommonJS module.exports = factory(require('myModule'), require('myOtherModule')); } else { // Browser globals (Note: root is window) root.returnExports = factory(root.myModule, root.myOtherModule); } }(this, function (myModule, myOtherModule) { // Methods function notHelloOrGoodbye(){}; // A private method

Page 107: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript: módulos

¿Puedo escribir mis módulos como yo quiera? ¿hay unestándar?AMD: Asynchronous Module Definition

CommonJS

UMD: Universal Module Definition

ES6 Modules

Page 108: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript: módulos

¿Puedo escribir mis módulos como yo quiera? ¿hay unestándar?AMD: Asynchronous Module Definition

CommonJS

UMD: Universal Module Definition

ES6 Modules

import { method1 } from './moduleA.js'; method1("hello"); export let method2 = function() { console.log("Method 2"); }

Page 109: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript: módulos

Page 110: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript: módulos

¿AMD, CommonJS, UMD, ES6?Compatibilidad de los módulos ES6 en navegadores

Page 111: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript: módulos

¿AMD, CommonJS, UMD, ES6?Compatibilidad de los módulos ES6 en navegadores¡Webpack!

Page 112: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript: módulos

¿AMD, CommonJS, UMD, ES6?Compatibilidad de los módulos ES6 en navegadores¡Webpack!TypeScript usa la sintaxis ES6

Page 113: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript: módulos

¿AMD, CommonJS, UMD, ES6?Compatibilidad de los módulos ES6 en navegadores¡Webpack!TypeScript usa la sintaxis ES6TS -> ES5 -> webpack -> bundle -> browser =

Page 114: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Organización del código JavaScript: módulos

¿AMD, CommonJS, UMD, ES6?Compatibilidad de los módulos ES6 en navegadores¡Webpack!TypeScript usa la sintaxis ES6TS -> ES5 -> webpack -> bundle -> browser = Angular CLI

Page 115: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?
Page 116: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

ES6

Page 117: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

ES6

let y const

Page 118: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

ES6

let y constTemplate literals

Page 119: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

ES6

let y constTemplate literalsfor ... of

Page 120: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

ES6

let y constTemplate literalsfor ... ofFunciones

Parámetros opcionalesFunción arrow:(parámetros) => expresión_devuelta;

Page 121: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

ES6

Page 122: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

ES6

Operador spreadParámetros en funcionesEnviar varios parámetros a partir de un array

Page 123: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

ES6

Operador spreadParámetros en funcionesEnviar varios parámetros a partir de un arraypush y unshiftIntercalar un array dentro de otroCopiar un array en otroCopiar un objeto en otro

Page 124: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

ES6

Page 125: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

ES6

ClasesPropiedades y métodos

Page 126: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

ES6

ClasesPropiedades y métodosGetters y settersPropiedades y métodos estáticosHerencia con extends y super()

Page 127: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

ES6

Page 128: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

ES6

Módulosimportimport { literal } from 'ruta_modulo'; import literal from 'ruta_modulo'; import * as literal from 'ruta_modulo'; import 'ruta_modulo';export export let a = 3; export let class Clase {     ... } export default {     key: value }

Page 129: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Programación funcional con arrays

Page 130: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Programación funcional con arrays

Métodos:

Page 131: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Programación funcional con arrays

Métodos:map

Page 132: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Programación funcional con arrays

Métodos:mapfilter

Page 133: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Programación funcional con arrays

Métodos:mapfilterreduce

Page 134: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Programación funcional con arrays

Métodos:mapfilterreducefind

Page 135: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Programación funcional con arrays

Métodos:mapfilterreducefind

Encadenamiento

Page 136: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScriptTypeScript

Page 137: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

Page 138: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

Superconjunto de JavaScript

Page 139: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

Superconjunto de JavaScriptTranspila a ES5

Page 140: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

Superconjunto de JavaScriptTranspila a ES5Tipado

Page 141: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

Superconjunto de JavaScriptTranspila a ES5TipadoErrores en tiempo de compilación

Page 142: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

Superconjunto de JavaScriptTranspila a ES5TipadoErrores en tiempo de compilacióntsc

Page 143: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

Superconjunto de JavaScriptTranspila a ES5TipadoErrores en tiempo de compilacióntsctsconfig.json

Page 144: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

Page 145: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

Tipos básicos:

Page 146: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

Tipos básicos:number

Page 147: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

Tipos básicos:numberstring

Page 148: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

Tipos básicos:numberstringboolean

Page 149: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

Tipos básicos:numberstringbooleanArray

Page 150: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

Tipos básicos:numberstringbooleanArrayany

Page 151: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

Tipos básicos:numberstringbooleanArrayanyvoid

Page 152: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

Tipos básicos:numberstringbooleanArrayanyvoid

Enum

Page 153: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

Tipos básicos:numberstringbooleanArrayanyvoid

EnumUnion typesGenéricos

Page 154: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

Page 155: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

Funciones

Page 156: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

FuncionesSin flexibilidad en el número de parámetros

Page 157: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

FuncionesSin flexibilidad en el número de parámetrosParámetros opcionales

Page 158: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

FuncionesSin flexibilidad en el número de parámetrosParámetros opcionales

Clases

Page 159: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

FuncionesSin flexibilidad en el número de parámetrosParámetros opcionales

ClasesPropiedades fuera del constructor

Page 160: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

FuncionesSin flexibilidad en el número de parámetrosParámetros opcionales

ClasesPropiedades fuera del constructorVisibilidad de los miembros

Page 161: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

FuncionesSin flexibilidad en el número de parámetrosParámetros opcionales

ClasesPropiedades fuera del constructorVisibilidad de los miembros

Modificador readonly

Page 162: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

FuncionesSin flexibilidad en el número de parámetrosParámetros opcionales

ClasesPropiedades fuera del constructorVisibilidad de los miembros

Modificador readonlyPropiedades estáticas

Page 163: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

FuncionesSin flexibilidad en el número de parámetrosParámetros opcionales

ClasesPropiedades fuera del constructorVisibilidad de los miembros

Modificador readonlyPropiedades estáticasInterfacesMétodos abstractos

Page 164: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

Page 165: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

TypeScript

Decoradores (@)

Page 166: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

AngularAngular

Page 167: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Primeros pasos

Page 168: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Primeros pasos

ng new para generar la app

Page 169: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Primeros pasos

ng new para generar la appng serve -o para ejecutarla y verla en el navegador

Page 170: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Primeros pasos

ng new para generar la appng serve -o para ejecutarla y verla en el navegadorEntornos dev y prod

Page 171: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Primeros pasos

ng new para generar la appng serve -o para ejecutarla y verla en el navegadorEntornos dev y prodMódulos, componentes y vistas

Page 172: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Primeros pasos

ng new para generar la appng serve -o para ejecutarla y verla en el navegadorEntornos dev y prodMódulos, componentes y vistasArchivos de configuración

Page 173: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Esqueleto de una pieza en Angular

Page 174: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Esqueleto de una pieza en Angular

clase =>

Page 175: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Esqueleto de una pieza en Angular

clase =>=> clase exportada =>

Page 176: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Esqueleto de una pieza en Angular

clase =>=> clase exportada =>=> clase exportada y decorada =>

Page 177: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Esqueleto de una pieza en Angular

clase =>=> clase exportada =>=> clase exportada y decorada =>=> dependencias

Page 178: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Examinando un componente

Page 179: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Examinando un componente

Metadata

Page 180: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Examinando un componente

Metadataselector

Page 181: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Examinando un componente

Metadataselectortemplate / templateUrl

Page 182: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Examinando un componente

Metadataselectortemplate / templateUrlstyles / styleUrls

Page 183: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Examinando un template

Page 184: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Examinando un template

Custom elements

Page 185: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Examinando un template

Custom elementsData binding

Page 186: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Examinando un template

Custom elementsData bindingInterpolation

Page 187: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Examinando un template

Custom elementsData bindingInterpolationProperty binding

Page 188: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Examinando un template

Custom elementsData bindingInterpolationProperty bindingClass & style binding

Page 189: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Examinando un template

Custom elementsData bindingInterpolationProperty bindingClass & style bindingEvent binding

Page 190: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Examinando un template

Custom elementsData bindingInterpolationProperty bindingClass & style bindingEvent bindingTwo-way binding

Page 191: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Examinando un template

Page 192: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Examinando un template

Directivas de atributo

Page 193: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Examinando un template

Directivas de atributongClass

Page 194: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Examinando un template

Directivas de atributongClassngStyle

Page 195: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Examinando un template

Directivas de atributongClassngStyle

Directivas estructurales

Page 196: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Examinando un template

Directivas de atributongClassngStyle

Directivas estructuralesngIf

Page 197: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Examinando un template

Directivas de atributongClassngStyle

Directivas estructuralesngIfngFor

Page 198: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Examinando un template

Directivas de atributongClassngStyle

Directivas estructuralesngIfngForngSwitch

Page 199: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Examinando un template

Directivas de atributongClassngStyle

Directivas estructuralesngIfngForngSwitch

Pipes

Page 200: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Examinando un template

Directivas de atributongClassngStyle

Directivas estructuralesngIfngForngSwitch

Pipes@Pipe, PipeTransform

Page 201: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Servicios

Page 202: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Servicios

Dependency Injection

Page 203: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Servicios

Dependency InjectionInjectable()

Page 204: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Servicios

Dependency InjectionInjectable()Proveedores

Page 205: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Servicios

Dependency InjectionInjectable()ProveedoresSingleton

Page 206: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Formularios

Page 207: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Formularios

[(ngModel)]: Two-way binding

Page 208: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Formularios

[(ngModel)]: Two-way bindingngForm, ngModel y ngSubmit

Page 209: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Formularios

[(ngModel)]: Two-way bindingngForm, ngModel y ngSubmitVariables de template con #

Page 210: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Formularios

[(ngModel)]: Two-way bindingngForm, ngModel y ngSubmitVariables de template con #Validaciones: los diferentes estados

Page 211: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Formularios

[(ngModel)]: Two-way bindingngForm, ngModel y ngSubmitVariables de template con #Validaciones: los diferentes estadosResetear los estados

Page 212: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Formularios

[(ngModel)]: Two-way bindingngForm, ngModel y ngSubmitVariables de template con #Validaciones: los diferentes estadosResetear los estadosTemplate driven y Reactive forms

Page 213: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Conexiones con el servidor

Page 214: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Conexiones con el servidor

Asincronía

Page 215: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Conexiones con el servidor

AsincroníaObservables

Page 216: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Conexiones con el servidor

AsincroníaObservablesSuscripciones

Page 217: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Conexiones con el servidor

AsincroníaObservablesSuscripcionesAPI REST

Page 218: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Conexiones con el servidor

AsincroníaObservablesSuscripcionesAPI RESTEl módulo HttpClientModule

Page 219: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Conexiones con el servidor

AsincroníaObservablesSuscripcionesAPI RESTEl módulo HttpClientModule

Módulo HttpClientModule y servicio HttpClient

Page 220: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Conexiones con el servidor

AsincroníaObservablesSuscripcionesAPI RESTEl módulo HttpClientModule

Módulo HttpClientModule y servicio HttpClientMétodos del servicio HttpClient: get(), post(), put(), patch(), delete()

Page 221: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Navegación por la app

Page 222: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Navegación por la app

El router

Page 223: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Navegación por la app

El routerLas rutas

Page 224: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Navegación por la app

El routerLas rutas

Parámetros: los observables paramMap,queryParamMap y data de ActivatedRoute

Page 225: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Navegación por la app

El routerLas rutas

Parámetros: los observables paramMap,queryParamMap y data de ActivatedRoutePágina por defecto

Page 226: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Navegación por la app

El routerLas rutas

Parámetros: los observables paramMap,queryParamMap y data de ActivatedRoutePágina por defecto404

Page 227: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Navegación por la app

El routerLas rutas

Parámetros: los observables paramMap,queryParamMap y data de ActivatedRoutePágina por defecto404Guards

Page 228: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Navegación por la app

El routerLas rutas

Parámetros: los observables paramMap,queryParamMap y data de ActivatedRoutePágina por defecto404Guards

El RouterOutlet

Page 229: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Navegación por la app

El routerLas rutas

Parámetros: los observables paramMap,queryParamMap y data de ActivatedRoutePágina por defecto404Guards

El RouterOutletLinks de navegación: routerLink y routerLinkActive

Page 230: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Navegación por la app

El routerLas rutas

Parámetros: los observables paramMap,queryParamMap y data de ActivatedRoutePágina por defecto404Guards

El RouterOutletLinks de navegación: routerLink y routerLinkActiverouter.navigate()

Page 231: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Navegación por la app

El routerLas rutas

Parámetros: los observables paramMap,queryParamMap y data de ActivatedRoutePágina por defecto404Guards

El RouterOutletLinks de navegación: routerLink y routerLinkActiverouter.navigate()History API

Page 232: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Navegación por la app

El routerLas rutas

Parámetros: los observables paramMap,queryParamMap y data de ActivatedRoutePágina por defecto404Guards

El RouterOutletLinks de navegación: routerLink y routerLinkActiverouter.navigate()History APIEl servicio Title

Page 233: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Despliegue a producción

Page 234: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Despliegue a producción

Pruebas con ng build

Page 235: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Despliegue a producción

Pruebas con ng buildng build:

--prod: código optimizado para producción

Page 236: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Despliegue a producción

Pruebas con ng buildng build:

--prod: código optimizado para producción--build-optimizer: más optimización

Page 237: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Despliegue a producción

Pruebas con ng buildng build:

--prod: código optimizado para producción--build-optimizer: más optimización--base-href=: cambia el directorio base

Page 238: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Despliegue a producción

Pruebas con ng buildng build:

--prod: código optimizado para producción--build-optimizer: más optimización--base-href=: cambia el directorio base--sourcemaps: genera los source maps

Page 239: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Links

Page 240: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Links

Documentación oficial de Angular

Page 241: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Links

Documentación oficial de AngularPlayground para Angular

Page 242: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Links

Documentación oficial de AngularPlayground para AngularPlayground para TypeScript

Page 243: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Links

Documentación oficial de AngularPlayground para AngularPlayground para TypeScriptConfiguración del compilador TypeScript

Page 244: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Links

Documentación oficial de AngularPlayground para AngularPlayground para TypeScriptConfiguración del compilador TypeScriptDocumentación de Angular CLI

Page 245: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Links

Documentación oficial de AngularPlayground para AngularPlayground para TypeScriptConfiguración del compilador TypeScriptDocumentación de Angular CLIConfiguración de Angular CLI: angular.json

Page 246: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Links

Documentación oficial de AngularPlayground para AngularPlayground para TypeScriptConfiguración del compilador TypeScriptDocumentación de Angular CLIConfiguración de Angular CLI: angular.jsonDocumentación sobre todas las API de JavaScript

Page 247: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Links

Documentación oficial de AngularPlayground para AngularPlayground para TypeScriptConfiguración del compilador TypeScriptDocumentación de Angular CLIConfiguración de Angular CLI: angular.jsonDocumentación sobre todas las API de JavaScriptJSON Server API

Page 248: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Links

Documentación oficial de AngularPlayground para AngularPlayground para TypeScriptConfiguración del compilador TypeScriptDocumentación de Angular CLIConfiguración de Angular CLI: angular.jsonDocumentación sobre todas las API de JavaScriptJSON Server APITablas de compatibilidad en navegadores

Page 249: Angular - mariogl.com · ¿Qué es Angular? Framework JS SPA: Single Page Applications TypeScript Código fuente y código compilado ¿Angular 2? ¿6? ¿AngularJS?

Links

Documentación oficial de AngularPlayground para AngularPlayground para TypeScriptConfiguración del compilador TypeScriptDocumentación de Angular CLIConfiguración de Angular CLI: angular.jsonDocumentación sobre todas las API de JavaScriptJSON Server APITablas de compatibilidad en navegadoresAngular en navegadores antiguos