O Google anunciou recentemente o lançamento de a nova versão da linguagem de programação "Dart 2.14", que continua o desenvolvimento de um ramo radicalmente redesenhado do Dart 2 e que difere da versão original da linguagem Dart pelo uso de uma escrita estática forte.
Nesta nova versão O suporte ao Apple M1 está destacado, a integração de novas operadoras, melhorias em alguns comandos, gerenciamento de memória, em regras e muito mais.
Para quem não sabe Dart você deve saber que isso, é projetado para oferecer melhores resultados por meio de alternativas para alguns problemas de JavaScript, apesar do fato de que em sua apresentação não foram feitas referências explícitas a JavaScript. Pretende ser uma ferramenta simples para projetos maiores e oferecer maior segurança.
O objetivo do Dart não é substituir o JavaScript como a principal linguagem de programação da web em navegadores, mas para oferecer uma alternativa mais moderna. O espírito da linguagem pode ser visto refletido nas declarações de Lars Bak, engenheiro de software do Google, que define o Dart como uma "linguagem estruturada, mas flexível para programação da Web"
Principais novos recursos do Dart 2.14
Nesta nova versão do Dart 2.4 uma das novidades que se apresenta é que o SDK já tem suporte para processadores Apple M1, o que significa a capacidade de executar o Dart VM, utilitários e componentes SDK em sistemas com um processador Apple Silicon, bem como suporte para compilar arquivos executáveis para esses chips.
Outra novidade é no comando «dart pub» no qual foi adicionado suporte para um novo arquivo de serviço ".pubignore" que permite definir uma lista de arquivos a serem ignorados ao publicar um pacote no repositório pub.dev. Essas configurações não se sobrepõem à lista de ignorar ".gitignore" (em algumas situações, pub.dev requer não transferir arquivos que são necessários no Git, por exemplo, scripts internos usados durante o desenvolvimento).
Na biblioteca padrão (Essencial) os métodos estáticos hash, hashAll e hashAllUnordered são adicionados à classe Object, enquanto para a aula DateTime, neste o tratamento da hora local foi melhorado ao converter horas entre o verão e o inverno que não seja um múltiplo de uma hora.
Também no Dart 2.14 Conjuntos de regras unificados são propostos para o analisador de código (linter), que fornece suporte simultâneo para verificar a conformidade com as recomendações de estilo de código para Dart e a estrutura Flutter. Por razões históricas, as regras de codificação para Flutter e Dart eram diferentes, e havia dois conjuntos de regras em uso para Dart.
O Dart 2.14 apresenta um novo conjunto geral de regras para linter por padrão em novos projetos Dart e no Flutter SDK. O conjunto inclui regras básicas, regras adicionais recomendadas e diretrizes específicas de flutuação.
No formatador, foram feitas otimizações na formatação de blocos de código em cascataa, que pode melhorar significativamente o desempenho de formatação e evitar interpretações ambíguas da associação de elementos de expressão.
O pacote ffi adiciona suporte para o alocador de memória, que libera recursos automaticamente. O pacote ffigen adiciona a capacidade de gerar definições de typedef de tipos Dart a partir da linguagem C.
Das outras mudanças que se destacam:
- Foi adicionado um novo operador de deslocamento triplo (>>>) que, ao contrário do operador «>>», não executa aritmética, mas sim um deslocamento lógico que funciona independentemente do bit de sinal (o deslocamento é executado sem divisão em positivo e negativo números).
- Removida a restrição sobre os argumentos de tipo, que não permitia o uso de tipos comuns de funções como argumentos com um tipo.
- Trabalho foi feito para melhorar o desempenho do comando "dart test", que agora não requer uma recompilação de testes após a alteração do pubspec, se o número da versão não mudou.
- Removido o suporte para compilar no modo de compatibilidade ECMAScript 5 (a alteração causará perda de compatibilidade com o navegador IE11).
- Os utilitários separados stagehand, dartfmt e dart2native foram descontinuados, substituídos por comandos integrados chamados por meio do utilitário dart.
- Mecanismo de extensões nativas da VM obsoleta. Para chamar o código nativo do código Dart, é recomendado usar o novo Dart FFI (Interface de Função Estrangeira).
fonte: https://medium.com