Regras de negócio no Firebase (ou quase)

Porque ele é mais do que um Banco de Dados que atualiza sozinho.

O Firebase é poderoso e acho que todo mundo hoje em dia está de acordo com isso. A versão 3.0 mostrou que não tá aí de brincadeira e já tem uma galera topster usando em produção.

Mas se tem uma coisa confusa sobre o Firebase é sobre como a sua segurança e regras funcionam. Quem tá acostumado com um CRUD clássico, onde ele escreve as regras e validações antes daquele conteúdo que o usuário criou ir pra o banco de dados.

Alguns acham que a validação e implementação de regras de segurança devem ser do lado do frontend. Mais absurdo que isso, apenas aqueles que acham que o Firebase não faz qualquer verificação, e qualquer um que conseguir o conjunto de chaves vai pintar e bordar com seu backend.

Trago boas novas. É compreensível a dúvida já que praticamente todo conteúdo que existe sobre Firebase é demonstrando como fazer get e set de variável, e mostrando como é fofinho mudando os valores em tempo real. Quantas vezes eu não ouvi que o Firebase é top pra fazer um Dashboardzinho, mas pra projeto “de verdade” precisa de banco de dados “de verdade”. Parece até um eleitor do Trump falando (ou talvez do Dória).

Vem conhecer o Firebase Rules.

Ler o post completo

Fira Code: a fonte perfeita pra você codar

Seu editor de código nunca mais vai ser o mesmo. Juro pra tu.

Quando eu não tô fazendo nada, vez por outra, eu gosto de procurar Fontes na internet. Cada fonte tem uma personalidade própria e única, tal qual o nosso próprio manuscrito. Além disso, elas são os “cartões de visita” de um texto ou marca, já que só de ver (sem precisar ler) já avaliamos o conforto e coerência de determinada palavra dependendo da Fonte a qual ela é escrita. Ver um texto ou logo em Comic Sans já te faz refletir sobre as escolhas vida, não faz?

Falar sobre fontes renderia assunto até não acabar mais. Porém, para desenvolvedores (especialmente os da Web) existe uma propriedade com a qual todos tratam — ou certamente já ouviram o termo — quando estão trabalhando com fontes: a serifa.

Certamente você já deve ter ouvido falar dos termos “sans-serif”, “serif” ou “monospace”, não? Os dois primeiros estão relacionados à serifa do texto, que nada mais é do que a “perninha” que prolonga as hastes de cada letra.

A Helvetica, por exemplo, é uma fonte não serifada, sans-serif. Ela não tem as perninhas.

A Times New Roman, por exemplo, é uma fonte serifada, serif. Ela tem perninhas.

Ao lado estão as perninhas destacadas em vermelho, para ficar mais claro.

Cada uma tem seu uso próprio e utilidade. Eu te desafio a citar 5 marcas que usam fontes com serifa no logo. Por outro lado, também te desafio a citar 5 jornais que usam fontes sem serifa para os textos das notícias.

Fontes sem serifa são notoriamente mais belas a nossos olhos, e mais marcantes. Por outro lado, fontes com serifa são mais confortáveis para uma longa leitura. Não é a toa que exatamente esse texto, que você está lendo agora, tem um título com fonte não-serifada e possui todo corpo com uma fonte serifada.

Mas para nós, desenvolvedores, ainda estamos acostumados a lidar diariamente com outro tipo de fonte: a mono-espaçada.

Fontes mono-espaçadas são auto-explicativas: todos os caracteres possuem o mesmo tamanho. Inventaram isso com a máquina de escrever: ela sabia que, a cada caractere digitado, tinha que mover o cabeçote sempre a mesma distância. Os computadores roubaram as fontes mono-espaçadas pela imensa limitação que os primeiros monitores tinham, então era muito mais fácil de programar sabendo quantos pixels cada fonte iria ocupar na tela.

E, pra programação, texto mono-espaçado tem uma vantagem a mais: como quando estamos desenvolvendo, estamos trabalhando com vários símbolos fora do padrão de nossa escrita tradicional, utilizar fontes que têm os caracteres de mesmo tamanho contribuem muito na legibilidade, mais do que qualquer outra fonte serifada.

Mas, porém, contudo, todavia, entretanto… Fontes mono-espaçadas não são as mais eficientes para a exibição de caracteres, principalmente quando a gente precisa combinar símbolos, se perde muito espaço de tela.

