master app - porque menos é mais!

97
Master App Turbolinks 5 Eu não posso acreditar que não é nativo!

Upload: rodrigo-serradura

Post on 12-Apr-2017

69 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Master App - Porque menos é mais!

Master App

Turbolinks 5Eu não posso acreditar que não é

nativo!

Page 2: Master App - Porque menos é mais!

Quem somos?

Page 3: Master App - Porque menos é mais!

Menos

é Mais

Page 4: Master App - Porque menos é mais!

Por que?

Page 6: Master App - Porque menos é mais!

"Artista é alguém que projeta algo e que não resolve um

problema real."

Page 7: Master App - Porque menos é mais!
Page 9: Master App - Porque menos é mais!
Page 10: Master App - Porque menos é mais!
Page 11: Master App - Porque menos é mais!
Page 12: Master App - Porque menos é mais!
Page 13: Master App - Porque menos é mais!
Page 14: Master App - Porque menos é mais!
Page 15: Master App - Porque menos é mais!
Page 16: Master App - Porque menos é mais!
Page 17: Master App - Porque menos é mais!
Page 18: Master App - Porque menos é mais!
Page 19: Master App - Porque menos é mais!
Page 20: Master App - Porque menos é mais!

https://www.youtube.com/watch?v=SWEts0rlezA

Page 21: Master App - Porque menos é mais!
Page 22: Master App - Porque menos é mais!

Como voltar paraera de ouro?

Page 23: Master App - Porque menos é mais!

Turbolinks 5!

Page 24: Master App - Porque menos é mais!

O que é?Onde vive? O que come?

Page 25: Master App - Porque menos é mais!

Otimiza a navegação automaticamente.Não há necessidade de anotar os links ou especificar quais partes da página devem ser alteradas.

Page 26: Master App - Porque menos é mais!

Nenhuma cooperação necessária no lado do servidor.Responde com páginas HTML completas, nada de fragmentos de página ou JSON.

Page 27: Master App - Porque menos é mais!

<body>

<head>

Uma página:

Page 28: Master App - Porque menos é mais!

<body>

<head>

<body>Replace

no <body>

<head>Merge

do <head>

O que o Turbolinks faz:

<body>

<head>

Page 29: Master App - Porque menos é mais!

Respeita a Web.Os botões Voltar e Recarregar funcionam exatamente como você espera. Search engine-friendly by design.

Page 30: Master App - Porque menos é mais!

Suporta mobile apps.Os containers iOS e Android permitem que você crie aplicativos híbridos usando recursos e controles de navegação nativos.

Page 31: Master App - Porque menos é mais!
Page 32: Master App - Porque menos é mais!

Instalação/Uso

Page 33: Master App - Porque menos é mais!

Rails

Page 34: Master App - Porque menos é mais!

rails new ProjectName --skip-turbolinks

Page 35: Master App - Porque menos é mais!

rails new ProjectName --skip-turbolinks

Page 36: Master App - Porque menos é mais!
Page 37: Master App - Porque menos é mais!

Site estático

Page 38: Master App - Porque menos é mais!
Page 39: Master App - Porque menos é mais!

Overview do Projeto

Page 40: Master App - Porque menos é mais!
Page 41: Master App - Porque menos é mais!

Executando o servidor de arquivos estáticos

Page 42: Master App - Porque menos é mais!
Page 43: Master App - Porque menos é mais!

Request - Response

Page 44: Master App - Porque menos é mais!
Page 45: Master App - Porque menos é mais!

Instalando e Habilitando o Turbolinks

Page 46: Master App - Porque menos é mais!
Page 47: Master App - Porque menos é mais!

Cache automático

Page 48: Master App - Porque menos é mais!
Page 49: Master App - Porque menos é mais!

Navegando programaticamente

Page 50: Master App - Porque menos é mais!
Page 51: Master App - Porque menos é mais!

Desabilitando o Turbolinks

Page 52: Master App - Porque menos é mais!
Page 53: Master App - Porque menos é mais!

Atenção!Mudança de paradigma

Page 54: Master App - Porque menos é mais!
Page 55: Master App - Porque menos é mais!
Page 56: Master App - Porque menos é mais!
Page 57: Master App - Porque menos é mais!
Page 58: Master App - Porque menos é mais!

Se lembra do cache?

