Ionic 3 x React Native x Flutter x Qt Framework

Ionic vs React Native vs Flutter vs Qt

Escolher um bom framework é um trabalho muito importante para um analista de sistemas. No entanto, essa tarefa muitas vezes é deixada de lado pela correria do projeto ou por falta de alinhamentos mesmo. Por conta disso, muito se perde com uma escolha, má planejada, de framework.

Com base em alguns tópicos importantes para a escolha de um dado projeto é que realizamos um levantamento para comparar os principais frameworks mobile do mercado que são estes Ionic, React Native, Flutter, Qt Framework e com base nestas informações poderemos analisar qual ferramenta utilizar em nossos projetos.

Para saber como o React Native funciona clique aqui.

Algumas das ferramentas apresentadas neste post possuem pontos negativos bem como também pontos positivos e alguns apresentam mais pontos que outros. No entanto o que devemos salientar é que cada framework tem sua particularidade e portanto finalidades distintas.

Ou seja, é preciso levantar os principais requisitos do seu projeto e orientando-se por estes, ser capaz de escolher o framework que melhor se adequa às necessidades do projeto.

Os critérios que serão levados em conta para a escolha ou não do framework são:

    • Licença de Uso
    • Suporte da Comunidade
    • Codebase
    • Linguagem Nativa
    • Tamanho do Binário (Binary size)
    • Versão Estável (Stable version)
    • Interface Gráfica (GUI)
    • Tabela Comparativa

Licença de Uso

Ionic, React Native, Flutter tem suas licenças de uso opensource onde pode-se usar, modificar e distribuir o software da maneira que desejar.

Suporte da Comunidade

O suporte da comunidade que merece destaque vai para o React Native pois foi o repositório no github com maior número de contribuidores ativos.

Codebase

Codebase é a linguagem em que o app pode ser escrito ou a linguagem que o framework suporta.

Qt Framework

Suporta a linguagem C++, bem madura no mercado, que chega a rodar quase perto da performance nativa.

Ionic 3, React Native

Ambos suportam a linguagem Typescript, uma evolução do javascript, que é relativamente nova no mercado.

Flutter

Suporta linguagem Dart, também muito nova, nasceu em 2011. Foi desenvolvida pela Google e tem como objetivo substituir o javascript.

Linguagem Nativa

Ionic 3 e Qt Framework não tem suporte a linguagem nativa do dispositivos móveis. O ionic usa HTML,CSS,JS que por sua vez é renderizado na própria webview do aparelho. Já o Qt usa uma abordagem diferente, mas interessante, ele executa código nativamente usando C++ que chega a ser tão rápido que parece ser nativo, mas não é.

Flutter também não tem suporte a linguagem nativa o que ele faz é executar o código Dart em código nativo o que também permite um ganho significativo de performance.

React Native ganha destaque nesse quesito pois no final das contas ele cria um aplicativo em linguagem nativa. Para realizar isso ele usa um compilador interno de typescript e cria componentes nativos da linguagem seja android ou ios.

Tamanho do Binário (Binary Size)

Segundo alguns posts da comunidade Qt o apk chega aproximadamente 16MB pois adiciona uma série de bibliotecas ao apk que são usadas para dar permissão aos recursos do dispositivo.

Os Frameworks que apresentaram menor tamanho de APK foi o ionic e o React Native.

Versão Estável (Stable Version)

Todos os projetos estão em versão estável ou seja prontos para usar em produção.

Interface Gráfica (GUI)

React Native tem interface gráfica nativa, pois possui componentes que são criados para serem manipulados pelo typescript.

O Flutter usa o próprio Dart para escrever sua interface gráfica, no entanto não gera código nativo.

Ionic 3 possui um conjunto de componentes prontos para serem utilizados. No android ele usa o Material Design do Google no iphone, ipad, ipod usa o iOS styles.

Qt Framework possui uma linguagem própria, chamada QML, para criação de suas interfaces.

Tabela Comparativa

Ionic 3React NativeFlutterQt
Licença de UsoMITMITChromium AuthorsLGPL v3
ComunidadeAtiva (231 contribuidores)Ativa (1640 contribuidores)Ativa (180 contribuidores)
Code baseTypescriptTypescriptDartC++
Linguagem NativaNãoSimNãoNão
Binary Size~ 5MB~5MB~8MB~16MB
StableSimSimSimSim
GUIHTML/CSS/JSNativoNativoQML
Use CasePacifica
Sworkit
Facebook, Instagram, WalmartAlibaba
Google Ads
AppTree
MuseScore
Julio Alves
administrator
Julio Alves é desenvolvedor web com mais de 8 anos de experiência, amante de PHP, Javascript, NodeJS, Ionic e ReactNative. Graduado em Sistemas de Informação pela Faculdade Estácio FIC do Ceará. Acredita que para se tornar um bom programador é preciso sobretudo ser esforçado e aberto para aprender todos os dias.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Lançamento Novo Curso de PHP 7
Lançamento Novo Curso de PHP 7