Entenda o que é .Net Standard

Tempo de leitura: 3 minutos

Você conhece o .Net Standard?  Sabe como ele pode facilitar a sua vida de desenvolvedor?

Hoje o ecossistema .Net é formado por três plataformas:

  • .Net Framework, que foi criado em 2002, seu objetivo é criar aplicativos para web e Windows rodando no IIS (Internet Information Server);
  • Xamarin, usado para criar aplicativos móveis para iOs, Android e desktop para macOS;
  • .Net Core, lançado em 2016, é uma versão do .Net Framework em código livre, sua principal função é criar aplicações console, ASP.Net Core, cloud e Universal Windows Plataform (UWP). Roda em vários ambientes (Windows, macOS e Linux).

Cada uma delas surgiu pela necessidade de proporcionar meios de fazer alguma coisa que não era possível com o .Net Framework inicial, pois ele só rodava em Windows.

Percebeu-se a necessidade de comunicação entre essas plataformas, você tem um aplicativo em Windows, mas quer acessá-lo no Linux ou iOs, como fazer?

Com a finalidade de compartilhar e unificar recursos entre as três plataformas, a Microsoft criou o .Net Standard.

.Net Standard

Qual é a função do .Net Standard?

Primeiro vamos entender como funcionam as bibliotecas de classe no .Net.

Existem três tipos de bibliotecas de classe:

  • específicas da plataforma, como Base Class Library para o .Net Framework, Core Library para o .Net Core e Mono Class Library para o Xamarin, (conforme tabela abaixo);
  • bibliotecas de classes portáteis – são APIs (Application Programming Interface) que podem ser usadas para vários ambientes (Windows, Linus, iOS);
  • bibliotecas de classe .Net Standard – que é a união entre os dois primeiros tipos de bibliotecas.

.Net

O .Net Standard é uma API do .Net, uma nova biblioteca de classes para acessar todos as plataformas do .Net como mostra a tabela abaixo:

.Net

O que existe no .Net Standard?

A ideia é criar uma biblioteca de classes padrão .Net com a presença de APIs populares. Essas APIs são disponibilizadas através de contratos, que nada mais são do que interfaces.

Ao desenvolver sua aplicação, você não desenvolve para uma plataforma específica, você desenvolve para uma versão do .Net Standard.

Na versão 2.0 estão disponíveis:

.Net

Cada plataforma assina esse contrato, ou seja, disponibiliza uma versão do .Net Standard apresentando as APIs que estão disponíveis naquela versão.

Para cada versão do .Net existe uma versão do .Net Standard correspondente.

Existem algumas APIs opcionais que não fazem parte do .Net Standard, mas podem ser baixadas como pacotes separados do NuGet.

E a portabilidade?

Um dos maiores desafios do .Net Standard é evitar reduzir funcionalidades, ele busca garantir que na unificação das plataformas as bibliotecas não sejam menos portáteis do que devem ser.

E como modelar API que não podem ser implementadas em todas as plataformas?

Uma combinação de opções foi utilizada como solução:

  • tornar a API indisponível;
  • tornar a API disponível e disponibilizar uma exceção PlatformNotSupportedException;
  • emular a API.

Para as tecnologias específicas de cada plataforma que ficaram indisponíveis foram criados pacotes que devem ser baixados via NuGet e instalados conforme a necessidade.

E então? Vale a pena gastar um tempinho para estudar um pouco mais sobre .Net Standard, não é? Com certeza ele veio para agregar e facilitar a nossa vida de desenvolvedor.

Deseja receber as principais vagas de TI por WhatsApp? Clique aqui para não perder essa oportunidade!

Deixe uma resposta

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