.NET Standard: As implementações do .NET3 min de leitura

Categoria: Net Core Net Framework

Olá devs e amigos! .NET Standard é onde começa as implementações. É aqui que existem os padrões e as especificações de API que devem estar dentro da implementação. Abaixo irei listar algumas das implementações mais comuns. Cada implementação tem uma finalidade, podendo ser usada para desenvolvimento de aplicativos mobile, desktop Windows ou mesmo para Linux. Sim, é possível desenvolver multiplataforma com .NET, bastando apenas escolher a implementação mais adequada para a seu projeto.

As implementações mais comuns

.NET Standard é um esforço para possibilitar cenários de desenvolvimento em que o desenvolvedor não precise se preocupar em qual SO seu código será implementado. A ideia é também fornecer bibliotecas específicas para interface do usuário para cada implementação. Abaixo segue um esquema das implementações mais comuns do .NET Standard:

.NET Standard e sua implementações

.NET Framework: Usado para criar aplicativos Windows desktop (console e gráfico) eaplicativos web ASP.NET rodando sobre o IIS. É a biblioteca padrão da Microsoft. 

  • Não é OpenSource
  • Para Windows

Mono: foi a primeira implementação do .NET Standard para o Linux (me lembro de ter usado ela logo no início). Atualmente é uma implementação multiplataforma, usada para criar aplicativos e jogos.

  • OpenSource
  • Multiplataforma

Xamarin: Usado para criar aplicativos móveis híbridos para iOS e Android, etambém para aplicações desktop para Mac OS.

  • OpenSource
  • iOS, Android, Mac OS

.NET Core: usado para criar aplicativos modo console multiplataforma, e tambémpara criar aplicativos web ASP.NET Core e serviços para nuvem.

  • OpenSource
  • Windows, Linux, Mac OS

Abaixo, podemos ver a estrutura de uma implementação:

Diagrama de uma implementação .NET Standard

Veja que ela imagem acima, a Base Libraries implementam a especificação do .NET e na camada acima temos os modelos específicos de aplicativos para cada implementação. Nesta imagem fica claro a motivação de se ter uma especificação (.NET Standard) e as implementações (.NET Core, Xamarin…): criar um ecossistema em que a CLR possa ser usada de forma uniforme em todas as implementações eliminando, por exemplo, a compilação condicional, que é muito usado quando temos um software multiplataforma.

Finalizando

O proposito deste artigo é mostrar que com a plataforma .NET você pode desenvolver para vários SOs bastando apenas escolher a implementação correta. Aqui fica a resposta para dúvida sobre qual implementação devo usar se quero desenvolver para Linux, ou MacOS, por exemplo. Abaixo segue alguns links para consulta.

Fontes:

.NET Standard
https://docs.microsoft.com/enus/dotnet/standard/net-standard


.NET Standard – Desmistificando o .NET Core e o .NET Standard
https://docs.microsoft.com/pt-br/archive/msdn-magazine/2017/september/net-standard-demystifying-net-core-and-net-standard


Xamarin
https://dotnet.microsoft.com/apps/xamarin


Mono
https://www.mono-project.com/

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.