Pensando em resolver um problema que a gente não sabia que tinha, fizeram a Fira Code.

A Fira Code, como tudo que é bom, quebra algumas regras pra conseguir seu objetivo. Ela é uma fonte mono-espaçada, travestida de fonte sem-serifa, porém com uma propriedade muito interessante de fontes serifadas: a ligadura.

As ligaduras tipográficas nasceram no nosso manuscrito tradicional, pois somos preguiçosos: por que que eu vou usar mais de um caractere se eu posso fazer um só? O símbolo ‘&’ nada mais é do que a representação de et, porém sendo traçado com uma única reta (tenta fazer no papel, ‘Et’, com uma reta só). Nunca te contaram isso antes, né?

E justamente nos símbolos, a Fira Code usa essas ligaduras para transformar dois símbolos num terceiro. Pra entender melhor, veja esse print printoso de um código JavaScript:

Repare como !! ocupa seu espaço de maneira mais distribuída que a fonte que você tá usando agora no seu Editor ou IDE. Olha o ==, como tá show sendo um simbolo só? E como não amar o <=, também representado apenas por um caractere?

Se você curte drogas mais pesadas, se liga nesse print de Clojure:

Fica até mais claro, mesmo sendo Clojure!

O melhor de tudo é que a Fira Code é Open Source e completamente gratuita.

Ela é compatível com um monte de Terminais, Editores de Texto e IDEs, tá tudo lindamente documentado aqui no GitHub deles: https://github.com/tonsky/FiraCode

Tire 20 minutos do seu dia de hoje para baixar a Fira Code e configurá-la no seu terminal e no seu editor de texto. Garanto que sua experiência de programação vai melhorar. Se não melhorar, eu devolvo seu dinheiro.

Me agradeça depois.

Material Design no Ionic 2, na força bruta

Como definir o Material Design como padrão, mesmo no iOS, modificando Config do seu @App

O Ionic 2 é lindo. Sério. Principalmente nos seus componentes feitos usando os princípios do Material Design. Diferente do Ionic 1.x, onde teríamos que utilizar alguma biblioteca como o Ionic Material, tudo já vem prontinho de fábrica pra a gente aproveitar.

Claro que os temas para iOS e Windows também estão lá, nada mudou. Mas se você está fazendo toda sua identidade visual baseada no Material, provavelmente você irá querer manter essa consistência entre plataformas.

Fazer isso no Ionic 2 é bem simples, utilizando o Config do módulo ionicBootstrap, que está no pacote ionic-angular:

import { ionicBootstrap } from ‘ionic-angular’;

O ionicBootstrap é equivalende ao Bootstrap do Angular 2, que “avisa” qual componente será o root da nossa aplicação. Ele já está devidamente importado e chamado no app/app.ts do seu aplicativo.

Vá para a última linha, e lá estará ele:

ionicBootstrap(BitBar);
// Por sinal, você já baixou o BitBar?

O ionicBootstrap recebe (até) três parâmetros, o componente Root, os Custom Providers e o objeto Config. É deste último que iremos tratar no dia de hoje.

Config

O Config nada mais é do que um simples objeto onde definimos determinadas propriedades. A primeira coisa é adiciona-lo ao Bootstrap:

ionicBootstrap(BitBar, [], {});
// O Config é o terceiro parâmetro, então estamos passando um array vazio no parâmetro do Custom Providers. Trataremos dele em outro post.

Para implementarmos a ideia original do post, basta definirmos o mode como “md”:

ionicBootstrap(BitBar, [], {
  mode: 'md'
});

Prontinho! Estamos avisando ao Ionic que queremos que o modo sempre seja o Material, independente da plataforma real do dispositivo utilizado.

Esse é só um exemplo do que o Config é capaz. Podemos por exemplo, forçar com que as abas apareçam sempre no topo, é só fazer isso aqui:

ionicBootstrap(BitBar, [], {
  mode: 'md',
  tabsPlacement: 'top'
});

Quer usar o Material, mas acha os Ícones do iOS mais bonitinhos?

ionicBootstrap(BitBar, [], {
  mode: 'md',
  iconMode: 'ios'
});
// Atenção, não é porque você pode que você deve.

Na documentação oficial do Ionic 2 existem inúmeros exemplos de como podemos utilizar o Config para manipularmos nosso App. Mas lembrem sempre, crianças, com grandes poderes vem grandes responsabilidades.

Eu acho que a Apple dessa vez tá errada.

