Progressive Web Apps: a palavra-chave é Progressive, não App ou Web

Não sabe o que é PWA ainda? Ouça um podcast que gravamos no DevNaEstrada sobre o tema.

O Sérgio Lopes, ou Sergio Caelum, um dos maiores nomes do Front-end do Brasil e quiça do mundo escreveu um excelente artigo defendendo o ponto de vista que o mais importante no PWA é o fator Web.

Discordo — e já concordei — e acredito que o mais fantástico de PWA é unificar o desenvolvimento Front-end moderno em um único dispositivo.

Estamos desenvolvendo e aperfeiçoando o The Rivendel Way apostando pesadamente que no Capítulo Front-end o PWA vai ser a solução para unificar tudo.

Front-end é o dispositivo que foi desenhado pra ser.

A programação Front-end nasceu no primeiro terminal, se é que não dá pra considerar desde o cartão perfurado.

No Desktop a grande facilidade encontrada foi a padronização de um Toolkit fornecido pelo próprio SO, você não tinha que desenhar sua tela, apenas usar a UI fornecida, os Patterns vem desde os anos 70 — como MVC — e o estado da arte já estava encontrado ali nos anos 90.

Temos que reescrever todo o código Mobile a cada 2 anos

Todo mundo aceita, mesmo a contragosto, reescrever toda a aplicação a cada dois anos porque não tem o que fazer, os dispositivos nem existem mais e os novos provavelmente dão algum “probleminha” de compatibilidade desde o SO a libs específicas.

Alguém citou IOS? Eu que não.

Qual o porquê desse mesmo comportamento não ser aceito pra Front-end Web?

Os dispositivos, conhecidos como navegadores, demoram um pouco mais e mantém uma certa retrocompatibilidade com a sua receita de bolo na construção da UI artesanal que ele não oferece.

Resultado: um time Front Web, um time Front Android e um time Front Ios P-O-R P-R-O-D-U-T-O.

Responsivo

Um dos fatores mais importantes na minha opinião é começar ponto a ponto a partir do responsivo do seu produto/site.

Se tem um mínimo necessário, pra mim seria isso e acredito que todo mundo concorde com isso, sem “responsividade” não dá pra nem conversar?

Mas Milfont, pra quê falar o óbvio em pleno 2107?

Acredite, não é ainda, por incrível que pareça. Sigamos.

Qual o Porquê de não esquecermos do aspecto App?

Voltando ao Post do Sergio, Web é importante como plataforma, unificar esses times e ecossistema de tecnologias, além de fornecer a mesma experiência para o usuário sem o punir com instalação, entre outras coisas.

Mas só pensar em Web não faremos essa mudança, precisamos indexar na lista de Apps dos dispositivos móveis, ter uma responsividade ao acessar um link em um Push Notification (*) , compartilhar entre Apps, acessar com facilidade recursos do aparelho (ou no caso do IOS pelo menos acessar) e pequenos detalhes que só lembramos na hora de implementar.

(*) (quem está usando o Twitter no Android já deve ter percebido que tem vezes que não abre a App quando clica na mensagem)

Progressivo

Enquanto o PWA não fornecer o aspecto App completo, não será aceito.

Precisamos progressivamente entregar um valor ao usuário mais próximo do que ele já tem hoje, que no Mobile nativo já lembra muito aquele estado da arte que o Desktop entregou nos anos 90.

Já estamos prontos?

Semana que vem vou palestrar no BrazilJS sobre as vitórias alcançadas do CEJS (primeiro semestre) pra cá, enquanto isso fique com as derrotas:

Pra finalizar, se ouviu o podcast referenciado no início do texto, vai perceber que profetizei o PWA no IOS (que é o que falta) até 31 de dezembro, a Apple está correndo atrás pra não furar o prazo.