Até pouco tempo atrás, uma das principais dificuldades do desenvolvimento de aplicativos para smartphones era a necessidade de escrever praticamente o mesmo código, com algumas adaptações, para Android e iOS. O principal objetivo do framework Flutter é eliminar esse problema, pois ele permite a criação de aplicações para esses sistemas a partir do mesmo código fonte.

E não é só isso. Com ele também é possível desenvolver aplicativos para desktop nas plataformas Linux e macOS. Portanto, essa é uma tecnologia bem abrangente e que oferece uma série de recursos para facilitar o desenvolvimento sem a necessidade de reescrever códigos. Para apresentar essa ferramenta, fizemos este guia inicial sobre o Flutter, que contém os seguintes tópicos:

O que é Flutter? 

O Flutter é um framework de código aberto, desenvolvido pelo Google, que permite o desenvolvimento de aplicações nativas para Android e iOS. A primeira versão da ferramenta foi lançada em dezembro de 2018, com a proposta de desenvolver aplicações híbridas e concorrer com outras tecnologias semelhantes, como o React Native e Ionic. 

O Flutter utiliza o Dart como base para o desenvolvimento de suas aplicações. Trata-se de uma linguagem multiparadigma, criada em 2011 pelo Google, com a intenção de disputar com o JavaScript. Ela permite o desenvolvimento de aplicações cliente-servidor e de aplicativos para smartphones. No Flutter o Dart é utilizado com o padrão de programação orientada a objetos.

O Google Flutter oferece uma forma simples e fácil de construir aplicativos. Sua arquitetura é dividida, de modo geral, em três camadas específicas:

  • Framework Dart: camada que engloba os Flutter widgets — componentes predefinidos — para o desenvolvimento das aplicações com base em dois pacotes de componentes visuais: Material Design e Cupertino, os quais oferecem recursos das plataformas Android e iOS respectivamente;
  • Engine: camada responsável pela UI — User Interface — e UXUser Experience — do Flutter. Na prática, ela tem a função de unir o código do aplicativo com os recursos do framework para criar a aplicação;
  • Embedder: camada responsável por transformar a aplicação em Flutter para cada plataforma específica.

4 principais características do Flutter?

O Flutter contém uma série de características que fazem com que ele seja uma ferramenta poderosa na construção de aplicações para dispositivos móveis. Confira algumas delas a seguir.

1. Permite o desenvolvimento multiplataforma

O framework Flutter pode ser instalado em Windows, Linux, macOS e Chrome OS. Portanto, em qualquer uma dessas plataformas é possível desenvolver aplicativos para Android e iOS. Além disso, ele pode ser utilizado em diferentes ferramentas, como no editor de código Visual Studio Code e na IDE Android Studio.

2. Possibilita o desenvolvimento de aplicações nativas

Como mencionamos, desenvolver para diferentes plataformas requer a escrita de códigos em duplicidade, especialmente a camada que contém as regras de negócio. Uma das características do Flutter é permitir a criação de aplicações nativas para diferentes sistemas operacionais — entre eles Android e iOS—, o que elimina essa necessidade.

Vale ressaltar que ele também permite o desenvolvimento de aplicativos Flutter desktop em Linux e macOS. Além disso, o projeto para o desenvolvimento de aplicações Flutter web está em versão beta.

3. Permite o acesso aos recursos nativos

Outra característica do Flutter é permitir a utilização de recursos nativos do sistema operacional, como câmera, geolocalização etc. Quando o aplicativo é compilado, ele é transformado em uma aplicação nativa de acordo com a plataforma correspondente escolhida.

4. Oferece maior desempenho

Por oferecer acesso aos recursos nativos do sistema operacional, há maior desempenho ao executar as aplicações. Outra razão para isso é por ele não necessitar de uma camada intermediária para acessar esses recursos, ou seja, o aplicativo é escrito em Dart, mas convertido para a linguagem de máquina nativa do sistema operacional.

Quais as vantagens de usar o Flutter?

Algumas das características apresentadas no tópico anterior, já representam benefícios em utilizar o Flutter, como o maior desempenho e o acesso a recursos nativos. Entretanto, existem outras vantagens em utilizar essa ferramenta. Confira algumas delas abaixo.

É um framework open source

Contar com ferramentas de código aberto contribui para reduzir o custo no desenvolvimento da aplicação, já que não será preciso pagar pela licença de uso. Além do Google, que é o desenvolvedor principal, há a comunidade de pessoas desenvolvedoras que ajudam a tirar dúvidas em diferentes plataformas, como na Stack Overflow, no Gitter, entre outras.

Alta produtividade

O Flutter permite o desenvolvimento de aplicações para diferentes plataformas. Isso significa maior produtividade para a equipe de desenvolvimento. Entretanto, ele utiliza a linguagem Dart, que não é muito popular. De acordo com a pesquisa da Stack Overflow, de 2020, sobre as tecnologias mais populares, a linguagem Dart é utilizada por apenas 4% dos entrevistados.

Já a linguagem JavaScript, é utilizada por 67,7% dos entrevistados. Por conta disso, caso seja iniciante, é melhor iniciar o aprendizado para o desenvolvimento de aplicativos em tecnologias como o React Native / JavaScript, que já estão mais consolidados no mercado.

Contudo, o framework Flutter e a linguagem Dart também devem fazer parte de um complemento desse aprendizado, já que é uma tecnologia que vem tomando espaço no mercado.

Exemplo de uso do Flutter em aplicações

Vamos conferir o algoritmo de uma aplicação simples em Flutter para exibir uma mensagem na tela. Veja a depuração do código abaixo.

import 'package:flutter/material.dart';
void main() {
  runApp(AplicacaoPrincipal());
}
class AplicacaoPrincipal extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
           home: Scaffold(
            appBar: AppBar(
            title: Text("App Flutter"),
      ),
      body: Text("Essa é a nossa aplicação em Flutter"),
    ));
  }
}


Toda aplicação em Flutter contém um arquivo principal chamado main.dart, que representa o ponto de partida do aplicativo. Nele, devem ser feitas as principais configurações do sistema. Perceba que na primeira linha fizemos a importação do pacote material.dart, o que permite o acesso aos componentes para o desenvolvimento da aplicação.

A seguir, criamos uma função main() que executa runApp(), fazendo a chamada à aplicação principal. Observe que criamos uma classe chamada AplicacaoPrincipal(), herdando as características de StatelessWidget. Trata-se de uma classe que permite a criação de widgets que não sofrerão interações com a pessoa usuária do aplicativo.

Então, chamamos a função MaterialApp(), o widget principal que contém uma série de propriedades e outros widgets que podemos utilizar para criar a interface para a aplicação. No nosso exemplo, criamos uma página chamada home, contendo uma barra de aplicativo com a mensagem “App Flutter” e um body para exibir a mensagem “Essa é a nossa aplicação em Flutter”.

O framework Flutter é uma alternativa relativamente nova para o desenvolvimento de aplicativos nativos para as plataformas Android, iOS, além de aplicações desktop para Linux e macOS. Trata-se de uma tecnologia promissora, que já é utilizada por grandes empresas como o Google, eBay, Square e BMW.

Gostou do nosso conteúdo sobre o que é o Flutter? Então, confira este conteúdo com dicas imperdíveis sobre como iniciar na carreira de desenvolvedor de aplicativos!

2 Shares:
Você também pode gostar