Page 59: Master App - Porque menos é mais!
Page 60: Master App - Porque menos é mais!
Page 61: Master App - Porque menos é mais!

Quer mais?

Page 62: Master App - Porque menos é mais!
Page 63: Master App - Porque menos é mais!
Page 64: Master App - Porque menos é mais!

Nosso caseMaster App

Page 65: Master App - Porque menos é mais!

Menos

é Mais

Page 66: Master App - Porque menos é mais!
Page 67: Master App - Porque menos é mais!
Page 69: Master App - Porque menos é mais!

Rails Tips

Page 70: Master App - Porque menos é mais!

Variants: Use e abuse!

Page 71: Master App - Porque menos é mais!

redirect_to(…, turbolinks: :advance)

Page 72: Master App - Porque menos é mais!

redirect_to(…, turbolinks: :advance)

Page 73: Master App - Porque menos é mais!

redirect_to(…, turbolinks: :advance)

Page 74: Master App - Porque menos é mais!

turbolinks-ios: O que?

Da documentação:

“Build high-fidelity hybrid apps with native navigation and a single shared web view”

Page 75: Master App - Porque menos é mais!

turbolinks-ios: Como?

App Session Visitablevisit

● Cria, gerencia única instância de WebView

● Avisa○ link taps○ network errors.

● Contém:○ WebView container○ Pull to refresh○ Loading

Page 76: Master App - Porque menos é mais!

turbolinks-ios: Como?

App Session Visitablevisit

1.Usuário da um tap em um link

2.turbolinks-ios intercepta click no link e notifica App através do Session

3.App decide o que fazera. Visit na próxima tela (push, present, dismiss, pop)

b. Mostar tela nativa

c. ...

Page 77: Master App - Porque menos é mais!
Page 78: Master App - Porque menos é mais!

Outras comunidades

Page 79: Master App - Porque menos é mais!

Elixir / Phoenix Framework

Page 80: Master App - Porque menos é mais!

Elixir / Phoenix Framework

Page 81: Master App - Porque menos é mais!

Laravel, Vue.js

Page 83: Master App - Porque menos é mais!

Conclusão

Page 84: Master App - Porque menos é mais!

Operação enxutaIncremente as partes nativas apenas em

funcionalidades que se provam necessárias!

Proporção 90% Responsivo e 10% Nativo (Menus, navegação).

Monolith First.

Page 85: Master App - Porque menos é mais!

Rollout (quase) realtime.Mesmo tendo partes nativas, a aprovação na Apple Store tende a ser mais rápida.

Facilita uso de teste A/B.

Operação enxuta

Page 86: Master App - Porque menos é mais!

SEO Friendly:Não tem o problema de Server Rendering (comum

em SPAs).Estratégia do Desktop é refletida no msite.

Analytics Friendly tagueamento pode ser reutilizado entre diferentes plataformas.

Operação enxuta

Page 87: Master App - Porque menos é mais!

ProgressiveWeb Apps.

Turbolinks 5

Page 88: Master App - Porque menos é mais!

Não existe bala de prata!Server (Monolith First)

Excesso de responsabilidades.

O mesmo bug poderá afetar todas as plataformas.

Se mal feito, aumentará o custo de manutenção e infra.

UX:Não terá exatamente o mesmo look and feel de um App 100% nativo.

Não terá a mesma performance de um App 100% nativo.

Page 89: Master App - Porque menos é mais!

Bill Gross: A maior razão pela qual startups obtêm sucesso | TED Talk

https://www.ted.com/talks/bill_gross_the_single_biggest_reason_why_startups_succeed?language=pt-br

Page 90: Master App - Porque menos é mais!
Page 91: Master App - Porque menos é mais!

https://www.ted.com/talks/bill_gross_the_single_biggest_reason_why_startups_succeed?language=pt-br

Page 92: Master App - Porque menos é mais!
Page 93: Master App - Porque menos é mais!

Menos

é Mais

Page 94: Master App - Porque menos é mais!
Page 95: Master App - Porque menos é mais!

https://github.com/themasterapp

Page 97: Master App - Porque menos é mais!

"Se quer ir rápido, vá sozinho.Se quer ir longe, vá em grupo."

-- Provérbio africano

Obrigado!

themasterapp.xyz

[email protected]@gmail.com

[email protected]

github.com/themasterapp