O que são as PWA e de que modo mudarão a forma como usamos os nossos dispositivos?

28 Comentários

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.

Progressive Web Apps


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.

Comentários

28

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de andre
    andre

    salva vidar do Windows 10 phone, bem querem enterra-lo, mas não vao conseguir!!!! devia-se chamar Windows 10 Rambo.

  2. Avatar de Cortano
    Cortano

    Muito bom artigo Eduardo – como vem sendo hábito.

  3. Avatar de Carlos Ramos
    Carlos Ramos

    Bom artigo!
    É possível o tutorial para fazer uma PWA (com acesso à camera ou a um outro sensor)?

    1. Avatar de André Fontes
      André Fontes

      Se o browser tiver acesso aos sensores a web app também tem automaticamente acesso.

    2. Avatar de Adriano Oliveira
      Adriano Oliveira

      Eu já vi um exemplo em que o app pediu permissão pra ligar a câmera do meu leptop e depois ligou

    3. Avatar de Adriano Oliveira
      Adriano Oliveira

      Eu já vi um exemplo em que o app pediu permissão pra ligar a câmera do meu leptop e depois ligou

  4. Avatar de Helder
    Helder

    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)…

    1. Avatar de censo
      censo

      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.

  5. Avatar de Carlos Mogas da Silva
    Carlos Mogas da Silva

    “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.

    1. Avatar de Taptigpot
      Taptigpot

      Eu não o que estás a dizer, podes exemplificar?

    2. Avatar de Carlos
      Carlos

      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.

      1. Avatar de Carlos Mogas da Silva
        Carlos Mogas da Silva

        Ah pronto… então #mybad 😉

    3. Avatar de André Fontes
      André Fontes

      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 😉

  6. Avatar de S_junior
    S_junior

    As pwa influenciaram negativamente nos lucros das lojas?

    1. Avatar de Cortano
      Cortano

      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.

  7. Avatar de S_junior
    S_junior

    Vai salvar a vida de muitos android, vai melhor a loja da Microsoft, vai afectar o lucro da Apple…

  8. Avatar de sakura
    sakura

    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 “

    1. Avatar de Mr.Antunes
      Mr.Antunes

      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.

  9. Avatar de Joao Ptt
    Joao Ptt

    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á.

    1. Avatar de Mr.Antunes
      Mr.Antunes

      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.

  10. Avatar de PeFerreira98
    PeFerreira98

    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.

  11. Avatar de lj
    lj

    Uma dúvida: é o Big Brother generalizado ou pelo contrário?

  12. Avatar de Nuno
    Nuno

    Se eu guardar no ecrã principal uma PWA, ocupa memória no iPhone?

  13. Avatar de Nuno
    Nuno

    Se eu guardar no ecrã principal uma PWA, ocupa memória no iPhone?