Clique e receba as novidades quentinhas no Telegram

Pense num mundo onde todos usam a mesma plataforma de desenvolvimento para criar, pesquisar e distribuir aplicativos… por enquanto pensar nisso é pensar em um mundo perfeito, descomplicado, mas que ainda não existe, porém, não é algo irreal ou completamente utópico. Os PWA podem ser a ponte para nos levar a esse mundo. Eles podem ser o grande equalizador multiplataforma de aplicativos.

Antes de continuar, e antes de alguém afirmar que tudo isso saiu unicamente da cabeça do CEO da Microsoft, temos um vídeo pra você.

Percebam que acabamos de assistir um vídeo retirado da Conferência I/O 17 da Google e não de um evento da Microsoft. Eles falam um pouco sobre a parceria que a Google tem desenvolvido com a Microsoft em prol dos PWA.

Mas, porque a Google estaria tão interessada nos PWA?Já que não há nenhuma lacuna de aplicativos no Android por exemplo… Há poucas semanas, o Google Chrome era o único navegador que oferecia suporte de forma oficial aos PWA, mas a Microsoft anunciou tem alguns dias que o Windows 10 também passou a suporta-lo e isso inclui o Microsoft Edge. O suporte é completo, tanto que será possível pesquisar, baixar, instalar e desinstalar PWA a partir da Microsoft.,

Resultado de imagem para Google PWA

Do lado da Google, o Chrome OS não é o Android. Além disso, o mais importante para a Google é que os PWAs são tratados como sites de JavaScript, o que significa que a Google “rastreia” a web e os PWAs podem funcionar para fins de otimização de mecanismos de busca (SEO). Isso também é bom para os editores – como nós – que “perdem” o tráfego da web, oferecendo um aplicativo nativo. Também é bom para as empresas, que poderão oferecer uma experiência ainda mais integrada com os navegadores que suportam os PWA, logo, tudo isso deve aumentar consideravelmente as receitas da Google, já que o browser de internet poderá ganhar mais espaço e notoriedade frente as lojas de aplicativos, consequentemente seu S.O. desktop, o Chrome OS. A Google é uma das empresas que mais saem ganhando com a migração de aplicações nativas do Android para os PWA. Inclusive a Google assegura que o Android trata os PWAs como aplicativos nativos, então, não teria porque um DEV investir no desenvolvimento de um APP exclusivo para o Android, outro exclusivo para o Windows e assim por diante. Ele cria um PWA que pode funcionar em ambas as plataformas usando um só código.

Jeffrey Burtoft da Microsof, principal gerente de programas para experiências de aplicativos de parceiros, disse:

“Nós nos encontramos com o pessoal da Google há cerca de um ano e meio atrás, para ver se essas duas coisas [aplicativos de Westminster e PWAs] eram realmente a mesma coisa … decidimos que nós avançaríamos juntos e forneceríamos uma única maneira para os desenvolvedores web criarem aplicativos que funcionam em todas as plataformas”.

Lendo isso vemos que do lado da Microsoft o interesse está bem claro: mais aplicativos para o Windows e mais integração cross platform. E não! Os PWA não irão prejudicar os UWP. A plataforma universal do Windows já conta com a capacidade de se conectar aos PWA. O desenvolvedor que quiser poderia facilmente incorporar funcionalidades de um UWP em seu PWA, como Notificações Push, Live Tile, Cortana, etc. O Visual Studio também terá um papel importante nisso tudo, é claro.

Já falamos aqui que os PWA não chegaram para “matar” os UWP, muito pelo contrário, pois, quando um desenvolvedores não quiser investir muito na plataforma Windows ele pode simplesmente se aventurar na plataforma usando um PWA mais simples, sem muito esforço. Se o sucesso chegar ou ele quiser se diferenciar, será muito simples transformar seu PWA já disponível na loja em um UWP para atingir seus objetivos. Usando a plataforma universal do Windows será possível dar mais “Vida” ao APP, incrementando a experiência do usuário e coisas do tipo, então, construir um PWA ou um UWP vai depender do nível de abrangência que o DEV quer ter. A Google tem essa mesma visão, pois, quem quiser poderá continuar usando as ferramentas tradiconais para criar um APP nativo para o Android… e vida que segue.

