Há menos de duas semanas saiu o primeiro preview público do .NET Core 2.1, chamado de preview 1. Este preview é o primeiro de uma série (que não sabemos o tamanho) antes da versão RTM.
Para saber mais, acesse o anúncio oficial: .NET Core Preview 1.
Vocês já podem começar a testar e experimentar as novidades hoje mesmo no Windows, Mac e Linux:
As novidades podem ser percebidas em temas:
- Faster Build Performance
- Close gaps in ASP.NET Core and EF Core
- Improve compatibility with .NET Framework
- GDPR and Security
- Microservices and Azure
- More capable Engineering System
Vale uma nota do time do .NET Core de que nem todos estes temas estão disponíveis no Preview 1, mas são o foco do trabalho sendo executado.
Builds mais rápidos
A performance dos builds ficou melhor para builds e builds incrementais, conforme pode ser visto no gráfico abaixo:
Minor-version Roll-forward
Agora as aplicações .NET Core serão executadas sempre na minor version mais recente disponível. Uma aplicação feita para rodar em 2.0 vai rodar em 2.1 se a versão 2.1 estiver disponível.
Isso não é válido, no entanto, para major versions. Então a aplicação 2.0, que roda em 2.1 ou 2.5, não rodará em 3.0, mesmo que 3.0 esteja disponível na máquina.
A ideia é que minor versions geralmente contém melhorias, updates de segurança, etc.
Global tools
.NET Core global tools são ferramentas console que podem ser instaladas de maneira global e se tornam disponíveis independente da sessão do console/terminal, da máquina ter sido reiniciada, etc. O conceito foi inspirado nas global tools do npm.
Depois de instalar o .NET Core 2.1 preview1, você pode rodar:
dotnet install tool -g dotnetps
E então executar do seu terminal:
dotnetps
Para ler mais ou contribuir com o dotnetps, acesse o GitHub do projeto, que é uma tool opensource mantida pela Lambda3.
Span<T>, friends e melhorias colaterais
Alguns novos tipos foram inseridos no .NET Core 2.0. Dentre eles, Span<T>. Estes tipos têm um papel fundamental em ajudar o .NET a ser mais rápido e eficiente em termos de uso e alocação de memória.
Utilizando Span<T>, algumas melhorias vieram (e virão) para o preview1, como a reescrita de um HttpClientHandler utilizando esses benefícios. O uso de sockets passa a usar o próprio .NET em uma implementação mais rápida e eficiente e não mais implementações nativas, eliminando alguns problemas.
Docker
Algumas mudanças e novidades vieram nas imagens oficiais do .NET Core para Docker:
- Added Alpine runtime and SDK images (x64).
- Added Ubuntu Bionic/18.04, for runtime and SDK images (x64 and ARM32).
- Switched from debian:stretch to debian:stretch-slim for runtime images. (x64 and ARM32).
- Dropped debian:jessie (runtime and SDK).
Resumo
Tem bastante coisa bacana e interessante chegando no .NET Core 2.1 com o Preview 1. Essas melhorias se tornam ainda mais interessantes quando pensamos em ferramentas como o ASP.NET Core, que se beneficiam diretamente das melhorias de performance, e para muitas de nós são o ambiente diário de desenvolvimento.
Entender e estudar mais Span<T> e os outros tipos relacionados de certo trará um grande benefício para os próximos anos no desenvolvimento de software na plataforma .NET.
Para saber mais, acesse o anúncio oficial:
***
Este artigo foi produzido em parceria com a Lambda3. Leia outros conteúdos no blog da empresa: blog.lambda3.com.br