Sim, ninguém pediu minha opinião. Mas é preciso ter coragem.

1998

No ano que o Romário tinha sido cortado da Copa, injustiça essa que só veio se equiparar ao fato do iFood ter tirado o PayPal do seu aplicativo nos últimos dias. 1998 também foi um ano de um lançamento marcante para a Apple: nascia o iMac.

Trivia irrelevante: eu tenho um desses, quebrado. Um amigo meu me deu há poucos anos.

Você em 98 podia não fazer ideia de que a Apple existia, mas se você já era micreiro, conhece sua influência mesmo sem saber. Afinal, esse visual translucido virou moda até pra saboneteira. Meu primeiro PC, comprado anos depois do lançamento dessa belezura, tinha o mouse que era uma cópia completa do mouse do iMac. Só que melhor, tendo em vista este que não era essa aberração completamente circular.

Mesmo com um mouse de gosto duvidoso, a mídia da época caiu em cima de outra coisa: os iMacs não tinham entrada para Disquetes. Isso seria o instantâneo suicídio da Apple, que estava voltando os eixos com o retorno o seu iCEO, Steve Jobs (sim, iCEO era um cargo de verdade, o Jobs foi iCEO até 2000)

Hoje em dia, Disquetes são uma impressão 3D do ícone de salvar.

2008

Um ano antes a Apple tinha finalmente resolvido um problema que a gente não sabia que tinha: inventou o que hoje entendemos por smartphone, com o iPhone.

Ainda em 2008, o iPhone 3G seria anunciado e ia ser, de fato e de direito, a primeiro hit popular da Apple, chegado a um nível mais mainstream.

Só que era pouco. Se tinham acabado de reinventar o telefone (palavras próprias, deles), também não estavam muito contentes da maneira com que os notebooks eram não. Aí eles me vem com isso aqui: o MacBook Air.

Quem acompanhou na época certamente se arrepia até hoje revendo esse vídeo. Mas como diabos eles fizeram um computador tão estupidamente fino? E o que dizer dessa música.

Para fazer um computador tão fino, eles tiveram que fazer certas mágicas. Sim, mágica, por que qualquer tecnologia suficientemente avançada é indistinguível de magia: soldaram toda placa mãe, os discos, e tiravam todos os conectores que dava pra tirar na época.

~Todo mundo caiu de porrada. Não era pra o mercado de negócios pois não tinha VGA. Não era pra pro-users pois não tinha Ethernet. Não era pra casuais, porque era muito caro, e não valia pagar o valor num Note de Gamer nele. E, oras, como vou gravar meus DVDs das fotos da festa que ficaram ótimas?? Não tinha nenhum drive de mídia.

Ele era todo errado. Foi um sucesso. Hoje em dia todos os Notebooks atuais beberam da fonte que o Air encheu. Aos olhos de hoje, o Air original nem parece tão fino assim.

Das falhas mais alarmantes, o preço era um dos pontos mais falados. Isso se devia ao fato da Apple resolver usar SSD ao invés do tradicional HDD. E mano, isso em 2008 era caro, e não era pouco.

SSD, ainda são caros. Mas são caros porque HDD está muito barato. Ainda sim, o padrão de fato da indústria para computadores performáticos é entregar já com SSD de fábrica.

Inclusive, pergunte a qualquer pessoa que fez o upgrade de HDD para SSD, o que ela achou da decisão. Eu garanto que ela irá te responder, com os olhos brilhando, peito em festa e o coração a gargalhar que foi uma das melhores coisas que ela já fez na vida, e que nunca mais volta pra HDD.

Inclusive, o atual MacBook, a epítome do desenho industrial da Apple no que ser refere a Notebooks, e evolução natural do Air, tem só duas portas: uma USB-C…

…e uma entrada para fones de ouvido.

2016, 7 de setembro

Apple lança o seu nono iPhone, o 7 (na verdade são 14, mas só tô contando o showrunner). E ele não tem entrada para fones de ouvido.

A mídia não caiu tanto de pau em cima, ou talvez não caiu de pau tanto em cima ainda, pois essa boataria de que a Apple ia matar o P2 vinha desde 2014. Não que alguém acreditasse de fato que a Apple ia fazer isso, mas todo mundo tava meio com o espírito preparado de que isso iria acontecer.

