Upgrade to Pro — share decks privately, control downloads, hide ads and more …

noBackend e Offline First: foque em criar experiências #CPRecife4

noBackend e Offline First: foque em criar experiências #CPRecife4

24/07/2015 - Campus Party Recife

joseli.to

July 24, 2015
Tweet

More Decks by joseli.to

Other Decks in Technology

Transcript

  1. Olá, meu nome é Joselito Júnior » Modelo e atriz

    » Instrutor, palestrante » Vencedor de hackathon profissional » Fundador do GDG Recife » Fã de Fórmula 1 » Apaixonado por resolver problemas
  2. 4G? Minas Gerais: 4 Cidades Rio de Janeiro: 4 Cidades

    São Paulo: 8 Cidades Demais estados: capitais
  3. Armazenamento Sincronize ao invés de salvar! » Se o usuário

    está online, envie e sincronize com servidor » Se não, salve localmente e sincronize depois!
  4. Service Workers É um Web Worker que tomou muito Whey.

    Roda no background do navegador e não tem acesso ao DOM.
  5. Service Workers É um Web Worker que tomou muito Whey.

    Roda no background do navegador e não tem acesso ao DOM. Rende outra talk inteira.
  6. Service Workers É um Web Worker que tomou muito Whey.

    Roda no background do navegador e não tem acesso ao DOM. Rende outra talk inteira. Por exemplo, essa: Offline Web do jeito certo com ServiceWorkers, Sérgio Lopes.
  7. App Cache Poderosissímo e um grande filho da p*ta. <html

    manifest="offline.appcache"> O manifesto deve estar em todas as páginas que você desejam que devem se cacheadas.
  8. App Cache CACHE Aquivos abaixo do cabeçalho CACHE (ou sem

    cabeçalho, é a seção default) serão armazenados na primeira vez que forem acessados.
  9. App Cache NETWORK Aqui que começa a confusão. Arquivos listados

    aqui podem vir do servidor se eles não estão no cache. Na maioria dos casos, usa-se *, para todas as páginas. NETWORK: *
  10. App Cache FALLBACK Os arquivos na seção de fallback tem

    dois "parâmetros". O primeiro, o arquivo original (ou pasta), do servidor. O segundo, o arquivo que vai substituir os arquivos. FALLBACK: / fallback.html cardapio/pizzas/calabresa.jpg cardapio/pizza.jpg cardapio/pizzas/ cardapio/pizza.jpg
  11. App Cache Cuidados » O cache tem prioridade ao que

    está no servidor. » O manifesto só será atualizado se o conteúdo dele for alterado. » Arquivos não cacheados nao vão carregar em páginas cacheadas » E mais: Application Cache is a Douchebag, Jake Archibald.
  12. APIs do Hoodie var hoodie = new Hoodie(url); » hoodie.store

    » hoodie.account » hoodie.id() » on() » online ou offline » change, update
  13. Plugins do Hoodie AppCache Nanny Automatização completa do manifesto! »

    hoodie install appcache » npm install -S appcache-nanny » hoodie.appCache.start();
  14. Parse e Firebase » Comerciais e mais robustos (BaaS) »

    Armazenamento sob demanda » Plugins » Push (local) e outros serviços
  15. API Parse var user = new Parse.User(); user.set("username", "my name");

    user.set("password", "my pass"); user.set("email", "[email protected]"); user.set("phone", "415-392-0202"); user.signUp(null, { success: function(user) { ... }, error: function(user, error) { ... } });
  16. API Parse var parseFile = new Parse.File("myfile.zzz", fileData, "image/png"); parseFile.save().then(function()

    { // Imagem salva }, function(error) { // Ou ocorreu um erro ou a imagem não foi enviada ao Parse });
  17. atwood's law “Any application that can be written in JavaScript,

    will eventually be written in JavaScript.” Jeff Atwood