PT | EN

Flutter na CoP de Desenvolvimento e Engenharia de Software

Por 01/09/2020 07/11/2023 4 minutos

Na primeira quinzena de agosto, organizamos mais uma edição da Comunidade de Prática (CoP) de Desenvolvimento e Engenharia de Software. Realizada em dois encontros online, visto a necessidade de maior tempo pela complexidade do tema, compartilhei com os colegas os conceitos e aplicações do Flutter. O principal objetivo do evento foi apresentar essa tecnologia para os participantes interessados em aprofundar os seus conhecimentos em desenvolvimento de aplicativos.

Flutter é um Software Development Kit (SDK) de código aberto, que tem ganhado notoriedade devido aos seus benefícios. Criado pela Google, ele serve para desenvolvimento de aplicativos móveis híbridos, o que significa que é possível desenvolver mobile apps para mais de uma plataforma (como Android, iOS, Web ou até mesmo Desktop) com apenas um código-fonte.

Vantagens do Flutter

Essa tecnologia possui diversos recursos e benefícios, como podemos ver abaixo:

– A linguagem do Flutter é o Dart – derivada do C++ – e o seu nível de aprendizagem é considerado fácil. Desenvolver com Flutter pode ser tão simples que não é necessário conhecimento prévio de programação. Segundo seus criadores, a experiência com linguagens orientadas a objetos é definitivamente útil e mesmo não programadores podem construir aplicações sem dificuldades;

– Tanto o Flutter quanto o Dart são de código aberto e gratuitos, e fornecem documentação extensa além de suporte da comunidade para ajudar com quaisquer problemas que você possa encontrar;

– O aplicativo gerado possui o mesmo visual e comportamento no iOS e no Android;

– O Flutter trabalha com o conceito de programação reativa.

Além desses benefícios, considero o maior ponto positivo na utilização do Flutter a possibilidade de criar aplicativos em alta velocidade. Isso se dá, principalmente, pelo recurso de hot loading. Ele permite que as alterações feitas no código possam ser visualizadas diretamente no aplicativo que está sendo executado no emulador ou em um dispositivo conectado por cabo, por exemplo, sem a perda do contexto atual do app. Ou seja, não é necessário parar o aplicativo e executá-lo novamente para ver as mudanças realizadas.

Flutter ou React Native?

Atualmente, Flutter e React Native são as tecnologias mais populares para quem trabalha com desenvolvimento mobile híbrido. Por esse motivo, acredito que é importante fazer um breve comparativo entre os dois. O principal diferencial do Flutter é a sua compilação que de fato gera código nativo. Isso o torna o mais indicado para desenvolver apps que exigem maior performance. Já no React Native, há uma bridge JavaScript, que interage com o código nativo compilado.

Flutter_1

Flutter

Flutter_2

React Native

Essas diferenças refletem no rápido crescimento na adoção do Flutter para desenvolvimento. Criado em 2018, três anos após o React Native, pode-se considerar que essa tecnologia já está sendo amplamente utilizada, como vemos na imagem abaixo:

Flutter na Prática

Após explicar os conceitos e os principais benefícios do Flutter – e sua linguagem Dart – para os participantes da CoP, apresentei o código fonte de um aplicativo desenvolvido em conjunto com o Desenvolvedor Anderson Cossul, que já escreveu para o blog sobre o Dojô online de testes unitários em JavaScript. Esse é um aplicativo para uso dos colaboradores da SoftDesign denominado SoftPoints, programa que incentiva a busca por conhecimento e consiste no acúmulo de pontos que podem ser trocados por diversos benefícios.

No segundo encontro realizamos uma prática com todos os participantes e criamos um aplicativo do zero. A ideia deste app consistia em apresentar uma lista infinita de personagens da Marvel utilizando uma API pública. Com isso, foi possível verificar na prática os benefícios apresentados no primeiro dia da CoP, utilizando diversos Widgets e recursos como o hot loading construindo rapidamente o aplicativo especificado para o evento.

Flutter_4

Foto do autor

Mauricio Freitas

Software Engineer Flutter na SoftDesign, é formado em Informática (PUCRS). Tem mais de 20 anos de experiência. Desde 2010 trabalha especificamente com desenvolvimento mobile (Android e iOS nativo, React Native e Flutter).

Posts relacionados

Quer saber mais sobre
Design, Estratégia e Tecnologia?