#EmberAllTheThings

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í.

#EmberAllTheThings

FRONTEND + BACKEND + DEPLOY STRATEGIES

[13]

this.set('event',                )

this.set('location',           )

Joel A. Villarreal Bertoldi

¡Gracias!