DEV Community

Leandro Torres
Leandro Torres

Posted on

.NET Standard

Olá Devs! 👩‍💻👨‍💻

Estava estudando gRPC. Escrevi um "Server" com netcoreapp3.1 e pensei em fazer uma implementação de "Client" utilizando o ".NET Framework 4.8". Não vou entrar em detalhes sobre o "Client" e os motivos da escolha, simplesmente fazia sentido.

Comecei a montar meu "Client", mas... A versão do Framework gRPC que eu queria utilizar, não é compatível com o ".NET Framework 4.8" e veio a lembrança sobre o tema do post: ".NET Standard".

Visão geral do .NET Standard

".NET Standard é uma especificação formal das APIs do .NET que estão disponíveis em várias implementações do .net. A motivação por trás da .NET Standard era estabelecer uma maior uniformidade no ecossistema do .NET."

O que é o ".NET Standard" ???

O ".NET Standard" foi a forma encontrada para unificar as plataformas ".NET" de forma eficiente, com o objetivo de evitar uma possível fragmentação e proporcionando a escrita de um código único para qualquer plataforma. Quem segue o padrão, terá o mesmo conjunto consistente de APIs, que é determinado de acordo com a versão do ".NET Standard".

Eu preciso saber disso ?

Sei que a coisa mudou um pouco depois do ".NET 5", mas vale lembrar que é necessário entender minimamente sobre o assunto. Na minha visão é um tema importante para quem trabalha com ".NET".

Comparando Versões

Fazendo um comparativo, rolou uma mudança bastante agressiva da versão 2.0 para a versão 2.1. Um detalhe importante é que esse salto de versão decretou o fim da compatibilidade com o ".NET Framework".

.NET Standard 2.0

.NET Standard 2.1

Considerações finais

Essa mudança acabou afetando o que eu estava querendo fazer, mas como existem alternativas, acabei partindo para outro caminho e resolvi o meu problema. Para uma boa parte dos casos teremos alternativas, mas temos que ter atenção para determinar se já não é a hora de migrar para ".NET 5.0". Sendo possível e viável, acho que a migração vale o esforço.

Mais detalhes sobre as versões
🎯 .NET Standard 2.1
https://github.com/dotnet/standard/blob/master/docs/versions/netstandard2.1.md

🎯 .NET Standard 2.0
https://github.com/dotnet/standard/blob/master/docs/versions/netstandard2.0.md

🎯 Repositório

GitHub logo dotnet / standard

This repo is building the .NET Standard

.NET Standard

This repository contains the principles and definition of the .NET Standard.

.NET Standard solves the code sharing problem for .NET developers across all platforms by bringing all the APIs that you expect and love across the environments that you need: desktop applications, mobile apps & games, and cloud services:

  • .NET Standard is a set of APIs that all .NET platforms have to implement. This unifies the .NET platforms and prevents future fragmentation.
  • .NET Standard 2.0 will be implemented by .NET Framework, .NET Core, and Xamarin. For .NET Core, this will add many of the existing APIs that have been requested.
  • .NET Standard 2.0 includes a compatibility shim for .NET Framework binaries significantly increasing the set of libraries that you can reference from your .NET Standard libraries.
  • .NET Standard will replace Portable Class Libraries (PCLs) as the tooling story for building multi-platform .NET libraries.

How to Engage, Contribute and

Links e Referências:

👉 gRPC
👉 .NET Standard - A formal specification of the APIs that are common across .NET implementations
👉 .NET Standard - Visão geral do .NET Standard
👉 .NET Core e .NET Standard: Qual a diferença
👉 Novidades do .NET 5

"O passado é história, o futuro um mistério e o presente uma dádiva."
Provérbio chinês

Até a próxima!👊

Top comments (0)