Por incrível que pareça, é compreensível. Atualmente, há uma certa corrida do ouro para reinventar a maneira com que escutamos músicas, em todas as frentes. Ninguém sabe exatamente o porquê, mas isso é real e está acontecendo nesse exato momento. E a Apple, vanguardista que é, não poderia ficar de fora sem fazer sua aposta. E quando você tem mais de 600 bilhões em caixa pra torrar, você pode apostar grande. E ainda sim, se foder pouco se der errado.

Porém, acho que foi um tiro incerto o que a Apple fez no dia de hoje. E olha que eu nem acho que o problema é tirar o P2.

É colocar o Lightning no lugar.

Vamos viajar no tempo de novo, só um pouquinho?

2001

Em 2001 a Apple inventou o iPod. O primeiro sucessão da porra™ mesmo que a Apple teve. Tal qual o futuro que ainda não existia, chamado iPhone, ele também não foi o primeiro dispositivo a ser como era, mas foi aquele que fez do jeito que devia ser feito. Afinal, Gotham precisa do herói que precisa, não do que ela merece.

A primeira geração já foi um sucesso, porém o que fez bombou mesmo foram dois fatos. Fatos que possivelmente você não saiba, ou não lembre, já que hoje é tudo tão diferente.

O iPod não era USB

OK, era 2001. Não que a gente já tivesse acostumado com padrões de conectores, mas o USB já era algo sólido que as fabricantes haviam abraçado. O próprio iMac — o sem disquete, que citei no início do post — é um dos exemplos citados da adoção em massa do padrão USB.

Porém o iPod possuia outro tipo de conector, o FireWire. Inventado pela própria Apple, o FireWire era, de fato e de direito, muito melhor que o USB. Pra você ter ideia, a velocidade de transferência de arquivos do FireWire só veio ser ultrapassada com pelo o USB com a chegada do USB 3.0, a atual versão.

Em parte, a Apple usar cabos ~diferentões pros seus iDevices continuou verdade. Veio o maldito conector de 30 pinos, e agora o Lightning. Porém um dos lados é USB (tipo-A), o que nos permite encaixar em virtualmente qualquer computador.

Ao fazer isso, a Apple escolheu o público — e o dinheiro — a tecnologia. O FireWire era realmente melhor do que o USB da época. Mas ficar fechado no ecossistema da Apple não fazia sentido pra o iPod ficar popular.

Mudar isso foi o primeiro passo. O segundo vem a seguir.

Não havia iTunes para Windows

Sim. Além de não ter conexão USB, os iPods só podiam fazer Sync (lembra disso, Sync? coisa paleolítica em tempos de Nuvem) com Macs. Ou seja, vender um iPod como primeiro device Apple para alguém era um desafio e tanto, já que você precisava convencer a pessoa comprar o iPod e levar um computador junto.

Em 2003, a Apple lança o iTunes para Windows. E pedante e arrogante como sempre foi, ela anunciou assim:

Sim, eles usam a nomenclatura “app” desde 2003. Isso nasceu com o iPhone não.

O Inferno congelou. E a Apple começou a fazer casacos com notas de Dólar.

em 2016, 16 de setembro

Em 16 de setembro os primeiros iPhones estarão nas mãos dos compradores. Não existe essa de “não vai vender”. Vai, feito água. Sinto informar mas ninguém que quer um iPhone 7 vai deixar de comprar o iPhone 7 porque não há uma entrada de fone de ouvido. E a Apple sabe disso.

A questão é o que acontece daqui pra frente. E vou explicar o porquê de crer que a Apple está com uma “estratégia” errada. Quantos MBAs eu tenho pra falar de estratégia de negócios?

Nenhum. Mas eu sou usuário, mais importante que isso.

Não vai dar certo. Kinda.

A Apple está fazendo uma aposta. Como ela sabe que é a primeira vez, ela tem o benefício da dúvida, e um caminhão de dinheiro pra sustentar essa brincadeira. Se der errado, o P2 volta no iPhone 7S e isso nunca aconteceu e a Oceania sempre esteve em guerra com a Eurásia. Ponto final.

A Apple apostar dessa maneira faz sentido pelo seu próprio histórico, o qual desenvolvi até agora. Ela realmente sempre foi vanguardista, e tinha a visão do que era melhor para seu consumidor, e que estava disposta a fazer mudanças radicais se preciso fosse. Isso foi verdade no iMac, no iPod e no MacBook Air.

Porém o que a Apple agora está fazendo é apenas jogar sujo.

