SlideShare una empresa de Scribd logo
@carlosazaustre carlosazaustre.es #CampusGivers
@carlosazaustre carlosazaustre.es #CampusGivers
Carlos Azaustre
CTO y Cofundador en Chefly
Desarrollador Web
Formador / Blogger / Youtuber
Papá
@carlosazaustre carlosazaustre.es #CampusGivers
Quiero desarrollar una aplicación
@carlosazaustre carlosazaustre.es #CampusGivers
@carlosazaustre carlosazaustre.es #CampusGivers
@carlosazaustre carlosazaustre.es #CampusGivers
@carlosazaustre carlosazaustre.es #CampusGivers
@carlosazaustre carlosazaustre.es #CampusGivers
@carlosazaustre carlosazaustre.es #CampusGivers
¿Qué herramientas/alternativas tengo?
@carlosazaustre carlosazaustre.es #CampusGivers
@carlosazaustre carlosazaustre.es #CampusGivers
Progressive
Web
Apps
@carlosazaustre carlosazaustre.es #CampusGivers
● HTTPS - letsencrypt.org
● Responsive Design - Mobile Friendly Test
● Offline - Service Workers
● Add to Home Screen (Installable) - Web App Manifest
● Push Notifications - Service Workers
@carlosazaustre carlosazaustre.es #CampusGivers
¿Cómo empiezo una PWA desde cero?
@carlosazaustre carlosazaustre.es #CampusGivers
1. React.js
@carlosazaustre carlosazaustre.es #CampusGivers
@carlosazaustre carlosazaustre.es #CampusGivers
2. Polymer
@carlosazaustre carlosazaustre.es #CampusGivers
@carlosazaustre carlosazaustre.es #CampusGivers
@carlosazaustre carlosazaustre.es #CampusGivers
@carlosazaustre carlosazaustre.es #CampusGivers
@carlosazaustre carlosazaustre.es #CampusGivers
<app-location route="{{route}}"></app-location>
<app-route
route="{{route}}"
pattern="[[rootPattern]]:page"
data="{{routeData}}"
tail="{{subroute}}"></app-route>
<app-drawer-layout fullbleed>
<!-- Drawer content -->
<app-drawer id="drawer" slot="drawer">
<app-toolbar>Menu</app-toolbar>
<iron-selector selected="[[page]]" attr-for-selected="name" class="drawer-list" role="navigation">
<a name="view1" href="view1">View One</a>
<a name="view2" href="view2">View Two</a>
<a name="view3" href="view3">View Three</a>
</iron-selector>
</app-drawer>
<!-- Main content -->
<app-header-layout has-scrolling-region>
<app-header slot="header" condenses reveals effects="waterfall">
<app-toolbar>
<paper-icon-button icon="my-icons:menu" drawer-toggle></paper-icon-button>
<div main-title>My App</div>
</app-toolbar>
</app-header>
</app-header-layout>
</app-drawer-layout>
</template>
@carlosazaustre carlosazaustre.es #CampusGivers
<app-location route="{{route}}"></app-location>
<app-route
route="{{route}}"
pattern="[[rootPattern]]:page"
data="{{routeData}}"
tail="{{subroute}}"></app-route>
<app-drawer-layout fullbleed>
<!-- Drawer content -->
<app-drawer id="drawer" slot="drawer">
<app-toolbar>Menu</app-toolbar>
<iron-selector selected="[[page]]" attr-for-selected="name" class="drawer-list" role="navigation">
<a name="view1" href="view1">View One</a>
<a name="view2" href="view2">View Two</a>
<a name="view3" href="view3">View Three</a>
</iron-selector>
</app-drawer>
<!-- Main content -->
<app-header-layout has-scrolling-region>
<app-header slot="header" condenses reveals effects="waterfall">
<app-toolbar>
<paper-icon-button icon="my-icons:menu" drawer-toggle></paper-icon-button>
<div main-title>My App</div>
</app-toolbar>
</app-header>
</app-header-layout>
</app-drawer-layout>
</template>
@carlosazaustre carlosazaustre.es #CampusGivers
Vale el Frontend lo tenemos cubierto,
pero…
¿Y el Backend?
@carlosazaustre carlosazaustre.es #CampusGivers
@carlosazaustre carlosazaustre.es #CampusGivers
Firebase
Hosting
Firebase
Database
Cloud Storage
for Firebase
Cloud Functions
for Firebase
Firebase
Auth
@carlosazaustre carlosazaustre.es #CampusGivers
Firebase
Hosting
Firebase
Database
Cloud Storage
for Firebase
Cloud Functions
for Firebase
Firebase
Auth
Machine
Learning APIs
Cloud Vision API
Cloud Speech API
Cloud Jobs API
Cloud Translation API
Cloud Natural Language
API
Cloud Video Intelligence
API
...
@carlosazaustre carlosazaustre.es #CampusGivers
¿Cómo es Firebase?
@carlosazaustre carlosazaustre.es #CampusGivers
@carlosazaustre carlosazaustre.es #CampusGivers
@carlosazaustre carlosazaustre.es #CampusGivers
@carlosazaustre carlosazaustre.es #CampusGivers
¿Qué se puede hacer con las
Cloud Functions?
@carlosazaustre carlosazaustre.es #CampusGivers
@carlosazaustre carlosazaustre.es #CampusGivers
@carlosazaustre carlosazaustre.es #CampusGivers
@carlosazaustre carlosazaustre.es #CampusGivers
Codelabs by Google
Aprende practicando
codelabs.developers.google.com
@carlosazaustre carlosazaustre.es #CampusGivers
https://codelabs.developers.google.com/codelabs/polymer-firebase-pwa/
@carlosazaustre carlosazaustre.es #CampusGivers
https://codelabs.developers.google.com/codelabs/firebase-cloud-functions/
@carlosazaustre carlosazaustre.es #CampusGivers
Curso Gratis
Aprende React.js y Firebase
desarrollando una aplicación
web como Instagram
carlosazaustre.es/guia-react

Más contenido relacionado

PDF
Introducción al JAMStack - JS Ourense
Carlos Azaustre
 
PDF
Serverless with Firebase - Launchpad Build Burgos
Carlos Azaustre
 
PDF
Your First Assistant App with DialogFlow + Firebase
Carlos Azaustre
 
PDF
PixelsCamp 2017 - Cloud Functions for Firebase and Machine Learning APIs
Carlos Azaustre
 
PDF
Workshop React + Firebase | T3chFest 2017
Carlos Azaustre
 
PPTX
Hack2Progress - Consejos para afrontar un Hackathon
Carlos Azaustre
 
PDF
Hack2Progress - Desarrollando una aplicación web con AngularJS
Carlos Azaustre
 
PDF
Angular 2 is Coming - GDG DevFest Cordoba 2015
Carlos Azaustre
 
Introducción al JAMStack - JS Ourense
Carlos Azaustre
 
Serverless with Firebase - Launchpad Build Burgos
Carlos Azaustre
 
Your First Assistant App with DialogFlow + Firebase
Carlos Azaustre
 
PixelsCamp 2017 - Cloud Functions for Firebase and Machine Learning APIs
Carlos Azaustre
 
Workshop React + Firebase | T3chFest 2017
Carlos Azaustre
 
Hack2Progress - Consejos para afrontar un Hackathon
Carlos Azaustre
 
Hack2Progress - Desarrollando una aplicación web con AngularJS
Carlos Azaustre
 
Angular 2 is Coming - GDG DevFest Cordoba 2015
Carlos Azaustre
 

Más de Carlos Azaustre (11)

PDF
Taller de Seo y Facebook Ads
Carlos Azaustre
 
PDF
Curso de Responsive Design
Carlos Azaustre
 
PDF
Game of Frameworks - GDG Cáceres #CodeCC
Carlos Azaustre
 
PDF
Curso Básico de AngularJS
Carlos Azaustre
 
PDF
Curso de HTML5
Carlos Azaustre
 
PDF
Chefly Keynote at ETSII
Carlos Azaustre
 
PDF
Curso de Desarrollo Web de Platzi
Carlos Azaustre
 
PDF
#PlatziConf - El camino para ser un Pro en JavaScript
Carlos Azaustre
 
PDF
Login social con node.js
Carlos Azaustre
 
PDF
Chefly: Pitch for Tetuan Valley Startup School
Carlos Azaustre
 
PDF
Nuestra experiencia emprendedora
Carlos Azaustre
 
Taller de Seo y Facebook Ads
Carlos Azaustre
 
Curso de Responsive Design
Carlos Azaustre
 
Game of Frameworks - GDG Cáceres #CodeCC
Carlos Azaustre
 
Curso Básico de AngularJS
Carlos Azaustre
 
Curso de HTML5
Carlos Azaustre
 
Chefly Keynote at ETSII
Carlos Azaustre
 
Curso de Desarrollo Web de Platzi
Carlos Azaustre
 
#PlatziConf - El camino para ser un Pro en JavaScript
Carlos Azaustre
 
