.NET 7.0 - Resumo das principais novidades
O .NET 7.0 já chegou e trouxe muitas novidades. Vejamos um resumo de algumas destas novidades. |
Sem dúvida, o
universo Microsoft .NET vem evoluindo ao longo dos
anos e trazendo novidades a cada nova atualização. E neste mês, como previsto,
tivemos o
lançamento oficial do .NET 7.0
O .Net 7 tem a mesma base do .Net 6, que inclui experiência de desenvolvimento simplificada, mais produtividade e um bloco unificado de bibliotecas e plataforma. Além disso, existem quatro tópicos principais nos quais veremos melhorias no .Net 7 :
Além disso .NET 7 está vindo com C# 11, a nova versão da linguagem C#, mas, antes de entrarmos nos detalhes do .Net 7, vamos ver rapidamente o ciclo de lançamento da plataforma .Net e a política de suporte.
Política de Suporte e Ciclo de Lançamento do .Net
A partir do .Net 5, a Microsoft se comprometeu com o lançamento anual de uma
nova versão do .Net. O lançamento geralmente ocorre em novembro de cada ano.
Há uma diferença entre os números pares da versão .Net e os números ímpares. As
versões pares dão o suporte LTS e as versões ímpares dão o suporte STS.
Assim o .Net 6 e o .Net 8 são versões com suporte de longo prazo (LTS) e receberão patches por 3 anos.
Já o .NET 7.0 é um lançamento de curto prazo que receberá patches por 18 meses, o que significa que após o lançamento do .Net 8, você terá cerca de 6 meses para atualizar do .Net 7 para o .Net 8.
Desenvolvimento de cliente moderno: .Net MAUI
O .Net MAUI é o novo kit de ferramentas de desenvolvimento de UI nativo
multiplataforma para o .Net e faz parte do .Net 7. Assim podemos contar com um
.NET MAUI com ferramentas e desempenho aprimorados.
No .NET 7 o .NET
Maui aborda os principais problemas de feedback e apresenta novos recursos para
desenvolvedores de desktop incluindo muitas correções nos fundamentos dos
controles e layouts da interface do usuário, onde destacamos:
- Controle de mapa
Nesta versão, estamos enviando o controle .NET MAUI Map, atualizado do
Xamarin.Forms. Como nossos outros controles de interface do usuário, essa é uma
abstração multiplataforma do controle de mapa nativo fornecido por cada
plataforma. O mapa oferece suporte a pinos, pinos personalizados, desenho de
polígonos, polilinhas e círculos, geocodificação e geolocalização, além de
iniciar o aplicativo de mapa nativo no dispositivo que você está executando.
- Desempenho de renderização móvel
O .NET MAUI no .NET 7 é ainda mais rápido que no .NET 6. O caminho de
renderização para views básicas foi otimizado e vários problemas que estavam
afetando a suavidade da rolagem no controle de lista CollectionView foram
resolvidos.
- Aprimoramentos da área de trabalho
Foram incluidos também alguns aprimoramentos como :
- Tamanho e posição da janela
- Menus de Contexto
- ToolTips
- Gesto de foco do ponteiro
- Right-Click
Cloud Nativo e Contêineres
A Microsoft quer se concentrar na jornada dos desenvolvedores para aplicativos
nativos da nuvem focando na melhoria dos seguintes pontos como .Net 7:
Se falamos de
melhorias, a Microsoft vai continuar investindo no
Orleans, que é
um framework multiplataforma .Net para a construção de aplicativos distribuídos.
Além disso a experiência do desenvolvedor para aplicativos .Net conteinerizados
foi melhorada.
Os novos recursos
que o .NET 7 traz facilita a criação de aplicativos nativos da nuvem com
diferentes tipos de melhorias na experiência do desenvolvedor.
Além disso, simplifica bastante a instalação e configuração de sistemas de
autenticação e autorização. E, claro, como sempre, pequenas melhorias de
desempenho no tempo de execução do aplicativo.
Atualização de aplicativos .Net existentes
Para ajudar os desenvolvedores a atualizar os aplicativos .Net existentes para o
.Net 7 é possível usar
NET Update Assistant que oferece suporte a casos de uso adicionais e
inclui :
- Mais analisadores de código;
- Mais verificadores de código;
- Verificadores de compatibilidade;
Tudo isso vem junto com o .
NET Update Assistant , que ajudará muito na atualização desses aplicativos,
economizando o tempo do desenvolvedor .
Com isso a atualização de aplicações existentes para o .NET 7.0 tem o objetivo
de ser mais simples e sem muitos traumas.
Melhorias de autenticação JWT e configuração automática
Agora as opções de autenticação podem ser configuradas automaticamente
diretamente do sistema de configuração, devido à adição de uma seção de
configuração padrão ao configurar por meio da nova propriedade
Authentication no
WebApplicationBuilder.
A configuração da
Autenticação JWT usando essa nova propriedade vai adicionar automaticamente
o middleware necessário da mesma forma que o
WebApplicationBuilder faz para o roteamento.
Além disso, os esquemas de autenticação individuais definirão parâmetros de
opções de appsettings.json automaticamente. Isso sempre ajuda os
desenvolvedores a configurar parâmetros entre o ambiente de desenvolvimento e
produção.
Mais algumas melhorias e recursos
O .Net 6 já teve um grande impacto no desempenho e o .Net 7 levará isso ainda
mais longe. Mesmo que você não tenha problemas de desempenho hoje, isso
economizará seu dinheiro sem alterar seu código-fonte ao executar na nuvem.
Assim considerando apenas o ganho de desempenho obtido pode valer migrar para o .NET 7.0.
Aplicativos mais rápidos e leves (AOT nativo)
O Native AOT (Ahead-of-time) é outra das novas
melhorias e novidades que a Microsoft traz desta vez no .NET 7. Depois de um
tempo, o projeto experimental Native AOT se tornou o foco principal do
desenvolvimento da Microsoft.
Para quem não sabe o que é Native AOT, Ahead-of-time (simplesmente
AOT) gera código em tempo de compilação em vez de tempo de execução.
Neste momento, a Microsoft já oferece ReadyToRun,
também chamados de RTR (aplicativos cliente/servidor)
e Mono AOT (aplicativos móveis e WASM) para esta finalidade. (Além disso
o Native AOT não substitui Mono AOT ou WASM.)
O AOT nativo é caracterizado pelo que seu nome indica: Gera código em tempo de compilação, mas nativo. Sua maior vantagem é a melhoria de performance, principalmente em:
Melhorias mínimas de APIs
APIs mínimas foram introduzidas no .Net 6 e permitem que você crie APIs leves
sem a sobrecarga de controladores.
Com o .Net 7, temos melhorias adicionais e suporte para recursos amtes ausentes,
como agrupamento de terminais com um prefixo de rota comum.
Os filtros de endpoint agora permitem que você implemente preocupações transversais que só eram possíveis com controladores usando filtros de ação.
Outros recursos como FileUpload , Array Binding e atributo [AsParameters] também foram incluídos.
Novas APIs e melhorias
O namespace System.Text.Json agora inclui algumas
melhorias de qualidade de vida como:
Nas versões anteriores, isso não era possível, mas graças a essas adições a System.Text.Json , a serialização e desserialização de hierarquias de tipo polimórfico agora é possível.
Gerador de fonte Regex aprimorado
O novo Regex Source Generator significa que você
pode economizar até 5x o tempo gasto otimizando padrões de nosso mecanismo
compilado sem ter que sacrificar nenhum dos benefícios de desempenho associados.
Além disso, por operar dentro de uma classe parcial, não há sobrecarga de tempo
de compilação para instâncias em que os usuários conhecem seu padrão em tempo de
execução. Com esse recurso, se seu padrão puder ser conhecido em tempo de
compilação, esse gerador é recomendado em vez da abordagem tradicional baseada
em compilador.
Tudo o que você precisa fazer é configurar uma declaração parcial com um
atributo chamado RegexGenerator que aponta para o
método que retornará um objeto de expressão regular já pré-compilado (com
todos os outros recursos ativados).
A união de Blazor e .NET MAUI
Como já sabemos, o Blazor é uma framework de desenvolvimento de aplicativos da
Web e uma de suas principais características é a capacidade de executar as
visualizações do aplicativo no lado do cliente — e não no servidor.
Fato interessante: O nome Blazor vem da
união de duas palavras: Browser e Razor — o mecanismo de geração de visualização
HTML .NET.
O .NET MAUI é o framework que é a evolução do Xamarin.
É aqui que a Microsoft fará um “milkshake” com
Blazor e .NET MAUI que se tornará Blazor Hybrid.
Blazor Híbrido
Para explicar da melhor maneira possível, devemos ir um pouco ao passado (especificamente
2018), que foi o ano do lançamento inicial do Blazor(web). Naquela época só
era possível construir páginas web com HTML, CSS e também com C#.
Isso era inviável de se pensar há vários anos, mas agora a Microsoft quer dar um passo além : reunir os principais recursos e funções do Blazor e .NET MAUI para o Blazor Hybrid.
O Blazor Hybrid Support vai permitir pegar componentes blazor existentes e colocá-los juntos em um aplicativo de desktop usando um controle de visualização da Web com acesso a todas as APIs de hardware subjacentes. Isso permitirá que os desenvolvedores usem tecnologias da Web para criar aplicativos de desktop com acesso a recursos do sistema, como o sistema de arquivos local ou uma webcam.
Portanto, com o .NET 7.0 a evolução continua e o ganho de desempenho também, desta forma considere usar o .NET em seus projetos ou migrar sua aplicação para o .NET 7.0 , se realmente isso valer a pena neste momento.
Para saber mais sobre os demais recursos e novidades do .NET 7.0 consulte o documento oficial neste link : What's new in .NET 7.0
E estamos conversados...
Referências:
NET - Unit of Work - Padrão Unidade de ...