Ao trocar o P2 pelo Lighting, e ter a pachorra de dizer que está sendo corajosa ao fazer isso, a única coisa que a Apple está fazendo é manter seu usuário dentro do seu castelo.

Tudo no ecossistema da Apple é feito para te manter dentro dele (veja bem, não estou dizendo que isso é errado, cada cachorro que lamba sua caceta), quantas pessoas que você não deve conhecer que não trocam de iOS não porque não tem vontade, mas porque já gastou fortunas na App Store? Ou por que todos os seus periféricos se conectam via Lightning, que também custaram fortunas?

O inimigo errado.

Lembra daquela vez que seu amigo reclamou de estava usando um conetor P2? Pois é, eu também não.

A unfair advantage do P2 é seu alcance. TODO MUNDO tem um fone com conexão P2… porquê bem… eles estão aí desde sempre. Além de que ele é virtualmente utilizado em todos os equipamentos de áudio que existem. O iPhone 7 é incompatível com 99,99% de todos os headphones já feitos.

Além de isso os headphones Lightning não são compatíveis com mais nada além dos iDevices. Porra, Apple, os fones Lightning não funcionam NEM COM OS SEUS COMPUTADORES!

E existe um “problema” muito maior com o P2: eles são bons o suficiente. E quando em determinada tecnologia chegamos em algo bom o suficiente, por tanto tempo, é que tentar evoluir algo assim é totalmente inefetivo. Vender então, é quase impossível.

Não existe nenhum motivo razoável pra matar o P2 justamente porquê está tudo ótimo da maneira que está. Não há melhorias efetivas que justifiquem qualquer mudança, a não ser masturbação inovativa quando seu relógio novo não vende.

Mas trocar o P2 nem é problema. O problema é não combinar com os Russos.

Como fazer dar certo

Tem como guerras acabarem bem, o problema é que isso é tão raro (e difícil) que sequer é lembrado: se unir ao inimigo.

Tendo uma visão bem fria e analítica, a soma zero do P2 é vantajosa: uma conexão a menos para se preocupar. O problema é quando só você tem aquela conexão, e você também não tem nem de perto o alcance do seu inimigo, já que mata-lo não é apenas escolha sua.

Então se a Apple quer mesmo matar o P2, eu imagino três saídas que funcionariam. A bronca é que nenhuma delas é de fato boa pra Apple, com o ego que tem. Talvez não seja a toa que eles escolheram essa estratégia, no fim das contas, né?

Vamos matar o P2

Bluetooth é bom Bluetooth é vida use Bluetooth

Fones Bluetooth não são melhores do que fones P2. Triste realidade. Porém eles estão cada vez mais próximos de ficarem bons o bastante. Se a Apple direcionar o seu público a usar Bluetooth, cai por terra a bronca de os fones não serem “multiplataforma”.

A Apple tem mais espaço (físico, mesmo) pra inovar no iPhone sem ter que por o P2, como eles mesmo dizem, e ainda talvez sobre pra Beats — a qual a Apple é dona — perder o status de marca de gente rica que não sabe comprar fones de qualidade pra ser vanguardista na criação de fones de primeira linha, sem fio.

Os problemas para Apple são: ela não está mantendo ninguem na plataforma dela (que é o real motivo dessa palhaçada toda) promovendo o Bluetooth, padrão aberto que não é melhor que o P2. Então andar pra trás, ainda que só um pouquinho, não tende a ser opção.

Libera o Lightning pra geral

Esse seria o cenário mais dahora e o mais difícil de acontecer.

A Apple bate o pé e diz que tem que ser usando Lightning mesmo por que só o Lightning é o Lightning e deus quis assim. E ainda diz que quem tiver achando ruim, o Lightning está liberado pra usar no seu dispositivo.

Sim, eu sei, pra quem faz produtos “Made for i” o Lightning está liberado. Mas seria liberar VALENDO: se a Samsung quiser usar o Lightning de conector no celular dela, ela poderia.

Isso seria lindo, pois realmente ia ser a corrida do ouro dos conectores. Não tem uma dessas desde o HD DVD e o BlueRay.

Porém, a gente sabe que é quase impossível da Apple fazer isso. O Lightning é dela e ela usa ele por que ela pode mexer nele como bem entender, sem depender de seu ninguém. Se amanhã ela quiser inventar um pitoco novo, problema dela, segue normal.

Se rende ao USB-C

