Ilustração minimalista mostra quatro celulares diferentes com aplicativos abertos
Google/Reprodução

Atualizado em

Desenvolver aplicativos para dispositivos móveis é uma atividade que requer muito conhecimento técnico e habilidades específicas. Até pouco tempo atrás, os desenvolvedores precisavam escolher entre utilizar ferramentas para criar aplicativos para dispositivos Android ou iOS. No entanto, com o surgimento do Flutter, essa escolha se tornou desnecessária.

O que é o Flutter?

Flutter é uma tecnologia de código aberto, criada pelo Google em 2017, que permite o desenvolvimento de aplicativos para dispositivos móveis Android e iOS, além de web e desktop, a partir de uma única base de código. Ela utiliza a linguagem de programação Dart e a biblioteca de widgets própria, permitindo que os aplicativos tenham uma aparência nativa em diferentes plataformas.

Vantagens do Flutter

Uma das principais vantagens do Flutter é a possibilidade de criar aplicativos em tempo recorde. De acordo com a Google, é possível desenvolver aplicativos em menos de uma semana, graças à alta produtividade oferecida pela tecnologia. Além disso, o Flutter permite a criação de interfaces de usuário personalizadas e com alta qualidade, garantindo que o aplicativo tenha uma aparência nativa em diferentes plataformas.

Outra vantagem do Flutter é a facilidade de aprendizado da tecnologia. Ao contrário de outras tecnologias de desenvolvimento de aplicativos, como o React Native, que exigem conhecimento prévio de JavaScript, o Flutter utiliza a linguagem de programação Dart, que é de fácil aprendizado e similar ao Java e ao C++. Isso torna o Flutter uma opção viável mesmo para desenvolvedores iniciantes.

Sintaxe

Segue abaixo um exemplo básico de um aplicativo Flutter que exibe um texto simples na tela:

import 'package:flutter/material.dart';

void main() {
  runApp(
    MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Exemplo Flutter'),
        ),
        body: Center(
          child: Text('Olá, mundo!'),
        ),
      ),
    ),
  );
}

Nesse exemplo, importamos o pacote de material design do Flutter, que fornece os widgets básicos para a criação de interfaces de usuário.

Em seguida, definimos a função principal main() que inicia o aplicativo.

Dentro da função runApp(), criamos um novo MaterialApp que é o widget principal do nosso aplicativo. Nele, definimos a propriedade home que recebe um novo widget Scaffold.

O Scaffold é um widget que fornece a estrutura básica de uma tela, incluindo um AppBar e um body.

No AppBar, definimos o título da nossa tela como ‘Exemplo Flutter’.

No body, definimos o widget Center como o widget filho que contém o nosso texto ‘Olá, mundo!’. O Center é um widget que centraliza seu filho na tela.

Por fim, a função runApp() recebe o MaterialApp como parâmetro e inicia o aplicativo. Quando executamos esse código, teremos um aplicativo com uma tela contendo um título ‘Exemplo Flutter’ e um texto ‘Olá, mundo!’ centralizado na tela.

Adoção do Flutter

Desde seu lançamento em 2017, o Flutter vem ganhando cada vez mais adeptos na comunidade de desenvolvedores. De acordo com o GitHub, o Flutter é o projeto de código aberto com maior crescimento em número de contribuidores na plataforma. Em fevereiro de 2021, o Flutter alcançou a marca de 100.000 estrelas no GitHub, tornando-se um dos projetos mais populares da plataforma.

Empresas como Alibaba, BMW, eBay, Google, Nubank e Tencent já adotaram o Flutter em seus projetos de desenvolvimento de aplicativos. Segundo a Google, existem mais de 150 mil aplicativos criados com o Flutter disponíveis nas lojas de aplicativos.

Desenvolvimento futuro do Flutter

O Flutter vem passando por atualizações constantes desde seu lançamento, e a cada nova versão são adicionadas novas funcionalidades e melhorias de desempenho. Em março de 2021, o Google anunciou o Flutter 2, que trouxe a possibilidade de desenvolver aplicativos para web e desktop com a mesma base de código utilizada para aplicativos móveis.

Outra novidade do Flutter 2 é o Null Safety, uma funcionalidade que ajuda a evitar erros de programação relacionados a valores nulos, tornando o desenvolvimento mais seguro e eficiente.