.NET

.NET

.NET Core 2.1 Preview 1 – o que tem de legal?

14 mar, 2018
Publicidade

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