O que são as PWA e de que modo mudarão a forma como usamos os nossos dispositivos?
Em 2014, aqui no Pplware, colocámos as aplicações nativas em "confronto" com as web apps. A verdade é que os conceitos, do ponto de vista pragmático, não se aproximam assim tanto e acabam por se complementar nas possibilidades que oferecem ao utilizador.
Desde então as web apps evoluíram imenso e hoje existe o conceito de Progessive Web App (PWA) que está cada vez mais em voga e com mais adesão por parte das empresas e prestadoras de serviços. A própria Google foi pioneira no conceito e a Microsoft está a seguir esse caminho, a implementar já na Spring Creators Update.
O que é uma PWA?
Uma web app distingue-se de uma aplicação nativa pelas suas capacidades de ser executada em várias plataformas, independentemente do sistema operativo, pois é executada na web através do browser. Isto dispensa a instalação de uma aplicação, estando acessível através do típico URL, o que poupará recursos e memória no dispositivo. Para além disso, alterações e atualizações numa web app são facilmente aplicadas e aprovadas para implementação junto do utilizador. A utilização do browser e de web apps é mais comum no computador, ao passo que as aplicações nativas estão enraizadas nos nossos smartphones.
As aplicações nativas destacam-se das web apps pela sua profundidade e qualidade na experiência de utilização. O facto de serem desenvolvidas propositadamente para um certo sistema operativo e para um certo espetro de dispositivos concede possibilidades mais interessantes. Ao serem instaladas no dispositivo permite que tenham acesso a sensores do dispositivo, notificações, execução offline e em segundo plano, performance tipicamente superior... Tudo com vista em proporcionar uma experiência de utilização superior face às web apps, mais fluida e natural. Ao não estarem disponíveis através de um URL, por norma estão centralizadas e agrupadas em lojas de aplicações, outra caraterística mais amigável para o utilizador.
O conceito de Progressive Web App nasceu em 2015, pelo engenheiro da Google Alex Russell, e pretende juntar o útil ao agradável nestas barreiras pragmáticas que existem entre as web apps e as aplicações nativas. Através da memória cache e dos "service workers" propostos pelo conceito, concede algumas caraterísticas das aplicações nativas a este novo tipo de web apps, nomeadamente a capacidade de serem executadas offline e em segundo plano, consequentemente tendo a possibilidade de enviar notificações para o utilizador.
Segundo o Google Developers, uma PWA é progressiva e responsiva, adaptando-se ao dispositivo em que está a ser executada; independente de conectividade devido aos "service workers" indicados anteriormente que lhes permitem funcionar offline; segura, atual e semelhante a aplicações nativas pois o processo de atualização e manutenção é semelhante ao de uma página web; "linkável" e possível de instalar no dispositivo, tal como acontece quando acede ao Instagram pelo Chrome no seu Android, em que após o início de sessão é sugerido pelo site que anexe a PWA no ecrã inicial.
Que utilidade e futuro têm as PWA?
Entendido o conceito de PWA e algumas das suas caraterísticas que as marcam como uma notória evolução das web apps, é momento de analisar o enquadramento que as PWA poderão ter na vida do utilizador.
Atualmente existem mais de um milhão de aplicações disponíveis para transferir na App Store e na Google Play. Apesar desta imensa oferta, grande parte dos utilizadores restringem a sua utilização a algumas dezenas de aplicações referentes a serviços e produtos de grandes empresas como o Facebook e outras redes sociais, serviços de comunicação, serviços da Google, Microsoft ou Amazon... Ou seja, muitas aplicações não são usadas pelos utilizadores, especialmente aplicações desenvolvidas por start-ups e empresas de pequena dimensão, destinadas a um uso muito específico.
Tem instaladas no seu dispositivo as aplicações de estacionamento que variam de cidade para cidade, as aplicações de cada supermercado onde faz as suas compras ou dos centros comerciais que costuma frequentar? Os exemplos descritos anteriormente são apenas uma mera demonstração das inúmeras "aplicações de ocasião" que existem mas que os utilizadores não instalam nos seus equipamentos, apesar de usarem os serviços ou produtos disponibilizados pelas empresas.
Uma solução para esta realidade poderá ser o desenvolvimento de PWAs ao invés de aplicações nativas. As PWA são bastante mais baratas de desenvolver e manter, oferecem uma experiência de utilização satisfatória e são multi-plataforma. Ou seja, uma PWA consegue, em certos casos como os indicados acima, substituir a necessidade de desenvolver uma aplicação para iOS e Android - podendo ainda haver a possibilidade de também desenvolver para Windows -, resultando numa poupança considerável e numa experiência final igualmente boa.
Do lado do utilizador, as vantagens também são existentes. As PWA ocupam menos espaço de armazenamento e são mais descartáveis que as aplicações nativas. Para serviços de utilização espontânea ou ocasional, uma PWA adequa-se perfeitamente. O utilizador tem a possibilidade de as usar sem as anexar no seu dispositivo, através do URL, não necessitando desta forma de instalar nenhuma aplicação.
Todavia, as PWA também têm as suas desvantagens face às aplicações nativas. Visto que são multi-plataforma, o design não se adequa aos padrões de cada plataforma ou sistema operativo, resultando num design genérico ou padronizado. A performance e profundidade na experiência de utilização, mesmo com a utilização da memória cache e dos "service workers", não é tão boa como as das aplicações nativas. O facto de as PWA serem executadas na web tem as suas desvantagens nestes aspetos.
Adoção das PWA pelas grandes tecnológicas
Mozilla, Google, Microsoft e Apple são empresas-chave nesta jornada das PWA. Os seus browser são os mais usados do mundo e têm de estar adaptados para suportar as PWA.
A Google foi pioneira na adoção deste novo tipo de web apps e atualmente o Chrome já suporta PWAs a 100%, juntamente com o Mozilla Firefox que também as suporta desde o Firefox 58. O Edge da Microsoft irá receber suporte a PWAs na próxima grande atualização do Windows 10, a Spring Creators Update. A Apple, relativamente ao seu Safari, ainda não adiantou nenhuns progressos nem intenções de suportar as PWA.
A Microsoft, na adoção e integração das PWA, foi um pouco mais longe e estas já se encontram disponíveis na própria Microsoft Store. A empresa de Redmond facultou uma ferramenta de conversão simples de PWA em UWP (Universal Windows Platform), num programa denominado Bing crawler, de modo a estas poderem ser instaladas e tratadas como se fossem aplicações nativas. Transformadas em UWP, as PWA terão maior integração no sistema operativo, incluíndo as famosas Live Tiles. A nova aplicação do Twitter para Windows 10 é uma PWA convertida e já existem algumas dezenas na loja de aplicações do Windows. A Microsoft com este incentivo de submissão de PWA na sua loja de aplicações luta uma vez mais contra o défice de aplicações que assombra o Windows desde os tempos do Windows Phone 7.
Para a Google, o sucesso das PWA só a favorece, tendo em conta que as PWA são executadas e baseadas na web e o núcleo de negócio da Google é esse mesmo, a web e todo um conjunto de serviços adjacentes.
Não obstante, não basta que as grandes tecnológicas desenvolvedoras dos browsers suportem as PWA. As restantes empresas e serviços têm de criar PWAs tal como criam aplicações nativas atualmente. Poderão aproveitar estas duas possibilidades e desenvolver a que lhes for mais conveniente e rentável, tanto para si como para o utilizador. As aplicações nativas e as PWAs acabam por viver em complementaridade.
Twitter, Instagram e Telegram são três excelentes exemplos de empresas que já adotaram as PWAs. Se quiser descobrir outras PWAs muito boas, pode seguir este link.
Este artigo tem mais de um ano
salva vidar do Windows 10 phone, bem querem enterra-lo, mas não vao conseguir!!!! devia-se chamar Windows 10 Rambo.
Como é?
Muito bom artigo Eduardo – como vem sendo hábito.
Bom artigo!
É possível o tutorial para fazer uma PWA (com acesso à camera ou a um outro sensor)?
Se o browser tiver acesso aos sensores a web app também tem automaticamente acesso.
Eu já vi um exemplo em que o app pediu permissão pra ligar a câmera do meu leptop e depois ligou
Eu já vi um exemplo em que o app pediu permissão pra ligar a câmera do meu leptop e depois ligou
Segue o link de um exemplo https://stackblitz.com/edit/zxing-ngx-scanner
PWA foi a Apple que as inventou, e no inicio, o iPhone não era para ter Apps normais, mas apenas PWAs. Mas as pessoas quiseram o contrário e pediram Apps (até se fez o jailbreak mesmo para isso)…
Toda a gente diz que a invenção vem de um engenheiro da Google, aliás, até o artigo o diz, mas …tu lá sabes.
“o que poupará recursos e memória no dispositivo”
Não vejo nenhuma PWA a fazer isto, principalmente aquelas que são distribuídas em “bundle”.
A maior parte delas, vem com um browser embutido, portanto basicamente estamos a correr um browser extra (com todo o overhead que isso implica), para abrir ficheiros locais. E mais grave ainda, conheço uma aplicação que para além do browser, ainda tem um webserver embutido, isto tudo para correr uma app num tlm. Conclusão, em vez de ocupar no *maximo* 100MB de RAM, ocupa quase 1.1 GB.
Eu não o que estás a dizer, podes exemplificar?
Isso que refere é uma aplicação android com uma web app embutida, não é uma PWA. Uma PWA é um website que fica em cache e pode executar offline. Além que o chrome lhe atribui um atalho e um icone, como se fosse uma app tradicional.
Ah pronto… então #mybad 😉
Do conteúdo das PWA, o que chega aos utilizadores é simplesmente um link por isso é que muitas vezes até é o utilizador que tem de adicionar o atalho, por isso tenham atenção aquilo que dizem 😉
As pwa influenciaram negativamente nos lucros das lojas?
No caso da Google e MS não (como refere no artigo, a Google até ganha mais se o trafego gerado for via net e não app).
o caso da Apple sim, pode ter impacto.
Publicar pwa nas 3 stores
https://www.windowsteam.com.br/publicar-um-pwa-nas-3-lojas-nao-e-algo-tao-simples/
Vai salvar a vida de muitos android, vai melhor a loja da Microsoft, vai afectar o lucro da Apple…
Hoje a actualizar o Java fiquei a saber que vai ser para pagar…..
PWA….. “”pois é executada na web através do browser””
e Quem vai pagar o custo de isso? “tempo de computação dos servidores “
http://blog.qt.io/blog/2018/04/23/beta-qt-webassembly-technology-preview/
Não propriamente, pois uma das possibilidades das PWA é funcionar offline.
Quem vai pagar vai ser mesmo o dispositivo pois tem de processar o JavaScript, que hoje em dia já não é tão mau (com os novos “motores” dos browsers) mas mesmo assim não acredito que nos próximos tempos as PWA sirvam para tarefas complexas.
Alguém só se “esqueceu” que o volume de tráfego na maior parte dos smartphones a nível mundial está bastante limitado e vai ao ar num instante… e imensos utilizadores não têm sequer planos de dados porque ou são caros ou o volume de dados é ridiculamente baixo para o preço cobrado… e ficam-se pelo Wi-Fi… o que limita a utilidade de aplicações que precisem de estar on-line para serem realmente úteis.
Não existir planos tarifários, a nível mundial, de tráfego verdadeiramente ilimitado com uma largura de banda mínima aceitável (actualmente uns 8Mbps/ 8 Mbps) a preços muito baixos é que está a limitar a expansão e o sucesso nesta área. Tudo indica que vai continuar assim nos próximos anos, e até piorar bastante (como o comprovam os planos tarifários segmentados por aplicações).
A única coisa que poderia ultrapassar esta limitação seria a disponibilização dos tais satélites de órbita baixa directamente aos clientes sem ser por intermédio de terceiros, mas sim directamente pelos seus prestadores (com escritórios locais em cada país claro)… e que tivessem uma política de tráfego verdadeiramente ilimitado nem que fosse com largura de banda baixa (8/8 Mbps ou similar)… só isto forçará os operadores vigentes a deixarem-se de limites artificiais nada mais o fará.
Leste o artigo? Não parece…
Um dos problemas que as PWA (não é bem as PWA mas sim os ServiceWorkers) vêm resolver é precisamente o ficar offline, ter pouco tráfego ou só estar ligado de vez em quando por wifi.
Muita gente aqui nos comentarios precisa de lições de HTML+CSS+JS…
On topic: PWA é uma excelente solução para serviços simples. Para serviços mais complexos pode não o ser. No entanto, não estou a ver empresas a adotar este paradigma. Para além disso, indiretamente vai aumentar e muito a qualidade dos sites em desktop.
Uma dúvida: é o Big Brother generalizado ou pelo contrário?
Se eu guardar no ecrã principal uma PWA, ocupa memória no iPhone?
Se eu guardar no ecrã principal uma PWA, ocupa memória no iPhone?