Possible Possible Technology Technology Tecnologia
aplicativo hibrido nativo pwa possible

Aplicações nativa, web e híbrida

Há mais de 8 anos em Possible temos vindo a desenvolver soluções digitais que requerem aplicações concebidas e adaptadas para serem utilizadas em dispositivos móveis.

Quais são as opções?

Há várias opções ao desenvolver ou digitalizar processos a serem utilizados pelos utilizadores finais em plataformas ou dispositivos móveis. Neste post discutiremos as mais utilizadas que são: Aplicativo híbrido, nativo ou PWA.

Aplicações nativa, web e híbrida possible app

Aplicação web (Progressive Web App)

As PWA são aplicações web, ou seja, páginas web, mas são concebidas e desenvolvidas para que possam ser utilizadas a partir de dispositivos móveis (comprimidos ou telemóveis). Neste caso, deve ser tido em conta que para a aplicação web funcionar em diferentes dispositivos móveis tem de ser concebida e programada para este fim. Caso contrário, a interface gráfica (o que o utilizador vê) não será visível, legível e utilizável a partir de Tablet ou de dispositivos móveis.

O principal desafio é tornar a aplicação web Responsiva, isto significa que os elementos do ecrã se adaptam à medida que o ecrã muda de tamanho e resolução. Fazer uma aplicação web reactiva pode ser simples e barato se utilizar modelos ou ferramentas de desenvolvimento que já foram concebidos para este fim. Se for uma aplicação web extensa, complexa e feita à medida, o custo aumentará tanto no desenho gráfico como na programação, porque o desenho original para ecrãs de secretária deve ser adaptado a ecrãs móveis.

Geralmente, em projectos com desenhos personalizados, são normalmente especificados 2 viewports (tamanho da janela) para os quais adaptar o desenho, um para comprimidos e outro para telemóveis. O que significa que em tamanhos intermédios pode não parecer bem, ou seja, não será 100% Responsiva mas será adaptada a 2 ou 3 tipos de ecrã, o que é geralmente suficiente para que a aplicação seja utilizada em 99% dos dispositivos móveis no mercado.

Actualmente existem as chamadas aplicações Web progressivas, que incluem características como o envio de notificações, e outras características mais típicas das aplicações híbridas ou nativas, e é importante tê-las em conta ao considerar as opções para levar a cabo uma solução móvel.

Aplicação nativa

Por outro lado, temos a opção de aplicações nativas, isto significa que é uma aplicação para Android, uma para iOs, para Windows, etc. Ou seja, desenvolver a aplicação móvel, no ambiente, na linguagem e para o sistema operativo em questão.

Esta é a opção com a qual se atinge o mais alto nível de detalhe, pois permite utilizar ao máximo as opções e características de cada sistema operativo. Além disso, permite o acesso a todos os elementos móveis (gps, giroscópios, câmara, etc …) de uma forma mais directa e simples.

Aplicação híbrida

E finalmente, encontramos as aplicações híbridas. Estas aplicações são uma mistura de aplicação web e aplicação nativa. Neste caso, teremos uma aplicação móvel que pode aparecer nas lojas de aplicações e ser descarregada tanto para Android como para iOS. Contudo, a programação destas aplicações é realizada em linguagens e ambientes web e o conteúdo da aplicação é, na sua maioria, web. As principais plataformas para o desenvolvimento deste tipo de aplicações são Xamarin, Ionic, Apache Cordova ou Flutter.

No caso das aplicações híbridas, a navegação e certos aspectos da aplicação parecem nativos e alguns deles são, noutros casos como as formas, apresentação de informação … são web, por isso são chamados híbridos.

Além disso, este tipo de aplicação tem ou permite características que as aplicações web não têm, tais como o acesso a vários elementos do telemóvel como a câmara, GPS, a capacidade de guardar ficheiros de dados e a utilização de diferentes memórias do telefone para guardar dados da aplicação, etc.

Pelo contrário, a maioria destas características são desenvolvidas sob invólucros (ou plugins) e quando falham é difícil chegar à raiz do problema porque no final não são desenvolvidas no código do próprio dispositivo.

A grande vantagem desta última é a possibilidade de se desenvolver num único ambiente e de se implantar em vários ao mesmo tempo.

Aplicações nativa, web e híbrida

Porquê escolher a aplicação Responsive Web App?

Se o que procura é um website que possa ser utilizado em dispositivos móveis e toda a funcionalidade for desenvolvida para utilização em computadores, esta é sem dúvida a melhor solução. Significa não ter de contratar programadores específicos para desenvolver tecnologias de aplicação híbridas e/ou nativas, e a mesma empresa ou programadores que fizeram o website para desktop podem fazer as adaptações necessárias para utilização móvel. Se o produto ainda estiver na fase de concepção, devem ser feitas as seguintes perguntas:

  • Precisamos de funcionalidades específicas ou de acesso a componentes e serviços do telefone ou tablet tais como giroscópios, câmara ou telefone, microfone, impressões digitais ou identificador facial, etc…?
  • Precisamos da aplicação para trabalhar sem ligação à Internet?
  • É necessário que a aplicação tenha um ícone e possa ser descarregada a partir do Google ou de lojas de maçãs?
  • Precisamos que o utilizador receba notificações directamente para o telefone?

Se a resposta a estas perguntas for Não ou se a aplicação puder ser feita sem qualquer destas características, então a melhor opção é fazer uma aplicação web ou uma aplicação web com capacidade de resposta.

Porquê escolher a aplicação híbrida?

Se, por outro lado, precisarmos que a aplicação possa ser descarregada, realizar acções offline, receber notificações e/ou aceder a determinados serviços telefónicos, então a aplicação híbrida é muito provavelmente a nossa melhor opção.

Esta opção está acima das aplicações híbridas, se não nos importarmos de ter o mesmo design gráfico para todas as plataformas, e que não há diferença entre o iOS e o Android, por exemplo, ou se não haverá diferenças entre um sistema operativo e outro.

É também uma boa opção quando as funcionalidades a serem desenvolvidas são relativamente simples e a aplicação não requer a utilização das bases de dados do telefone.

O desenvolvimento é feito numa língua e numa plataforma, o que reduz o tempo e os custos de desenvolvimento em comparação com uma simples aplicação nativa.

Aplicações nativa, web e híbrida

Porquê escolher a aplicação  nativa?

Quando é que uma aplicação nativa começa a dar frutos versus uma aplicação híbrida? Por exemplo, para jogos de vídeo ou aplicações que devem ser eficientes na utilização de recursos telefónicos, memória, processador e outros serviços ou funções. Também se quiser que o aspecto e a sensação da aplicação seja diferente no Android e iOS e respeitar a usabilidade de cada plataforma (por exemplo, os menus e a navegação são muito diferentes no Android e iOS).

Além disso, o desenvolvimento de funcionalidades baseadas em elementos telefónicos como câmara, microfone, bluetooth, wifi, giroscópios, acelerómetros… pode dar problemas na fase de teste em alguns telefones quando são desenvolvidos em soluções híbridas, porque existem muitos telefones diferentes com variações. Por exemplo, o sistema operativo comunica com os diferentes elementos do móvel e os plugins ou invólucros de aplicações híbridas para fazer certas coisas com as ferramentas de um móvel pode não funcionar bem em todos os dispositivos.

Portanto, se o que queremos é garantia, eficiência e desempenho e diferenciação entre iOS e Android, será melhor optar por desenvolver cada aplicação nativamente.

Por isso sabe…

Você também pode estar interessado neste artigo

Author

Iago Ocarranza