Porque escolhemos o Flutter para o nosso próximo App
Aqui no UOL EdTech somos movidos pela curiosidade e conhecimento, sendo assim sempre estamos avaliando novas tecnologias e considerando-as em novos projetos.
Vou contar aqui um pouco de como fizemos essa escolha e o que consideramos na análise de forma macro.
Nossa expectativa com essa análise e definição é mirar uma tecnologia que está tendo um bom uso de mercado, facilidade no desenvolvimento, bom desempenho para os usuários e que tenha uma boa estabilidade em atualizações de versão.
Pontos que levamos em consideração e necessidades
Nosso Squad Mobile empreendeu uma serie de discussões e experimentações a fim de encontrar a melhor solução para esse nosso novo aplicativo. Essas discussões embasaram-se em identificar qual tecnologia traria melhores benefícios no tempo de desenvolvimento quanto também no produto final.
Para tal experimentamos ao longo do desenvolvimento de algumas POC´s os critérios levantados afim de nortear qual tecnologia atenderia a atual proposta.
Levamos em consideração tecnologias híbridas visto que já temos aplicativos desenvolvidos em Xamarin, Nativo (Swift e Kotlin) e React Native. Sendo assim consideramos as mais atuais e com maior uso de mercado, o React Native e Flutter.
Pontos que levamos em consideração na análise:
- Ferramentas de desenvolvimento;
- Gerenciamento de dependências e pacotes;
- Testes unitários;
- Desempenho/Performance;
- Documentação/Comunidade;
- CI, CD e distribuição;
Detalhamento dos pontos analisados
Resultado dos indicadores de performance
Flutter:
React Native:
Conclusão da equipe
Flutter demonstrou ser a escolha viável pelos seguintes pontos:
- Ambiente de desenvolvimento — As ferramentas de desenvolvimento proporcionam maior agilidade no desenvolvimento da aplicação como assertividade na identificação e correção de erros;
- Fácil aprendizagem — O Framework do Flutter demonstrou uma curva de aprendizagem curta. Facilidade de aprendizagem para desenvolvedores que vieram do React Native, já que o paradigma de programação (programação declarativa) presente no Flutter seja o mesmo do React Native;
- Rica documentação e comunidade em rápido crescimento da comunidade — A documentação do Flutter demonstrou-se ser rica e detalhada, assim como a documentação do Dart, linguagem usada no desenvolvimento Flutter;
- Performance e desempenho da aplicação — Em comparação a desempenho da aplicação, Flutter utilizou menos recurso da bateria, CPU e memória do device;
Essa análise foi feita com a participação inteira do nosso Squad Mobile, cada um participou de algo e consolidamos aqui um pouco do que foi feito, sendo assim agradeço todo o esforço do Squad e espero que de alguma forma auxilie vocês a tomarem uma decisão como essa.
Para quem não me conhece: Sou Gerente de sistemas no UOL EdTech, conduzo desde a Arquitetura dos sistemas quanto o acompanhamento dos times onde desenvolvemos e mantemos uma série de aplicações voltadas para a educação de pequenas e grandes empresas.