O fragmentado mercado de dispositivos móveis com sua enorme variedade de modelos e
sistemas operacionais, torna o desenvolvimento nativo de aplicações um esforço desafiador e
custoso aos desenvolvedores. Ao longo do tempo, foram surgindo frameworks de
desenvolvimento multiplataforma que amenizam e vêm resolvendo esse problema. Estas
ferramentas possibilitam que as aplicações sejam desenvolvidas apenas uma vez e executadas
em dispositivos com arquiteturas e tamanhos diferentes, reduzindo o tempo de
desenvolvimento, manutenção e entregando aos desenvolvedores uma interface facilitada de
comunicação com os dispositivos. Ao mesmo tempo que facilitam algumas tarefas dos
desenvolvedores de software, acabam trazendo algumas decisões a serem tomadas. Com o
desenvolvimento deste tipo de ferramenta, vários frameworks surgiram e cada um possui
algumas particularidades que devem ser levadas em consideração antes de serem utilizados. A
principal questão está em definir qual framework utilizar quando já decidido pelo
desenvolvimento multiplataforma. Neste trabalho, foram avaliados e comparados dois
frameworks de desenvolvimento multiplataforma, React Native e Flutter, a fim de auxiliar na
decisão de qual ferramenta deve ser utilizada em um projeto. Para isso, foi desenvolvida uma
aplicação nos frameworks propostos e com base nesta experiência foram discutidas e
apresentadas suas características, bem como construídas recomendações de uso para
determinados tipos de aplicações. Através do estudo foi possível identificar que o React
Native possui uma breve vantagem frente ao Flutter quando levados em consideração os
quesitos levantados por este trabalho. O React Native é mais recomendado para a construção
de aplicações seguras e se os desenvolvedores procuram uma comunidade grande e difundida.
Já o Flutter recomenda-se para aplicações que se sabe antecipadamente que receberá
frequentes manutenções e novas implementações pela sua alta capacidade de
manutenibilidade. |