BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Flutter - Framework multi-plataforma de UI móvel do Google agora em beta

Flutter - Framework multi-plataforma de UI móvel do Google agora em beta

Favoritos

O Flutter, agora em beta, é uma tentativa do Google em criar um framework para interfaces de usuários (UI) multi plataformas tanto para o iOS quanto para Android que se comportam e parecem como nativos, embora não sejam UIs padrão.

O Flutter suporta uma abordagem reativa para a definição de UI, parecido com o React Native. O que o separa dos outros frameworks multi plataformas baseados em views Web é a dependência do Dart para evitar a necessidade de uma ponte de JavaScript entre a UI e os serviços nativos fornecidos pela plataforma do sistema operacional. Usando o Dart, que é compilado para código nativo, o Flutter não tem que pagar pela mudança de contexto devido à ponte JavaScript.

Frameworks multi plataformas visam fornecer uma aparência nativa de UI e também usam widgets implementados nativamente para representar botões, tabelas, etc. Isso normalmente requer que diferentes partes da app se comuniquem usando uma ponte JavaScript, que tende a ser lenta. Para contornar isso, o Flutter fornece sua própria coleção de widgets e os desenha diretamente na tela fornecida através da plataforma do OS. Outra vantagem associada com essa abordagem é a forma como o Dart renderiza a UI. Ao contrário do CSS boxing model, o Android Layouts ou o iOS constraints, que tentam fornecer abstrações para descrever qualquer possibilidade de renderizar elementos de UI na tela, cada widget do Flutter tem seu próprio modelo de layout simplificado. Levando isso ao extremo, para centralizar um widget, você o coloca dentro de um Center. Da mesma forma, para incluir algum preenchimento ao redor, basta incluí-lo em um Padding widget. O código seguinte é um exemplo simples de uma caixa centrada, incluindo um rótulo e um ícone que são empilhados verticalmente:

new Center(
  child: new Column(
    children: [
      new Text('Hello, World!')),
      new Icon(Icons.star, color: Colors.green)
    ]
  )
)

Toda navegação e temas são representados por widgets no Flutter, sendo possível mudar a aparência da UI ou a maneira como é feita a navegação através das views usando um widget pai.

Desde a versão alpha do Flutter, o Google vem trabalhando em uma melhor ferramenta de integração, como suporte para o Android Studio e o Visual Studio Code, melhor interoperabilidade de plataformas, melhor hot reloading, e um widget inspector para inspeção da árvore de um widget.

Uma vez que o Flutter usa o Dart, um fator chave na condução de sua adoção será a disponibilidade de pacotes de terceiros que permitem que os desenvolvedores reutilizem o código sem ter que codificar tudo a partir do zero, assim como o uso de SDKs externos como o Firebase, SQLite, Facebook Connect, etc. É possível verificar o catálogo de pacotes disponíveis para o Flutter, que inclui mais de 1000 pacotes, para garantir que se tenha tudo o que precisa.

Avançando para a versão 1.0, o Google diz que o desenvolvimento terá como foco a estabilização e a adição de suporte para mais cenários, tais como facilitar a inclusão do Flutter em uma aplicação já existente, usar inline WebViews, etc.

É possível testar o Flutter beta, basta seguir as instruções de instalação. Além disso, é muito interessante dar uma olhada na Flutter Gallery, a Posse Gallery, e esta lista de links úteis.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT