Os aplicativos móveis podem usar uma arquitetura sem servidor?

Aplicativos móveis híbridos, que são aplicativos web que se comportam como aplicativos móveis nativos, podem ser construídos com um back-end sem servidor para aumentar a escalabilidade, reduzir custos e executar o código de qualquer local de hospedagem.

Objetivos de aprendizado

Após ler este artigo, você será capaz de:

  • Saber a diferença entre aplicativos híbridos e aplicativos nativos
  • Saber como aplicativos híbridos podem ser construídos com uma arquitetura sem servidor
  • Entender os benefícios de usar um back-end sem servidor

Copiar o link do artigo

Os aplicativos móveis podem usar uma arquitetura sem servidor?

A arquitetura sem servidor pode ser usada para construir aplicativos móveis, além de aplicativos web. Os aplicativos móveis híbridos com um back-end sem servidor permitem que os desenvolvedores incorporem os benefícios da computação sem servidor enquanto lançam aplicativos que funcionam como aplicativos nativos em quase qualquer smartphone ou tablet. Os aplicativos móveis sem servidor podem ser ampliados de forma rápida e fácil à medida que a base de usuários aumenta.

Diagrama de aplicativo para dispositivos móveis com back-end sem servidor

O que é um aplicativo para dispositivos móveis híbrido?

Aplicativos para dispositivos móveis híbridos e aplicativos para dispositivos móveis nativos são como dois carros que têm a mesma aparência, têm o mesmo interior e são dirigidos quase da mesma forma, mas têm motores muito diferentes sob o capô. Um aplicativo nativo é criado especificamente para um determinado tipo de dispositivo e sistema operacional e sua lógica é executada no próprio dispositivo.

Um aplicativo híbrido é um aplicativo web desenvolvido com HTML, CSS e JavaScript que é executado em algo chamado “wrapper nativo” para que possa funcionar como um aplicativo para dispositivos móveis nativo em uma variedade de dispositivos. Ao contrário dos aplicativos web regulares, os aplicativos híbridos podem acessar recursos específicos da plataforma, incluindo o hardware do dispositivo e a funcionalidade de notificação push específica para um determinado tipo de dispositivo. Esses aplicativos híbridos podem ser baixados da App Store ou Google Play e são instalados como aplicativos nativos, embora muitas vezes haja muito menos para baixar e instalar, já que a maior parte ou toda a lógica está hospedada em nuvem.

Os aplicativos híbridos se tornaram cada vez mais populares nos últimos anos, à medida que as preocupações com a performance foram abordadas por melhorias tecnológicas – por exemplo, Uber, Instagram e Twitter são todos aplicativos híbridos. Os desenvolvedores às vezes preferem usar uma arquitetura híbrida, em vez de construir aplicativos móveis nativos, para que o aplicativo não precise ser reconstruído em várias linguagens específicas de plataforma para dispositivos diferentes. Não é novidade que construir um aplicativo que funcione em vários dispositivos normalmente economiza tempo tanto no desenvolvimento quanto no suporte contínuo ao produto.

Como funciona um aplicativo móvel com back-end sem servidor?

Com aplicativos móveis híbridos, a computação ocorre na nuvem, não no dispositivo. Todos os processos de computação hospedados em nuvem para o aplicativo podem ser sem servidor, assim como um aplicativo web sem servidor; a única grande diferença entre um aplicativo web sem servidor e um aplicativo para dispositivos móveis híbrido sem servidor é o wrapper* nativo no front-end.

Assim como acontece com um aplicativo web sem servidor, o código do aplicativo é hospedado por um fornecedor sem servidor que lida com todo o gerenciamento de back-end. O aplicativo é dividido em partes menores chamadas funções e as funções não residem em nenhum servidor específico. Cada função é executada em resposta a eventos desencadeadores e a infraestrutura do fornecedor inicia novas instâncias de funções conforme necessário. Por exemplo, se um usuário tocar em um botão "Comprar" em um aplicativo com um back-end sem servidor, isso pode acionar uma função de back-end ou uma série de funções que iniciam, registram a transação e iniciam a entrega de tudo o que o usuário comprou.

Quais são os benefícios de construir um aplicativo para dispositivos móveis com um back-end sem servidor?

Os aplicativos para dispositivos móveis sem servidor oferecem os mesmos benefícios que a construção de um aplicativo web típico com um back-end sem servidor:

  • Escalabilidade: os aplicativos sem servidor são escaláveis automaticamente
  • Menos despesas gerais: o fornecedor administra todo o back-end
  • Atualizações rápidas: os desenvolvedores podem atualizar as funções uma de cada vez, em vez de atualizar um aplicativo inteiro de uma vez e não há necessidade de esperar que os usuários instalem as atualizações
  • Pay-as-you-go: os desenvolvedores pagam apenas pelo poder de computação que o aplicativo usa, o que pode reduzir os custos contínuos
  • Execute o código em qualquer lugar: o código pode ser executado em uma rede de borda a fim de reduzir a latência

Para saber mais sobre os aplicativos sem servidor construídos usando JavaScript, consulte Como funciona o JavaScript sem servidor?

*Como funciona um wrapper nativo?

Os aplicativos híbridos podem funcionar como aplicativos nativos, aproveitando o WebView do dispositivo. Um WebView é um navegador interno do dispositivo que exibe o aplicativo como um navegador faria, ao mesmo tempo que oferece aos desenvolvedores maior flexibilidade para personalizar a aparência de seu aplicativo do que um navegador normal. Além disso, a maioria dos WebViews permitirá que o aplicativo acesse recursos de hardware no dispositivo por meio de uma API.

Por exemplo, quando um usuário abre o Instagram, o aplicativo parece um aplicativo nativo que está sendo executado no dispositivo. Mas, na verdade, o WebView do dispositivo está renderizando páginas web geradas pelo Instagram. O feed de imagens que os usuários veem ao abrir o aplicativo pela primeira vez é uma página da web e todas as páginas subsequentes que eles visitam são páginas da web, embora sintam que fazem parte de um aplicativo nativo. O Instagram também é capaz de acessar a câmera do dispositivo e as fotos armazenadas, apesar de não ser um aplicativo nativo e pode enviar notificações push.