De uma forma geral, investir em PWA é aumentar o raio de alcance de plataforma conectadas, com o Windows 10, o Chrome OS e mesmo o iOS, e é por isso que a Apple também deveria vir junto nessa viagem. Não tem como negar que de todas a Apple é a mais fechada ao assunto. Talvez por ela ter seus sistemas operacionais muito bem divididos e com seu respectivo público alvo muito bem atendido e satisfeito, porém, já vimos rumores sobre a unificação das lojas do MacOS e iOS tempos atrás e, no futuro, isso deve se tornar uma realidade. Se for o caso, como adaptar milhares de aplicações e jogos tão rapidamente ao ponto de não prejudicar a experiência do usuário? Tal migração poderia fazer uso dos PWA, por que não?

Para quem chegou até aqui e não entendeu nada do que estamos falando aqui vai alguns conceitos…

Progressive Web Apps, ou PWA, é um esforço da indústria para padronizar os web apps e service workers, que permitem que os apps funcionem no seu dispositivo como um app nativo da plataforma. Os apps podem trabalhar off-line e responder rapidamente como um app nativo, independente da latência da rede. Apps do Chrome, apps embalados do Windows e Hosted Web Apps são baseadas em padrões HTML5, mas, têm diferentes formatos de manifesto e requisitos.

A padronização destes requisitos implicará que o PWA seja verdadeiramente multiplataforma e o Google agora está exigindo que os desenvolvedores adotem padrões de PWA para seus Apps no Chrome. A Microsoft disse que os Hosted Web Apps (HWA) naturalmente irão evoluir para PWA com a tecnologia service workers à disposição no Microsoft Edge.

A definição de Progressive Web Apps para um aplicativo, não deixa nenhuma dúvida de suas qualidades:

  • Progressivo – Funciona para qualquer usuário, independentemente do navegador escolhido, pois é criado com aprimoramento progressivo como princípio fundamental.
  • Responsivo – Se adequa a qualquer formato: desktop, celular, tablet ou o que for inventado a seguir.
  • Independente de conectividade – Pode trabalhar off-line ou em redes de baixa qualidade (Brasil, estou olhando para você).
  • Semelhante a aplicativos – Parece com aplicativos para os usuários, com interações e navegação de estilo de aplicativos, pois é compilado no modelo de shell de aplicativo.
  • Atual – Sempre atualizado, não precisa baixar atualizações para o aplicativo, o navegador faz isso nos bastidores, se necessário.
  • Seguro – Fornecido via HTTPS para evitar invasões e garantir que o conteúdo não seja adulterado.
  • Descobrível – Pode ser identificado como “aplicativo” graças aos manifestos W3C, que permitem que os mecanismos de pesquisa os encontrem.
  • Notificações – Facilita o engajamento com recursos como notificações push.
  • Instalável – Permite que os usuários “guardem” os aplicativos mais úteis em suas telas iniciais sem precisar acessar uma loja de aplicativos.
  • Linkável – Compartilhe facilmente por URL, não requer instalação complexa.

Os PWAs, nesse sentido, são pensados como aplicativos web híbridos. Se isso soa familiar, é porque o Microsoft Desktop Bridge (Project Centennial) também é um sistema híbrido de programação clássica do Win32 e modernas API UWP. Os aplicativos híbridos que misturam e combinam conjuntos de recursos são um tópico popular nos dias de hoje e será ainda mais no futuro.

Quer um exemplo real de um PWA e como ele funcionaria?

Um dos exemplos mais proeminentes de um PWA moderno é o Twitter. Se você navegar até mobile.twitter.com no seu telefone ou mesmo no navegador do seu PC (não importa qual navegador), você pode experimentar o que é um PWA enquanto ele é apenas um site. Agora, pegue esse site, o empacote em um arquivo Microsoft APPX (UWP) e liste-o na loja e você possui um novo aplicativo do Twitter que oferece suporte a notificações e uma experiência nativa. A Plataforma Universal da Microsoft (UWP)  preenche as lacunas do PWA com suporte para notificações no Centro de Ações, Live Tiles, integração com Cortana, compartilhamento de metas e muito mais.

Resultado de imagem para Twitter PWA

Usando o Web Service Workers e o cache do “app” podem receber atualizações em tempo real e até mesmo trabalhar offline.

Embora o aplicativo PWA-UWP possa ser atualizado a qualquer momento, graças à Windows Store um monte de conteúdo torna-se bem dinâmico, o que significa que as empresas podem fazer alterações no backend e entregar novidades mais rapidamente a seus cliente sem sequer atualizar a aplicação na loja. Além disso, devido aos critérios anotados acima, como o suporte para HTTPS e a listagem da loja (“aplicativos siled”), os clientes sabem que o aplicativo está seguro.

Muito provavelmente ouvirmos muito sobre PWA na //build 2018, conferência mundial da Microsoft voltada para seu público desenvolvedor. Então, fique ligado que esse assunto ainda vai render 😉