DEV Community

Cover image for O que é flutter?
Natasha
Natasha

Posted on

O que é flutter?

"[…] quando vejo um possível unicórnio no horizonte, claro que não acredito. No entanto, quando chego mais perto e vejo que o unicórnio é mesmo real, bem, ele deixa de ser um unicórnio, certo? É a realidade, e uma realidade fascinante."
ZAMMETTI, Frank. Flutter na prática: Melhore seu desenvolvimento mobile com o SDK open source mais recente do Google. São Paulo: Novatec, 2020.

Flutter é um framework de código aberto (open source) criado pela Google em 2015, e que teve a sua primeira release em 2018. Em outras palavras, "framework" em tradução direta do inglês, significa "estrutura", assim, um framework é uma estrutura composta por diversas bibliotecas pré-prontas que podem ser importadas e que são feitas para facilitar o desenvolvimento de projetos, e resolver problemas específicos.

print dos pacotes mais populares em: https://pub.dev/

O Flutter utiliza a linguagem Dart, também criada pelo Google, que tem princípios de orientação a objetos, como herança e polimorfismo. O Dart é uma linguagem otimizada para "client-side" multiplataforma. O objetivo do Dart é ser uma linguagem mais produtiva e flexível, para servir como base para diversos frameworks voltados para o desenvolvimento de aplicativos.

O Flutter permite construir aplicações nativas cross-platform (web, desktop e mobile - iOS e Android), utilizando apenas um único código. Ou seja, esse é um modelo híbrido de desenvolvimento, onde o mesmo código funciona em diferentes plataformas ao mesmo tempo. 

Esse framework é composto por três partes principais, sendo elas:
SDK (Software Development Kit): Conjunto de ferramentas para compilar seu código.
Framework/Widget Library: Pacotes/Componentes de UI (widgets) que podem ser reutilizados.
Engine (Skia - C/C++): Núcleo do Flutter.

O Flutter utiliza widgets para desenhar elementos na tela. Os widgets são as classes especiais e personalizáveis, ou seja, a UI (design de interface) do aplicativo, é composto por uma árvore de widgets. Existem diversos tipos de widgets para várias formas de elementos gráficos. E por isso, o Flutter é considerado como utilitário para o Front-End.

As principais características do flutter, são:
Desenvolvimento ágil: Um único código para várias plataformas. Linguagem Dart, fácil de aprender com sintaxe moderna e foco em alta performance.
Personalização: Oferece ferramentas para criar interfaces personalizadas, incluindo suporte para Material Design (design padrão da Google) e Cupertino (estilo de design do iOS).
Open Source: Gratuito e com uma comunidade ativa, também é constantemente atualizado pela Google, com melhorias e novos recursos.
Hot Reload: Permite que os desenvolvedores vejam mudanças no código quase instantaneamente na interface do aplicativo, sem a necessidade de reiniciar a aplicação. 
Alta performance: O Flutter não usa componentes nativos das plataformas; em vez disso, ele desenha tudo na tela diretamente, utilizando o mecanismo gráfico Skia. Isso proporciona alta performance e maior controle sobre a interface.


Links úteis:
Get Started (Site Oficial)
Flutter Roadmap
Widget of the Week (Youtube Oficial)
Github Oficial

Top comments (0)