Skip to main content

One post tagged with "material3"

View All Tags

· 3 min read

Youtube

Para complementar este post, também há o vídeo no youtube.

Novidades

A versão 3 do Flutter foi apresentado no Google I/O de 2022.

O grande destaque desta nova versão é que o framework está com suporte estável para macOS e Linux, atingindo 6 plataformas diferentes à partir da mesma codebase.

Outras 3 funcionalidade que chamaram a atenção foram:

Material 3

A nova geracao do Material Design está progressivamente sendo implementada, trazendo um novo esquema de cores, melhorias na tipografia novos componentes e uma capacidade muito maior na personalizacão dos aplicativos. Acompanhe a issue e fique por dentro das atualizacões.

https://github.com/flutter/flutter/issues/91605


Firebase Crashlytics

Agora é possível acessar em tempo real os relatórios de "crash" (com stacktrace completo) do seu aplicativo, algo antes exclusivo aos apps nativos. Vale ressalver que este recurso do Firebase é gratuito.


Flutter Web

Utilizando a API ImageDecoder (nos browsers que oferecem suporte) a decodificaćão de imagens ficou 2x mais rápida. E a nova API do Flutter que controla o ciclo de vida de um aplicativo agora fornece um controle maior da inicializaćão. Confira os detalhes no link

https://docs.flutter.dev/development/platform-integration/web/initialization


Performance

Como de costume, toda atualizacão do traz consigo melhorias em performance e desta vez não foi diferente. Basta atualizar a versão e executar o seu aplicativo.


Casual Games Toolkit

Um outra novidade que deixou muita gente empolgada é o . Um conjunto recursos para criar jogos casuais utilizando Flutter.

https://flutter.dev/games


Dart 2.17

A nova versão da linguagem Dart foi anunciada, trazendo como grandes novidades:

Enums

Agora é possível adicionar propriedades/métodos à um Enum.

enum FlutterBootcamp {
kura('setState'),
libria('testes'),
civitas('firebase');

final String conteudo;

const FlutterBootcamp(this.conteudo);

String exibirConteudo() {
return 'O principal conteúdo deste app é: $conteudo';
}
}

void main() => print(FlutterBootcamp.civitas.exibirConteudo());

Super initializers

A passagem de parametro para "super-classe" (ou classe mãe) ficou mais simples:

class Bootcamp {
String? linguagem;
Bootcamp({this.linguagem});
...
}

// Antes
class FlutterBootcamp extends Bootcamp {
FlutterBootcamp({String? linguagem}) : super(linguagem: linguagem);
}

// Depois
class FlutterBootcamp extends Bootcamp {
FlutterBootcamp({super.linguagem});
}

Named args

Os named arguments podem ser informados em qualquer ordem. Não precisam ser declarados no final do construtor.

class FlutterBootcamp {
final String? conteudo;
final int? aplicativos;

const FlutterBootcamp(this.conteudo, {this.aplicativos});
}

// antes
FlutterBootcamp('Do básico ao avançado', aplicativos: 6);

// depois
FlutterBootcamp(aplicativos: 6, 'Do básico ao avançado');