skip to Main Content

Novas funcionalidades do Flutter e Dart 3

Flutter e Dart 3

Em Janeiro de 2023 aconteceu o Flutter Forward, um evento que teve como objetivo apresentar todas as novidades e melhorias por trás das novas versões do Dart e do Flutter. No encontro, novos widgets foram incorporados e outros foram atualizados com o lançamento do Material 3. Também foi explicado sobre a troca do motor gráfico, do Skia pelo Impeller, e apresentados alguns cases de sucesso que exemplificam como as grandes empresas estão utilizando o Flutter.

O evento completo você pode ver aqui, mas preparamos um resumo com tudo que você precisa saber sobre as novidades das novas versões do Dart e do Flutter. Confira!

 

Dart + Flutter: Saiba mais sobre o Framework

O Flutter é um framework de código aberto desenvolvido pelo Google na linguagem Dart para a criação de aplicativos multiplataforma (iOS e Android). Com o flutter, é possível criar aplicativos para dispositivos móveis, web, desktop e incorporados. Tudo a partir de uma única base de código. Ele oferece fluidez e agilidade para criação de aplicações através da compilação em código nativo.

O Dart é a linguagem base do Flutter, também criado pelo Google em meados de 2011. É uma linguagem fortemente tipada, seu código é executado em uma máquina virtual (chamada DartVM) que pode ser executada de duas formas distintas: JIT (Just-in-Time Compiler) e AOT(Ahead-of-Time).

 

Confira as novidades das novas versões Dart e do Flutter

Abaixo listamos as principais novidades apresentadas nas novas versões do Dart e do Flutter.

1. 100% Null Safety

É uma determinação onde os tipos são non-null by default, onde uma variável qualquer não pode ser null.

  • Exemplo de uma variável onde ela pode ser null:

String? firstName;

Após atualização para o Dart3 esta abordagem não será mais possível, assim firstName somente poderá receber valores String.

String? firstName = “”;

 

2. Patterns ou Padrões irão trazer vários benefícios para nossos códigos.

Múltiplo retorno de valores

Neste caso, podemos estar retornando múltiplos valores, Tuplas. Abordagem já existente em outras linguagens, como no C#, e agora foi agregada ao Dart 3.

Desestruturação

Irá atribuir os dois valores por casamento dos padrões, vai saber qual o valor será à direita e à esquerda.

 

3. Modificadores de Classe

São eles:

  • Interface class: Não pode ser estendido.
  • Base class: Desativa a interface  implícita, portanto não pode ser implementada.
  • Final class: Não é possível estender, implementar ou misturar na classe (fora da biblioteca atual).
  • Sealed class: O mesmo que abstract + final, O tipo é considerado a raiz de uma família.
  • Mixin class: Classe que pode ser usada como um mixin.

4. Nova engine de Renderização

  • A Impeller será a nova engine otimizada para o Flutter, com mais flexibilidade e controle gráfico. Animações complexas a 60 fps.
  • Uso de 3D no Flutter.
  • Adições de shaders3D personalizáveis.

 

5. Elemented embedding

Basicamente é a possibilidade de incorporar um aplicativo feito em Flutter dentro de uma página web HTML. 

Ex.: https://flutter-forward-demos.web.app/#/

6. Material 3

Novos widgets implementados, e outros atualizados.

 

Conclusão

Vamos recapitular as novidades:

  • 100% Null Safety:
  • Patterns
  • Modificadores de Classe
  • Nova engine para renderização 
  • Interoperabilidade com HTML
  • Material 3

Melhorias são sempre bem vindas, e quando superam as expectativas é melhor ainda. As novas funcionalidades adicionadas à linguagem vão trazer grandes benefícios para os desenvolvedores, auxiliando de diversas maneiras. 

Desde o código que agora é 100% Null Safety, novos widgets foram inseridos e outros redesenhados seguindo o padrão do Material 3, trazendo uma melhor experiência para o usuário final. Isso vai proporcionar mais abrangência do Flutter por outros setores, gerando novas oportunidades.



Já tinha visto essas nossas funcionalidades? Temos muitas dicas legais aqui no blog da Lyncas para programadores. Aproveite para ler também: Como criar um componente Vue?

 

Desenvolvedor Mobile e Backend, iniciou no mundo da programação por um acaso, e assim já fazem 12 anos. Passando pelas linguagens Pascal, Object Pascal (Deplhi), Java, Clarion 6, e atualemente C# no backend e Dart/Flutter no mobile.
Aficionado por filmes, séries e animes ( CDZ, YuYu Hakusho, mas principalmente One Piece 👒 ☠️).