FRONTEND + BACKEND + DEPLOY STRATEGIES
[13]
this.set('event', )
this.set('location', )
Joel A. Villarreal Bertoldi
"Joel, queremos un sitio nuevo."
Notas
Programas
Redes sociales
Audio
Reacciones
Transmisión en vivo
Tiene que soportar todo esto:
Única restricción:
LIBREEEEEEE
COMO EL SOL CUANDO AMANECE
YO SOY LIBREEEEE
COMO EL MAAAAR... ♪♫
¿QUÉ
USARÉ?
Vamos a hablar de
Ember
Opinionated
Convention > configuration
Isomorphic (Fastboot)
Active community
TC39 contributor
Demo.
Ultra-simple deploy
npm run deploy:production
npm run deploy:production:activate -- --revision=...
...pero cómo?
Web Server
API
Frontend (S3)
Redis
Backend
MySQL
Assets
Node
EmberApp
User Assets
Arquitectura de la aplicación
¿Y ESO CÓMO
FUNCIONA?
usuario
First render
middleend
ejecuta Ember
server-side
(local)
API
database
models
queries
HTML
request
interacciones (SPA)
(...)
Ember Client-Side
Browsing Flow
Ejecuta Ember App en Node (isomorphism)
Renderiza HTML y habilita soporte server-side (browsers sin JS)
ember install ember-cli-fastboot
REST/Socket APIs
Integrado con ORM (Sequelize)
Middleware-oriented
¿Y JSON-API?
npm i -D feathers-hooks-jsonapify
https://github.com/joelalejandro/feathers-hooks-jsonapify
Deployment pipeline
Configuración simple (config/deploy.js)
Extensible vía plugins
ember install ember-cli-deploy
Lightning Strategy
Redis (storage de index.html)
S3 (storage de assets)
ember install ember-cli-deploy-lightning-pack
Psst... te cuento
un secreto.
Lightning Deploy
rompe
Fastboot.
npm i -D fastboot-app-server
// hooks for email software
Descargar app desde S3
Get index
de Redis
descargar
package.json
descargar
app.js+vendors
instalar
node_modules
¡pasar al
renderer!
¡Live Updates!
próximamente...
npm i -D lightning-boot
¿Preguntas?
Andaré por ahí.
FRONTEND + BACKEND + DEPLOY STRATEGIES
[13]
this.set('event', )
this.set('location', )
Joel A. Villarreal Bertoldi
¡Gracias!