Esse seria o melhor cenário. Todo mundo lembra que tá no mesmo barco, se junta e mata o P2 fingindo que é amigo. A Apple tira o Lightning, bota o USB-C no lugar e viveremos num mundo onde todas as pessoas do planeta iriam ter os mesmos cabos pra carregar e ouvir música, e poder pegar emprestado de terceiros sempre que pudesse, com a certeza que seu coleguinha teria.

Finalmente a pergunta “alguém tem cabo pra carregar iPhone?” iria morrer. Se pá, até a União Européia ia sossegar o rabo um pouco pra cima da Apple.

Mas pelos motivos citados acima, a gente sabe que, infelizmente, a Apple também não vai fazer isso. Porém, esse é o futuro que eu acho que vai acontecer, nem que seja via adaptador a um primeiro momento.

Por quê?

O Moto Z da Lenovo não tem entrada P2. Sim, a Apple nunca é a primeira meeeesmo, nem quando faz merda.

Agora veja a situação. Como eu disse, de fato há uma batalha (sem motivo, o P2 é bom o bastante) de quem vai inovar primeiro na maneira com que consumimos música e ao mesmo tempo temos que ter telefones finos feito papel (outra coisa sem motivo).

Agora se coloque no lugar de quem faz headphones. Você tem a Apple, que força o seu padrão. Os Androids irão começar a forçar o USB-C (anote e me cobre). O que você faz? Produz pra qual dos dois “padrões”?

Isso mesmo, você não faz nada. Afinal, vem adaptador na caixa. E há um padrão.

E aí que a parte divertida vai começar. Pois em dado momento, o usuário vai se cansar de ficar usando adaptador pra lá e pra cá, e um dos dois conectores vai ter que vencer. É inevitável.

Ou a gente pode não matar o P2. Mas qual seria a graça, certo?

E eu já ouvi histórias que o inferno congelou uma vez. E olha que eu nem falei daquela vez que a Apple mudou de PowerPC pra Intel.

Seu Web App offline mais rápido que preparo de Miojo

Código pronto em três minutos ou seu dinheiro de de volta

Quando você pensa que não, 2016 já está perto de chegar ao fim. Isso só é um indicador a mais que já passou da hora de fazer com que seu web app funcione offline.

Sim, eu sei, os ServiceWorkers, apesar de não parecer tão terríveis quanto eram antigamente ainda parecem muito complicados de usar. Principalmente por que o código (e a maneira com que ele funciona) é muito diferente do “normal” que estamos acostumados.

No início do ano eu fiz um Hangout com o GDG Belo Horizonte sobre como usar ServiceWorkers. A palestra tá no meu canal, e você pode ver abaixo. Acho que é o único conteúdo sobre isso em Português no YouTube, então vale o seu like.

Porém, ainda sim, usar ServiceWorkers sem exemplos mais claros ainda não é das tarefas mais fáceis. Seria ótimo se, sei lá, tivéssemos algum repositório com uma série de exemplos, que a gente pudesse ao menos c̶o̶p̶i̶a̶r̶ ̶e̶ ̶c̶o̶l̶a̶r̶ olhar e entender melhor como funciona.

Avisa a Ludmila que tem repo sim

O time do Google Chrome tem o GoogleChrome/samples na rede social de códigos GitHub, com diversos exemplos excelentes de como usar ServiceWorkers para armazenar o conteúdo offline.

Alguns exemplos da lista são:

  • Basic Demo, que mostra o básico do básico de implementaçao de SW em uma página. Como é o básico do básico, é justamente o melhor lugar pra começar se você nunca fez algo parecido.
  • Detailed Registration, que já é alguns passos a frente, e você aprende como registrar um SW na sua página, além de receber informações detalhadas do SW, como os seus estados e versões.
  • Multiple fetch handlers, onde você pode ter mais noções de como os SW funcionam como uma espécie de proxy, entre seu servidor e o navegador
  • Custom offline page, exemplo mais básico de offline (usando de base as “etapas” acima citadas), onde um simples fallback é exibido ao usuário, caso ele esteja sem conexão.

E por aí vai. O legal do repositório é que os códigos são os mais auto-contidos o possível, então é praticamente fazer um plug’n’play no código da sua própria aplicação.

ServiceWorkers são úteis para dois pilares importantes de Progressive Web Apps: as notificações e o acesso offline. Aguarde cenas dos próximos capítulos.

Pin It on Pinterest