A Microsoft lançou a plataforma aberta .NET 7

A Microsoft apresentou uma atualização significativa da plataforma aberta .NET 7, criada a partir da unificação dos produtos .NET Framework, .NET Core e Mono. Com o .NET 7, é possível criar aplicativos multiplataforma para navegadores, sistemas em nuvem, desktops, dispositivos IoT e plataformas móveis, utilizando bibliotecas unificadas e um processo de construção comum, independentemente do tipo de aplicação. As versões do .NET SDK 7, .NET Runtime 7 e ASP.NET Core Runtime 7 foram desenvolvidas para Linux, macOS e Windows. O .NET Desktop Runtime 6 é fornecido apenas para Windows. Os códigos relacionados ao projeto são distribuídos sob a licença MIT. O suporte para a versão .NET 7 será mantido por 18 meses, até 14 de maio de 2024.

O .NET 7 inclui o runtime CoreCLR com o compilador JIT RyuJIT, bibliotecas padrão, bibliotecas CoreFX, WPF, Windows Forms, WinUI, Entity Framework, a interface de linha de comando dotnet, além de ferramentas para desenvolver microserviços, bibliotecas e aplicativos de servidor, gráficos e de console. Foi publicado separadamente o stack para desenvolvimento de web-aplicações ASP.NET Core 7.0, a camada ORM Entity Framework Core 7.0 (existem drivers, incluindo para SQLite e PostgreSQL), a biblioteca WPF 7 (Windows Presentation Foundation), o framework Windows Forms 7 para desenvolvimento de interfaces gráficas, a plataforma Orleans 7 para criação de aplicações Cloud Native, e o framework MAUI 7 para o desenvolvimento de interfaces de usuário multiplataforma, assim como as versões das linguagens C# 11 e F# 7. O suporte ao .NET 7.0 e C# 11 está incluído no editor de código gratuito Visual Studio Code.

Características do novo lançamento:

  • Foi realizada a unificação da biblioteca padrão de classes (BCL, Base Class Library) para uso em diferentes tipos de aplicações, incluindo programas para sistemas de desktop, web-aplicações, plataformas em nuvem, aplicativos móveis, jogos, programas incorporados e sistemas de aprendizado de máquina. Para o desenvolvimento de diversos tipos de aplicações, é possível utilizar um único SDK comum, Runtime e conjunto de bibliotecas.
  • Foi disponibilizada a capacidade de vincular uma aplicação à API correspondente à versão .NET 7, através da definição da plataforma alvo "net7.0", por exemplo, "net7.0". Para vincular a APIs específicas de determinadas plataformas, ao definir o alvo é possível detalhar o tipo de plataforma, como especificar "net7.0-android".
  • O suporte à arquitetura ARM64 foi significativamente aprimorado e a busca pela paridade de desempenho entre aplicativos .NET em arquiteturas x86 e ARM64 continua. A eficiência do uso do cache de nível três nos sistemas ARM64 foi elevada em runtime. Instruções LSE foram utilizadas para restringir o acesso à memória de threads paralelas, resultando em uma redução de latência de 45%. Manipuladores que utilizam tipos vetoriais Vector64, Vector128 e Vector256 foram adicionados à biblioteca, e as funções EncodeToUtf8 e DecodeFromUtf8 foram reescritas com base em instruções vetoriais, proporcionando um aumento de desempenho de até 60% (para as funções NarrowUtf16ToAscii e GetIndexOfFirstNonAsciiChar, o ganho de desempenho chega a 35%). No geral, a velocidade dos testes na plataforma ARM64 aumentou de 10% a 60%.
    A Microsoft lançou a plataforma aberta .NET 7
  • O suporte à plataforma Linux foi melhorado, incluindo pacotes .NET 6 adicionados aos repositórios padrão do Ubuntu 22.04 e uma imagem docker otimizada, compacta e pronta para uso foi fornecida para implantação rápida de contêineres com aplicativos baseados em .NET.
  • O suporte à arquitetura IBM Power de 64 bits (ppc64le) foi adicionado.
  • Foi proposto um toolkit .NET Upgrade Assistant para facilitar a migração de aplicativos legados para as versões .NET 6 ou .NET 7. A nova versão ampliou o suporte à migração de aplicativos de ASP.NET para ASP.NET Core, adicionou analisadores e corretores de código para WinForms, WPF e bibliotecas de classes, implementou suporte para análise de arquivos executáveis e adicionou suporte à plataforma UWP (Plataforma Universal do Windows).
  • As capacidades para criar aplicativos para sistemas nativos da nuvem (cloud-native) e plataformas PaaS (plataforma como serviço) foram expandidas. Agora é possível criar aplicativos empacotados em contêineres isolados usando o comando 'dotnet publish'.
  • As ferramentas para monitoramento do estado dos aplicativos e coleta de métricas sobre seu desempenho foram expandidas. Novos eventos e métodos foram introduzidos para analisar a atividade e o desempenho do aplicativo.
  • Na linguagem C# 11, foi adicionada a suporte para literais de string não processados, que podem incluir caracteres especiais sem a necessidade de escape (esses literais são destacados com três aspas). Foram propostas interfaces genéricas para funções matemáticas e foi possibilitada a definição de elementos estáticos em interfaces virtuais, permitindo a aplicação de métodos de programação genérica para realizar operações matemáticas sem informações exatas sobre o tipo dos valores.
  • As capacidades da biblioteca padrão foram ampliadas. Foi adicionado o API System.Formats.Tar para trabalhar com arquivos no formato Tar. Em funções relacionadas ao tempo (TimeStamp, DateTime, etc.), foi adicionada suporte para microssegundos e nanossegundos. Em System.Text.Json, foi implementada a capacidade de controlar a serialização e deserialização de tipos .NET.
  • Na interface de linha de comando «dotnet new», foi adicionada suporte para autocompletar templates de projetos típicos pressionando a tecla Tab.
  • No .NET SDK, foi implementada a possibilidade de restringir a aplicação de templates de projeto fornecidos, por exemplo, é possível definir em quais sistemas operacionais um template é permitido.
  • No NuGet, foi adicionado um modo de gerenciamento centralizado de pacotes, permitindo gerenciar dependências para vários projetos de uma vez.
  • A performance do compilador JIT foi aumentada. Foi adicionada suporte para o mecanismo OSR (On Stack Replacement) para modificar o código de métodos já executados, permitindo otimizações em métodos que levam muito tempo para serem executados, sem precisar esperar o término da chamada atual (no teste TechEmpower, observou-se um aumento de 10 a 30% na performance de processamento das primeiras solicitações).
  • A eficiência da otimização baseada nos resultados de perfilamento de código (PGO - otimização guiada por perfil) foi aprimorada, permitindo levar em conta características determinadas durante a execução do programa.
  • Foi adicionada suporte para compilação em arquivos executáveis autossuficientes (Native AOT), onde todo o projeto é compilado inicialmente em código de máquina para a plataforma alvo, sem usar código intermediário e sem a aplicação do JIT.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster