SlideShare una empresa de Scribd logo
23	al	27	de	Octubre	2017.NET	Conf	UY v2017
Progressive	Web	Apps
Nicolás Bello	Camilletti
Lead	Developer
SOUTHWORKS
23	al	27	de	Octubre	2017.NET	Conf	UY v2017
PROGRESSIVEWEBAPP
Es un conjunto de conceptos/herramientas/etc.
WEBCOMONATIVO
No es un concepto nuevo
native web
native web
WEBAPPSENWINDOWS
Pinned Sites
Windows 7
WEBAPPSENWINDOWS
Pinned Sites
Windows 7
Packaged Web Apps
Windows 8
WEBAPPSENWINDOWS
Pinned Sites
Windows 7
Packaged Web Apps
Windows 8
Hosted Web Apps
Windows 10
WEBAPPSENWINDOWS
Pinned Sites
Windows 7
Packaged Web Apps
Windows 8
Progressive Web Apps
Windows 10
Hosted Web Apps
Windows 10
PROGRESSIVEWEBAPP
a.k.a. “PWA”
PWA&ANDROID
Lyft
ride.lyft.com
Lyft
ride.lyft.com
BENEFICIOSDEWEBAPPS
WEBAPPSANDAN
ENCUALQUIERLUGAR!
ONECODEBASETORULETHEMALL…
PWAS=MENORCOSTO(&TIEMPO)
App core
iPhone iPad Publicar en App Store
Android
Phone
Android
Tablet Publicar en Play Store
Windows Publicar en Windows Store
MacOS Publicar en Mac App Store
Web Host
Nativa
Es requerido publicar en los App store
PWAS=MENORCOSTO(&TIEMPO)
PWA
Publicar en los App store es opcional (o por única vez)
Host
Free
Nativa
Es requerido publicar en los App store
App core
iPhone iPad Publicar en App Store
Android
Phone
Android
Tablet Publicar en Play Store
Windows Publicar en Windows Store
MacOS Publicar en Mac App Store
Web Host
App core
iPhone iPad
Android
Phone
Android
Tablet
Windows
MacOS
Web
Other PWA-capable
PRINCIPIOSDEPWA
PWASSONSIMPLEMENTEWEBAPPS…
PWASSONSIMPLEMENTEWEBAPPS…
¡QUEPROVEENDEUNAEXCELENTE
EXPERIENCIADEUSUARIO!
PWAES
PWAES
Progressive
PROGRESSIVE
¿QUÉESPROGRESSIVEENHANCEMENT?
Mono
¿QUÉESPROGRESSIVEENHANCEMENT?
Stereo
¿QUÉESPROGRESSIVEENHANCEMENT?
Surround Sound
¿QUÉESPROGRESSIVEENHANCEMENT?
5.1 Channel
Surround Sound
¿QUÉESPROGRESSIVEENHANCEMENT?
7.1 Channel
Surround Sound
¿QUÉESPROGRESSIVEENHANCEMENT?
16.2 Channel Surround Sound
¿QUÉESPROGRESSIVEENHANCEMENT?
A veces, mono es
la única opción
¿QUÉESPROGRESSIVEENHANCEMENT?
Objectivo &
tareas principales
¿QUÉESPROGRESSIVEENHANCEMENT?
Capacidades
Experiencia
PESEASEGURADEQUELOSUSUARIOS
PUEDANUSARTUPRODUCTO
SINIMPORTARELCONTEXTO.
PROGRESSIVEENHANCEMENTWEB
PROGRESSIVEENHANCEMENTWEB
type="email"
Deltas	de	experiencia
1. ¿Soporta input para email?
2. ¿Algoritmo de	validación implementado?
3. ¿Teclado virtual?
PROGRESSIVEENHANCEMENTWEB
required
Deltas	de	experiencia
1. ¿Soporta validación HTML?
PROGRESSIVEENHANCEMENTWEB
aria-required="true"
Deltas	de	experiencia
1. ¿El navegador expone la propiedad aria-required ?
2. Assistive tech implementation of aria-required?
required validation
email validation
dedicated keyboard
PROGRESSIVEENHANCEMENTWEB
Capabilities
Experience
text input required notification
PESEASEGURADEQUELOSUSUARIOS
PUEDANUSARTUPRODUCTO
SINIMPORTARELCONTEXTO.
PWAES
Progressive Responsive
PWAES
Network
Independent
Progressive Responsive
PWAES
Network
Independent
Progressive Responsive App-Like
PWAOAPPNATIVA?
PWAES
Network
Independent
Progressive Responsive App-Like Fresh
PWAES
Network
Independent
Segura
Progressive Responsive App-Like Fresh
PWAES
Discoverable
Network
Independent
Segura
Progressive Responsive App-Like Fresh
PWAES
Discoverable
Network
Independent
Segura Re-engageable
Progressive Responsive App-Like Fresh
PWAES
Discoverable Instalable
Network
Independent
Segura Re-engageable
Progressive Responsive App-Like Fresh
LAAPPVAASEGUIRANDANDOENEL
BROWSER.SÓLOPODRÍAHACERMÁSCOSAS
CUANDOSE“INSTALE”.
WHATWEBCANDO.TODAY
PWAES
Discoverable Instalable Linkeable
Network
Independent
Segura Re-engageable
Progressive Responsive App-Like Fresh
{
"lang": "en",
"short_name": "My App",
"name": "My Totally Awesome App",
"icons": [
{
"src": "img/launcher-icon-2x.png",
"sizes": "96x96",
"type": "image/png"
}, {
"src": "img/launcher-icon-4x.png",
"sizes": "192x192",
"type": "image/png"
}
],
"start_url": "/pwa/?utm_source=homescreen",
"display": "standalone",
"orientation": "portrait",
"background_color": "black"
}
WEBAPPMANIFEST
Meta Tags 2.0
SERVICEWORKER
Actua como servidor proxy entre la web
app, el browser y la conexión (cuando
está disponible)
Solo HTTPS
No tiene acceso al DOM
Solo se aceptan request asyncronicos
Ejecuta separado del sitio
Un solo service worker por alcance
SERVICE WORKERS
PROPIEDADES
PERO…PUEDOUSARLO?
1. if ('serviceWorker' in navigator) {
2. navigator.serviceWorker.register('/service-worker.js')
3. .then(registration => {
4. console.log('Registered:', registration);
5. })
6. .catch(error => {
7. console.log('Registration failed: ', error);
8. });
9. }
index.html
CICLODEVIDA
Service Worker Lifecycle
Inicia la registraciónInstalling
1. self.addEventListener('install', event => {
2. event.waitUntil(
3. caches.open('static-v1').then(cache => {
4. return cache.addAll([
5. '/',
6. '/index.html',
7. '/styles.css',
8. '/main.js',
9. '/fallback.html'
10. ]);
11. })
12. );
13. }
sw.js
Service Worker Lifecycle
Inicia la registraciónInstalling
Service Worker Lifecycle
Inicia la registraciónInstalling
Se completó la registraciónInstalled
Service Worker Lifecycle
Inicia la registraciónActivating
Inicia la registraciónInstalling
Se completó la registraciónInstalled
1. self.addEventListener('activate', event => {
2. var keepList = ['assets-v1'];
3.
4. event.waitUntil(
5. caches.keys().then(function(cacheNameList) {
6. return Promise.all(cacheNameList.map(function(cacheName) {
7. if (keepList.indexOf(cacheName) === -1) {
8. return caches.delete(cacheName);
9. }
10. }));
11. })
12. );
13. }
sw.js
Service Worker Lifecycle
Inicia la registraciónActivating
Ya se pueden escuchar eventosActivated
Inicia la registraciónInstalling
Se completó la registraciónInstalled
Service Worker Lifecycle
Inicia la registraciónActivating
Ya se pueden escuchar eventosActivated
Inicia la registraciónInstalling
Se completó la registraciónInstalled
El SW se está reemplazando por otroRedundant
1. self.addEventListener('fetch', event => {
2. event.respondWith(
3. caches.match(event.request).then(response => {
4. return response || fetch(event.request).catch(() => {
5. return caches.match('/fallback.htm1');
6. });
7. })
8. );
9. }
sw.js
FETCH!
EXPUESTOAJAVASCRIPT
FETCH(),REQUESTYRESPONSE
1. fetch('weather.json')
2. .then(function(response) {
3. if (response.headers.get('content-type') == 'application/json') {
4. return response.json();
5. } else {
6. throw new TypeError();
7. }
8. })
9. .then(processJSON);
index.html
1. self.addEventListener('fetch', event => {
2. event.respondWith(
3. fetch(event.request)
4. );
5. }
sw.js
1. self.addEventListener('fetch', event => {
2. event.respondWith(
3. fetch(event.request)
4. );
5. }
sw.js
1. self.addEventListener('fetch', event => {
2. event.respondWith(
3. fetch(event.request)
4. );
5. }
sw.js
1. self.addEventListener('fetch', event => {
2. event.respondWith(
3. fetch(event.request)
4. );
5. }
sw.js
CACHEAPIS
CACHES API
ANATOMY
REQUEST	(URL) RESPONSE
https://weather.app/index.html <!doctype html>
https://weather.app/script.js console.log('test')
.	.	.	
key / value storage
Cache API
URL-addressable resources
-----or -----
Indexed DB
Other data
PUSHNOTIFICATIONS
1. navigator.serviceWorker.register('sw.js')
2. .then(reg => {
3. return reg.pushManager.getSubscription().then(subscription => {
4. if (subscription) return subscription;
5. return registration.pushManager.subscribe({
6. userVisibleOnly: true, applicationServerKey: appPubkey
7. });
8. });
9. })
index.html
1. self.addEventListener('push', event => {
2. var payload = event.data ? event.data.text() : 'no payload';
3. event.waitUntil(
4. registration.showNotification('WEATHER ADVISORY', {
5. body: payload,
6. icon: 'icon.png'
7. })
8. );
9. }
sw.js
1. self.addEventListener('notificationclick', event => {
2. event.notification.close();
3. event.waitUntil(clients.openWindow('https://weather.app/advisory'));
4. }
sw.js
PROGRESSIVEWEBAPPS
ENWINDOWS
¿COMOHACEUNUSUARIOPARAENCONTRAR
UNAPROGRESSIVEWEBAPP?
AHORAMISMO:STORE&BING
PROGRESSIVEWEBAPPS
¿¡¿ENWINDOWSSTORE?!?
PWASENWINDOWSSTORE
• Presentación activa
PWASENWINDOWSSTORE
• Presentación activa
• Ingestión Pasiva
No hacer nada y Microsoft va a agregar tu PWA automaticamente *
* Se puede no hacerlo usando robots.txt
PWAINGESTIONPROCESS(PASSIVE)
ANULANDOLAINGESTIÓNCONROBOTS.TXT
PWASIN
THESTORE
app.manifest
popula la entrada:
1. name
2. description
3. icons
4. screenshots
DESDELAPERSPECTIVADELUSUARIO,
UNAPWAVAASERUNAAPP.
¡ANUESTROSUSUARIOSNOLES
INTERESAQUETECNOLOGIAUSAMOS!
Quieren usar nuestra app
UNAPWAESSUPERSIMPLEDEHACERY
LOSBENEFICIOSSONIMPORTANTES.
BIT.LY/PWA-WORKSHOP-NETCONF
Github: https://github.com/PWA-espanol/workshop
¡MUCHASGRACIAS!
@nbellocam
10/26/17 11423	al	27	de	Octubre	2017.NET	Conf	UY v2017

Más contenido relacionado

La actualidad más candente

Silex: Microframework y camino fácil de aprender Symfony
Silex: Microframework y camino fácil de aprender SymfonySilex: Microframework y camino fácil de aprender Symfony
Silex: Microframework y camino fácil de aprender Symfony
Ryan Weaver
 
SignalR y dispositivos móviles
SignalR y dispositivos móvilesSignalR y dispositivos móviles
SignalR y dispositivos móviles
Javier Suárez Ruiz
 
Opensouthcode: Microservicios sobre MEAN Stack
Opensouthcode: Microservicios sobre MEAN StackOpensouthcode: Microservicios sobre MEAN Stack
Opensouthcode: Microservicios sobre MEAN Stack
Pedro J. Molina
 
La magia de jquery
La magia de jqueryLa magia de jquery
La magia de jquery
AngelDX
 
(Muy breve) Introduccion a jQuery
(Muy breve) Introduccion a jQuery(Muy breve) Introduccion a jQuery
(Muy breve) Introduccion a jQuery
Víctor Manuel Rivas Santos
 
Presentacion diseño web con jquery
Presentacion diseño web con jqueryPresentacion diseño web con jquery
Presentacion diseño web con jquery
Eutobar
 
Microservicios sobre MEAN Stack
Microservicios sobre MEAN StackMicroservicios sobre MEAN Stack
Microservicios sobre MEAN Stack
Pedro J. Molina
 
Presentacion node
Presentacion nodePresentacion node
Presentacion node
Luis Vilches
 
Mi app-asp-net-mvc2
Mi app-asp-net-mvc2Mi app-asp-net-mvc2
Mi app-asp-net-mvc2
Enrique Valdez
 
Vue.js: El framework javascript para muggles
Vue.js: El framework javascript para mugglesVue.js: El framework javascript para muggles
Vue.js: El framework javascript para muggles
Juan Rodríguez
 
ASP.NET MVC - AJAX
ASP.NET MVC - AJAXASP.NET MVC - AJAX
ASP.NET MVC - AJAX
Danae Aguilar Guzmán
 
Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012
Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012
Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012
SolidQ
 
Manual de jquery en pdf desarrollowebcom
Manual de jquery en pdf desarrollowebcomManual de jquery en pdf desarrollowebcom
Manual de jquery en pdf desarrollowebcom
jo_ram
 
Api De Google Calendar
Api De Google CalendarApi De Google Calendar
Api De Google Calendar
jvelizster
 
Introduccion silverlight
Introduccion silverlightIntroduccion silverlight
Introduccion silverlight
Escuela Virtual de Caldas
 
Gulp js php sevilla 28 septiembre 2016
Gulp js   php sevilla 28 septiembre 2016Gulp js   php sevilla 28 septiembre 2016
Gulp js php sevilla 28 septiembre 2016
Agencia INNN
 
Vue + Typescript: Decorators vs. Extend, Fight!
Vue + Typescript: Decorators vs. Extend, Fight!Vue + Typescript: Decorators vs. Extend, Fight!
Vue + Typescript: Decorators vs. Extend, Fight!
Sara Lissette L. Ibáñez
 

La actualidad más candente (17)

Silex: Microframework y camino fácil de aprender Symfony
Silex: Microframework y camino fácil de aprender SymfonySilex: Microframework y camino fácil de aprender Symfony
Silex: Microframework y camino fácil de aprender Symfony
 
SignalR y dispositivos móviles
SignalR y dispositivos móvilesSignalR y dispositivos móviles
SignalR y dispositivos móviles
 
Opensouthcode: Microservicios sobre MEAN Stack
Opensouthcode: Microservicios sobre MEAN StackOpensouthcode: Microservicios sobre MEAN Stack
Opensouthcode: Microservicios sobre MEAN Stack
 
La magia de jquery
La magia de jqueryLa magia de jquery
La magia de jquery
 
(Muy breve) Introduccion a jQuery
(Muy breve) Introduccion a jQuery(Muy breve) Introduccion a jQuery
(Muy breve) Introduccion a jQuery
 
Presentacion diseño web con jquery
Presentacion diseño web con jqueryPresentacion diseño web con jquery
Presentacion diseño web con jquery
 
Microservicios sobre MEAN Stack
Microservicios sobre MEAN StackMicroservicios sobre MEAN Stack
Microservicios sobre MEAN Stack
 
Presentacion node
Presentacion nodePresentacion node
Presentacion node
 
Mi app-asp-net-mvc2
Mi app-asp-net-mvc2Mi app-asp-net-mvc2
Mi app-asp-net-mvc2
 
Vue.js: El framework javascript para muggles
Vue.js: El framework javascript para mugglesVue.js: El framework javascript para muggles
Vue.js: El framework javascript para muggles
 
ASP.NET MVC - AJAX
ASP.NET MVC - AJAXASP.NET MVC - AJAX
ASP.NET MVC - AJAX
 
Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012
Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012
Windows PowerShell para Desarrolladores SharePoint | SolidQ Summit 2012
 
Manual de jquery en pdf desarrollowebcom
Manual de jquery en pdf desarrollowebcomManual de jquery en pdf desarrollowebcom
Manual de jquery en pdf desarrollowebcom
 
Api De Google Calendar
Api De Google CalendarApi De Google Calendar
Api De Google Calendar
 
Introduccion silverlight
Introduccion silverlightIntroduccion silverlight
Introduccion silverlight
 
Gulp js php sevilla 28 septiembre 2016
Gulp js   php sevilla 28 septiembre 2016Gulp js   php sevilla 28 septiembre 2016
Gulp js php sevilla 28 septiembre 2016
 
Vue + Typescript: Decorators vs. Extend, Fight!
Vue + Typescript: Decorators vs. Extend, Fight!Vue + Typescript: Decorators vs. Extend, Fight!
Vue + Typescript: Decorators vs. Extend, Fight!
 

Similar a Progressive Web Apps

Tecnologías para microservicios
Tecnologías para microserviciosTecnologías para microservicios
Tecnologías para microservicios
Pedro J. Molina
 
Presentacion #bbmnk
Presentacion #bbmnkPresentacion #bbmnk
Presentacion #bbmnk
Juan Miqueo
 
Codemotion 2017 - Taller de JHipster
Codemotion 2017 - Taller de JHipsterCodemotion 2017 - Taller de JHipster
Codemotion 2017 - Taller de JHipster
Adolfo Sanz De Diego
 
JSDays Desarrolla tu primera API
JSDays Desarrolla tu primera APIJSDays Desarrolla tu primera API
JSDays Desarrolla tu primera API
CloudAppi
 
Taller desarrollo de apis
Taller desarrollo de apisTaller desarrollo de apis
Taller desarrollo de apis
CloudAppi
 
Servicios web
Servicios webServicios web
Servicios web
Joel Balderrama Rosas
 
Servicios web
Servicios webServicios web
Servicios web
Servicios webServicios web
Servicios web
Joel Balderrama Rosas
 
Introducción a Flask
Introducción a FlaskIntroducción a Flask
Introducción a Flask
Luis Cruz Campos
 
Reportes En J Developer Parte 1 Y 2
Reportes En J Developer   Parte 1 Y 2Reportes En J Developer   Parte 1 Y 2
Reportes En J Developer Parte 1 Y 2
Steven Gomez
 
Introducción a las Progressive web apps
Introducción a las Progressive web appsIntroducción a las Progressive web apps
Introducción a las Progressive web apps
Gabriel Perales Portillo
 
LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"
Alberto Ruibal
 
eyeOS: Arquitectura y desarrollo de una aplicación
eyeOS: Arquitectura y desarrollo de una aplicacióneyeOS: Arquitectura y desarrollo de una aplicación
eyeOS: Arquitectura y desarrollo de una aplicación
Jose Luis Lopez Pino
 
Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2
Ignacio Muñoz Vicente
 
JAVASCRIPT.pptx
JAVASCRIPT.pptxJAVASCRIPT.pptx
JAVASCRIPT.pptx
HectorGaviria8
 
Introducción a AngularJS
Introducción a AngularJS Introducción a AngularJS
Introducción a AngularJS
Marcos Reynoso
 
Web sockets
Web socketsWeb sockets
Web sockets
betabeers
 
ANDROID BOOTCAMP 101: MI PRIMERA APLICACIÓN ANDROID - CÓMO INICIAR UN EMPREND...
ANDROID BOOTCAMP 101: MI PRIMERA APLICACIÓN ANDROID - CÓMO INICIAR UN EMPREND...ANDROID BOOTCAMP 101: MI PRIMERA APLICACIÓN ANDROID - CÓMO INICIAR UN EMPREND...
ANDROID BOOTCAMP 101: MI PRIMERA APLICACIÓN ANDROID - CÓMO INICIAR UN EMPREND...
leofishman
 
Cv dennys-jose-marquez-reyes-desarrollador-web
Cv dennys-jose-marquez-reyes-desarrollador-webCv dennys-jose-marquez-reyes-desarrollador-web
Cv dennys-jose-marquez-reyes-desarrollador-web
Dennys José Márquez Reyes
 
Taller integracion jsf spring
Taller integracion jsf springTaller integracion jsf spring
Taller integracion jsf spring
IBM
 

Similar a Progressive Web Apps (20)

Tecnologías para microservicios
Tecnologías para microserviciosTecnologías para microservicios
Tecnologías para microservicios
 
Presentacion #bbmnk
Presentacion #bbmnkPresentacion #bbmnk
Presentacion #bbmnk
 
Codemotion 2017 - Taller de JHipster
Codemotion 2017 - Taller de JHipsterCodemotion 2017 - Taller de JHipster
Codemotion 2017 - Taller de JHipster
 
JSDays Desarrolla tu primera API
JSDays Desarrolla tu primera APIJSDays Desarrolla tu primera API
JSDays Desarrolla tu primera API
 
Taller desarrollo de apis
Taller desarrollo de apisTaller desarrollo de apis
Taller desarrollo de apis
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios web
Servicios webServicios web
Servicios web
 
Servicios web
Servicios webServicios web
Servicios web
 
Introducción a Flask
Introducción a FlaskIntroducción a Flask
Introducción a Flask
 
Reportes En J Developer Parte 1 Y 2
Reportes En J Developer   Parte 1 Y 2Reportes En J Developer   Parte 1 Y 2
Reportes En J Developer Parte 1 Y 2
 
Introducción a las Progressive web apps
Introducción a las Progressive web appsIntroducción a las Progressive web apps
Introducción a las Progressive web apps
 
LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"LabAndroid: Taller "Mi Primera Aplicación Android"
LabAndroid: Taller "Mi Primera Aplicación Android"
 
eyeOS: Arquitectura y desarrollo de una aplicación
eyeOS: Arquitectura y desarrollo de una aplicacióneyeOS: Arquitectura y desarrollo de una aplicación
eyeOS: Arquitectura y desarrollo de una aplicación
 
Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2
 
JAVASCRIPT.pptx
JAVASCRIPT.pptxJAVASCRIPT.pptx
JAVASCRIPT.pptx
 
Introducción a AngularJS
Introducción a AngularJS Introducción a AngularJS
Introducción a AngularJS
 
Web sockets
Web socketsWeb sockets
Web sockets
 
ANDROID BOOTCAMP 101: MI PRIMERA APLICACIÓN ANDROID - CÓMO INICIAR UN EMPREND...
ANDROID BOOTCAMP 101: MI PRIMERA APLICACIÓN ANDROID - CÓMO INICIAR UN EMPREND...ANDROID BOOTCAMP 101: MI PRIMERA APLICACIÓN ANDROID - CÓMO INICIAR UN EMPREND...
ANDROID BOOTCAMP 101: MI PRIMERA APLICACIÓN ANDROID - CÓMO INICIAR UN EMPREND...
 
Cv dennys-jose-marquez-reyes-desarrollador-web
Cv dennys-jose-marquez-reyes-desarrollador-webCv dennys-jose-marquez-reyes-desarrollador-web
Cv dennys-jose-marquez-reyes-desarrollador-web
 
Taller integracion jsf spring
Taller integracion jsf springTaller integracion jsf spring
Taller integracion jsf spring
 

Más de Nicolás Bello Camilletti

Novedades en CI/CD
Novedades en CI/CDNovedades en CI/CD
Novedades en CI/CD
Nicolás Bello Camilletti
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
Nicolás Bello Camilletti
 
Personalizando experiencias de usuario con Reinforcement learning y Azure
Personalizando experiencias de usuario con Reinforcement learning y AzurePersonalizando experiencias de usuario con Reinforcement learning y Azure
Personalizando experiencias de usuario con Reinforcement learning y Azure
Nicolás Bello Camilletti
 
Progressive Web Apps - Workshop
Progressive Web Apps - WorkshopProgressive Web Apps - Workshop
Progressive Web Apps - Workshop
Nicolás Bello Camilletti
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Nicolás Bello Camilletti
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
Nicolás Bello Camilletti
 
Introducción a .NET Core y Docker
Introducción a .NET Core y DockerIntroducción a .NET Core y Docker
Introducción a .NET Core y Docker
Nicolás Bello Camilletti
 
Creando una SPA con Angular y ASP.NET Core
Creando una SPA con Angular y ASP.NET CoreCreando una SPA con Angular y ASP.NET Core
Creando una SPA con Angular y ASP.NET Core
Nicolás Bello Camilletti
 
Creando una SPA con Angular 2 y ASP.NET Core
Creando una SPA con Angular 2 y ASP.NET CoreCreando una SPA con Angular 2 y ASP.NET Core
Creando una SPA con Angular 2 y ASP.NET Core
Nicolás Bello Camilletti
 
Creando una SPA con Angular 2 y ASP.NET Core
Creando una SPA con Angular 2 y ASP.NET CoreCreando una SPA con Angular 2 y ASP.NET Core
Creando una SPA con Angular 2 y ASP.NET Core
Nicolás Bello Camilletti
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
Nicolás Bello Camilletti
 
Clase Html + CSS
Clase Html + CSSClase Html + CSS
Clase Html + CSS
Nicolás Bello Camilletti
 
Windows Azure DPE Toolkits
Windows Azure DPE ToolkitsWindows Azure DPE Toolkits
Windows Azure DPE Toolkits
Nicolás Bello Camilletti
 
Grails
GrailsGrails
Groovy.v2
Groovy.v2Groovy.v2
Groovy
GroovyGroovy

Más de Nicolás Bello Camilletti (16)

Novedades en CI/CD
Novedades en CI/CDNovedades en CI/CD
Novedades en CI/CD
 
Progressive web apps
Progressive web appsProgressive web apps
Progressive web apps
 
Personalizando experiencias de usuario con Reinforcement learning y Azure
Personalizando experiencias de usuario con Reinforcement learning y AzurePersonalizando experiencias de usuario con Reinforcement learning y Azure
Personalizando experiencias de usuario con Reinforcement learning y Azure
 
Progressive Web Apps - Workshop
Progressive Web Apps - WorkshopProgressive Web Apps - Workshop
Progressive Web Apps - Workshop
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Introducción a .NET Core y Docker
Introducción a .NET Core y DockerIntroducción a .NET Core y Docker
Introducción a .NET Core y Docker
 
Creando una SPA con Angular y ASP.NET Core
Creando una SPA con Angular y ASP.NET CoreCreando una SPA con Angular y ASP.NET Core
Creando una SPA con Angular y ASP.NET Core
 
Creando una SPA con Angular 2 y ASP.NET Core
Creando una SPA con Angular 2 y ASP.NET CoreCreando una SPA con Angular 2 y ASP.NET Core
Creando una SPA con Angular 2 y ASP.NET Core
 
Creando una SPA con Angular 2 y ASP.NET Core
Creando una SPA con Angular 2 y ASP.NET CoreCreando una SPA con Angular 2 y ASP.NET Core
Creando una SPA con Angular 2 y ASP.NET Core
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 
Clase Html + CSS
Clase Html + CSSClase Html + CSS
Clase Html + CSS
 
Windows Azure DPE Toolkits
Windows Azure DPE ToolkitsWindows Azure DPE Toolkits
Windows Azure DPE Toolkits
 
Grails
GrailsGrails
Grails
 
Groovy.v2
Groovy.v2Groovy.v2
Groovy.v2
 
Groovy
GroovyGroovy
Groovy
 

Último

MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
leia ereni
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
larapalaciosmonzon28
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
codesiret
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
gisellearanguren1
 
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMAUML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
martinezluis17
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
INFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIAINFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIA
renzocruz180310
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
cecypozos703
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
KukiiSanchez
 
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptxLA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
pauca1501alvar
 
Uso de las Tics en la vida cotidiana.pptx
Uso de las Tics en la vida cotidiana.pptxUso de las Tics en la vida cotidiana.pptx
Uso de las Tics en la vida cotidiana.pptx
231485414
 
Flows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos FeaturesFlows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos Features
Paola De la Torre
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
al050121024
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
YashiraPaye
 
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajasSlideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
AdrianaRengifo14
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
larapalaciosmonzon28
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
AMADO SALVADOR
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
AbrahamCastillo42
 
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
giampierdiaz5
 

Último (20)

MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIAMONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
MONOGRAFIA memoria RAM.docx trabajo DE TECNOLOGIA
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
 
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)
 
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANOREVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
REVISTA TECNOLOGICA PARA EL DESARROLLO HUMANO
 
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMAUML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
UML_clase_02_UML_casos_de_uso_05 EN DIAGRAMA
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
INFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIAINFORMATICA Y TECNOLOGIA
INFORMATICA Y TECNOLOGIA
 
El uso de las TIC por Cecilia Pozos S..pptx
El uso de las TIC  por Cecilia Pozos S..pptxEl uso de las TIC  por Cecilia Pozos S..pptx
El uso de las TIC por Cecilia Pozos S..pptx
 
TIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololoTIC en educacion.rtf.docxlolololololololo
TIC en educacion.rtf.docxlolololololololo
 
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptxLA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptx
 
Uso de las Tics en la vida cotidiana.pptx
Uso de las Tics en la vida cotidiana.pptxUso de las Tics en la vida cotidiana.pptx
Uso de las Tics en la vida cotidiana.pptx
 
Flows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos FeaturesFlows: Mejores Prácticas y Nuevos Features
Flows: Mejores Prácticas y Nuevos Features
 
Second Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro TapiaSecond Life, informe de actividad del maestro Tapia
Second Life, informe de actividad del maestro Tapia
 
Inteligencia Artificial
Inteligencia ArtificialInteligencia Artificial
Inteligencia Artificial
 
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajasSlideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
Slideshare: definiciòn, registrarse, presentaciones, ventajas y desventajas
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)
 
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdfPresentación Seguridad Digital Profesional Azul Oscuro (1).pdf
Presentación Seguridad Digital Profesional Azul Oscuro (1).pdf
 

Progressive Web Apps