Flutter: unificando o desenvolvimento de aplicativos para Android, iOS, web e desktop
Criado pelo Google em 2017, o Flutter permite desenvolver aplicações multiplataforma de forma rápida.
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.