Login social con node.js
Carlos Azaustre
 
Chefly: Pitch for Tetuan Valley Startup School
Carlos Azaustre
 
Nuestra experiencia emprendedora
Carlos Azaustre
 
Publicidad

Último (20)

PPTX
Ingeniería Genética y Obtención de Insulina por Escherichia.pptx
ElbaCristinaMendoza
 
PDF
Chile Claro Swap Project Guidebook Version 1.4.1b.pdf
DarkoAlmanzaTrujillo
 
PPTX
Telecomunicaciones proyeccion de ventas 2025.pptx
miguelolivarren2
 
PDF
excel.pdf valentinamueses111 trabajo tecnologia
4zz5vkthyk
 
DOCX
#USOLASTICPARA Proyecto integrador M1S4PI JuarezGonzalez _Maria_M1S4PI.doc...
MariaSusanaJuarezGon
 
DOCX
Informe de Tecnologia Diagrama de Pareto Juan Martinez, Alexandra Delgado, L...
edepisabellanaranjo
 
PDF
El candado imposible de abrir | Seguridad máxima explicada - Revista Técnica ...
Cerrajero 365 Valencia
 
PDF
DIAGRAMA DE PARETO M Camila Duque Loaiza
MariacamilaDuqueloai
 
PDF
Estructuras básicas Conceptos básicos de programación.pdf
sdbdsamuel
 
PPTX
CamposFlores_Fernando_M1S3AI6-PrepaLineaSEP
231464482
 
PDF
Trabajo Tecnología #2 Periodo (1).pdf ajdj
colgess2
 
PDF
Excel avanzado trabajo grupal tecnologia
mapaulahiguita
 
PDF
Conceptos básicos de programación - Paula Obando
edeppaulaobando
 
PDF
Documentos Básicos De Programación.pdf.
kathedelgadoarredond
 
PDF
Excel Avanzado ..........................
Alejo857214
 
PDF
Tecnología 2.0 (1).pdf, diagrama de pareto
paulavallejo21
 
PDF
Trabajo de tecnologia en equipo (1).pdf
jjfch3110
 
PDF
VelezOrtiz_Yadira_M1S3AI6 Presentación digital
Yadira Elizabeth Vélez Ortiz
 
PPTX
JuarezGonzalez_Maria_M1S3AI6.docs https://docs.google.com/presentation/d/1-
susana0271
 
PDF
Distribución de Frecuencias Excel Eleazar Muñoz
Eleazar88
 
Ingeniería Genética y Obtención de Insulina por Escherichia.pptx
ElbaCristinaMendoza
 
Chile Claro Swap Project Guidebook Version 1.4.1b.pdf
DarkoAlmanzaTrujillo
 
Telecomunicaciones proyeccion de ventas 2025.pptx
miguelolivarren2
 
excel.pdf valentinamueses111 trabajo tecnologia
4zz5vkthyk
 
#USOLASTICPARA Proyecto integrador M1S4PI JuarezGonzalez _Maria_M1S4PI.doc...
MariaSusanaJuarezGon
 
Informe de Tecnologia Diagrama de Pareto Juan Martinez, Alexandra Delgado, L...
edepisabellanaranjo
 
El candado imposible de abrir | Seguridad máxima explicada - Revista Técnica ...
Cerrajero 365 Valencia
 
DIAGRAMA DE PARETO M Camila Duque Loaiza
MariacamilaDuqueloai
 
Estructuras básicas Conceptos básicos de programación.pdf
sdbdsamuel
 
CamposFlores_Fernando_M1S3AI6-PrepaLineaSEP
231464482
 
Trabajo Tecnología #2 Periodo (1).pdf ajdj
colgess2
 
Excel avanzado trabajo grupal tecnologia
mapaulahiguita
 
Conceptos básicos de programación - Paula Obando
edeppaulaobando
 
Documentos Básicos De Programación.pdf.
kathedelgadoarredond
 
Excel Avanzado ..........................
Alejo857214
 
Tecnología 2.0 (1).pdf, diagrama de pareto
paulavallejo21
 
Trabajo de tecnologia en equipo (1).pdf
jjfch3110
 
VelezOrtiz_Yadira_M1S3AI6 Presentación digital
Yadira Elizabeth Vélez Ortiz
 
JuarezGonzalez_Maria_M1S3AI6.docs https://docs.google.com/presentation/d/1-
susana0271
 
Distribución de Frecuencias Excel Eleazar Muñoz
Eleazar88
 
Publicidad

Prototipado de Aplicaciones web con Firebase #CampusGivers