E ai pessoal, tudo bom? Pokemaobr aqui novamente para trazer mais um tema bem legal para a galera dev do blog Locaweb. Hoje iremos falar sobre desenvolvimento híbrido de aplicativos.

Há uma grande discussão entre desenvolver nativamente para dispositivos móveis ou utilizar plataformas/bibliotecas de desenvolvimento híbrido. Obviamente se você precisar desenvolver algo que necessite de acesso total às APIs de um sistema operacional para mobile específico, você deverá optar por desenvolver nativamente; além de outras situações onde é necessário um acesso a hardware específico, bem como performance impecável ou outras coisas do tipo.

Porém, em grande parte das vezes que você precisar desenvolver uma aplicação mobile de uso geral, pensando em custo de desenvolvimento, reaproveitamento de código, manutenção de aplicativo para mais de um sistema operacional, entre outros. Uma opção muito significativa é a de utilizar uma biblioteca/framework/plataforma para desenvolvimento híbrido de aplicativos.

Navegue pelo índice

    O que é desenvolvimento híbrido?

    O desenvolvimento híbrido se baseia em utilizar linguagens não nativas (JavaScript, C#, Dart, etc) e transformar esse código em código nativo de cada sistema operacional, ou utilizar uma espécie de bridge (ponte) entre o código escrito nessa linguagem e a máquina virtual que executa os aplicativos que rodam em cima do sistema operacional utilizado. Lembrando que as linguagens nativas de desenvolvimento mobile são: Java, Kotlin, Objective-C e Swift.

    Antigamente era difícil um aplicativo híbrido acessar certos tipos de APIs do sistema operacional mobile, porém, com o passar do tempo essas tecnologias foram evoluindo e sendo cada vez mais completas para desenvolver diversos tipos de aplicativos e acessar cada vez mais funcionalidades, sejam coisas mais específicas do hardware ou do software dos dispositivos mobile.

    Existem diversos modos de desenvolver aplicativos móveis, porém, nesse artigo irei falar sobre 3 tipos de bibliotecas/frameworks/plataformas para desenvolvimento desse tipo de aplicação. São plataformas muito utilizadas pela comunidade de desenvolvimento mobile e também utilizam plataformas mais sólidas para esse desenvolvimento.

    São elas: Frameworks/Bibliotecas para Javascript, .NET MAUI e Flutter.

    Desenvolvimento híbrido: frameworks/Bibliotecas para JavaScript

    A linguagem JavaScript possui diversas implementações, bibliotecas e frameworks diferentes para desenvolvimento mobile, vamos conhecer alguns deles.

    React Native

    O React Native é baseado no React e é suportado pelo Facebook. É uma das bibliotecas mais conhecidas para desenvolvimento mobile utilizando JavaScript. Em 2018 teve o 2º maior número de contribuidores em comparação a todos os repositórios do GitHub. Com o React Native você desenvolve de maneira declarativa, baseado em componentes, com hot reload (não é necessário “compilar” o aplicativo para ver as modificações após uma mudança de código).

    Quasar

    O Quasar é um framework baseado em Vue.js de código aberto que permite que uma pessoa desenvolvedora crie rapidamente sites/aplicativos responsivos e também aplicativos móveis Android, iOS, etc. O interessante é que com ele você pode desenvolver SPAs, PWAs, aplicativos desktop e muito mais.

    desenvolvimento híbrido

    NativeScript

    O NativeScript é um framework open-source para desenvolvimento de aplicações mobile para iOS e Android. As aplicações utilizando NativeScript são desenvolvidas usando JavaScript ou qualquer coisa que transpile para JavaScript, como por exemplo o TypeScript. Além de suportar frameworks JavaScript como Angular ou Vue para seu desenvolvimento.

    Apache Cordova

    O Apache Cordova oferece um grupo de APIs que permitem desenvolver uma aplicação com HTML, CSS e JavaScript que pode ser encapsulada como uma aplicação móvel nativa e que pode acessar funções nativas do dispositivo como GPS ou câmera.

    Além dessas, outras plataformas e bibliotecas baseadas em JavaScript podem também ser utilizadas para desenvolvimento mobile.

    Outros frameworks

    .NET MAUI

    Para quem desenvolve em .NET o .NET MAUI é um framework open source da Microsoft que estende a plataforma .NET com ferramentas e bibliotecas especificamente utilizadas para criar aplicativos para Android, iOS, tvOS, watchOS, macOS e Windows. Ele é uma evolução do Xamarin.

    O .NET MAUI oferece uma estrutura base para acessar recursos nativos dos dispositivos móveis, uma linguagem de marcação XAML para criar aplicativos móveis dinâmicos utilizando C# e bibliotecas específicas de cada plataforma.

    Com o .NET MAUI é possível criar aplicações com acesso a todas as funcionalidades expostas pelos dispositivos como ARKit, CoreML, Fingerprint, Bluetooth, NFC e muito mais.

    Caso você seja do C#, o .NET MAUI é uma ótima maneira de você desenvolver aplicações móveis. Além disso, você pode desenvolver um projeto único com código compartilhado que pode ser direcionado para o sistema operacional que você desejar: iOS, macOS e Windows.

    Conheça o servidor VPS da Locaweb e aumente a performance dos seus projetos!

    SAIBA MAIS

    Flutter

    O Flutter é um framework de código aberto do Google para criar aplicativos multiplataformas compilados nativamente a partir de uma única base de código.

    Utilizando a linguagem Dart, o Flutter é uma das plataformas de desenvolvimento híbrido mais hypadas do momento. Já que o Google reativou o projeto Dart exatamente para poder ser utilizado com o Flutter.

    Inclusive algumas empresas deixaram de desenvolver aplicativos com outras tecnologias para começar a usar o Flutter, como: Alibaba e Ebay.

    Com ele você pode desenvolver uma vasta qualidade de aplicativos móveis utilizando uma linguagem que utiliza o paradigma orientado a objetos.

    Bem, vimos que temos várias maneiras de desenvolver aplicativos híbridos, agora basta você escolher uma de acordo com seu conhecimento em cada linguagem e de acordo com o tipo de problema que a tecnologia que você escolher resolve. Desejo que tenha te ajudado a conhecer um pouco mais sobre esse tipo de desenvolvimento.

    Um grande abraço e até a próxima.

    O autor

    Rodrigo Cardoso (Pokemaobr)

    Conhecido como Poke, é Streamer (Live "Coder") na Twitch, Web Developer e apresentador do talk show "The Velopers". Com bacharelado em Matemática e MBA em SOA, Poke atua como desenvolvedor e organizador de eventos de TI. É evangelista PHPSP e criador do PokePHP, focando em disseminar conteúdos técnicos e humor para a comunidade de desenvolvedores. Nas horas vagas, ele adora se conectar com a comunidade e compartilhar seu conhecimento de maneira divertida e informativa.

    Veja outros conteúdos desse autor