Flutter – Vale a pena investir nesse framework?
O Flutter permite o uso do mesmo código para as plataformas iOS e Android. Mas será que esse framework é confiável? Continue lendo esse artigo e descubra!
Com o intuito de acelerar o desenvolvimento de um aplicativo mobile, o Flutter é um framework híbrido que usa a linguagem Dart e que permite que um mesmo código seja utilizado tanto para plataformas iOS quanto Android.
Todavia, será que vale a pena confiar e investir tempo em um framework tão recente, considerando o histórico de outras plataformas como React-Native e Ionic, que prometeram muito em seu surgimento, mas que com o tempo acabaram decepcionando os usuários?
Para responder essa pergunta, mostraremos alguns pontos que se destacam e tornam o Flutter mais promissor do que os outros frameworks híbridos.
COMPARAÇÃO DE DESEMPENHO
Antes de mais nada, devemos lembrar que o Flutter foi lançado oficialmente em 2018. Contudo, foi no ano seguinte, na versão 1.12, que o framework começou a se popularizar, já que sua alta velocidade de processamento chamou a atenção dos Devs.
Afinal, mesmo sendo uma plataforma híbrida, o Flutter tem um desempenho de FPS, CPU, memória e GPU muito próximo aos nativos, Kotlin e Swift.
Para demonstrar esse desempenho, a inVerita realizou alguns testes comparativos com diferentes frameworks a fim de medir o uso intensivo de memória. O resultado foi o seguinte:
Teste comparativo com Android
De acordo com o gráfico, podemos observar que:
- O Flutter teve um desempenho 20% mais lento que as plataformas nativas Android.
- O React-Native foi 15 vezes mais lento que as plataformas nativas.
Teste comparativo com iOS
Surpreendentemente, ao avaliarmos o gráfico iOS, temos o seguinte resultado:
- O Flutter é 15% mais rápido que o Swift.
- O React-Native é 20 vezes mais lento que o Objective-C.
O desempenho mostrado está ligado ao fato de o Flutter não possuir intermediários como, por exemplo, o React-Native, que possui as chamadas Bridges durante sua compilação.
Widgets Próprios
Uma outra vantagem do Flutter é que ele contém seus próprios widgets, que tornam seu processamento mais rápido, com uma interface mais leve e sem problemas de compatibilidade com versões antigas de iOS ou Android.
Ou seja, o Flutter permite que os aplicativos sejam mais modernos e bonitos mesmo em versões mais antigas dos sistemas operacionais, garantindo que os usuários tenham uma ótima experiência.
Além disso, as animações em Flutter rodam em até 60 FPS podendo ser compiladas para o nativo sem depender de uma VM ou de widgets.
Suporte oficial da Google e comunidade forte
Um outro fator importante é a questão do suporte, já que sem isso os desenvolvedores ficam sem poder contar com uma fonte raiz de informações sobre a tecnologia usada.
Por isso, como mantenedora do framework, a Google oferece uma documentação atualizada com vídeos curtos e explicativos sobre o uso de cada um de seus widgets.
Tanto quanto a Google, a Comunidade Flutter também é bem ativa e receptiva, com inúmeras bibliotecas e muito comprometimento com a evolução da plataforma.
Inclusive, a falta de bibliotecas era um dos grandes problemas do framework, situação que mudou muito desde o crescimento da plataforma.
Atualmente podemos contar com as mais diversas bibliotecas: BloC e MobX, para gerenciamento de estados; Slidy para auxiliar na geração da estrutura de projetos em Flutter e muitas outras.
Hot Reload
Tanto quanto as facilidades mencionadas acima, uma outra grande vantagem do Flutter para os desenvolvedores é a função Hot Reload.
Essa função permite qualquer alteração feita no código, tanto em layout quanto em funcionalidades, possa ser vista em menos de um segundo nos emuladores ou simuladores.
O que agiliza o desenvolvimento e auxilia na correção de bugs, permitindo testá-los de forma instantânea, aumentando muito a produtividade.
Assim como comparamos a velocidade do Flutter com o React-Native, comparamos também o Hot Reload de ambos. O resultado é o seguinte:
- No React, é recarregada a aplicação desde o começo;
- No Flutter é apenas recarregada a tela alterada e de forma muito mais eficiente.
Construção de Layouts
Quando falamos do desenvolvimento das telas a diferenciação do Flutter está no fato de não possuir um Preview Design, assim como Android com seu XML e iOS com seu Storyboard.
Todo o desenvolvimento de layout do framework é feito via código, com uma construção declarativa por meio dos Widgets.
Para aqueles que gostam de montar o layout manualmente isso pode ser uma desvantagem, mas o fato de não possuir um Preview Design não deixa o Flutter para trás, já que todo processo de design é muito limpo e fácil de aprender.
Em apenas 4 pilares é possível montar quase todas as exigências que uma tela propõe. São eles:
- Container;
- Row;
- Column;
- Stack.
Além disso, personalizar os Widgets e dar manutenção para o código do Flutter é muito fácil. Veja um exemplo:
Finalmente, após todas as características apresentadas, fica claro observar que o Flutter merece sim um voto de confiança por parte dos desenvolvedores mobile.
Não se deixe levar por conta de traumas e medos passados com outras plataformas híbridas. O Flutter já se mostra cumpridor de suas promessas práticas e grandes empresas já estão aderindo ao uso dessa ferramenta no desenvolvimento de seus apps.
É claro que ainda temos muito chão pela frente, mas o framework já está revolucionando a velocidade de entrega para aplicativos híbridos.
Ou seja, prático, de fácil aprendizado e com suporte tanto da Google quanto da Comunidade, podemos afirmar que investir em Flutter é investir no futuro!