BT

.NET Core mais fácil com o pacote de compatibilidade do Windows

| por Jonathan Allen Seguir 530 Seguidores , traduzido por Mário Nunes Lima Seguir 1 Seguidores em 13 mar 2018. Tempo estimado de leitura: 2 minutos |

Uma das principais razões para mudar do .NET para o .NET Core é a capacidade de ser executado no Linux. Não é viável migrar aplicações grandes em uma única etapa; por isso a Microsoft recomenda uma transição incremental:

  • Migrar para o ASP.NET Core (enquanto está segmentando o .NET Framework)
  • Migrar para o .NET Core (enquanto estiver no Windows)
  • Migrar para o Linux
  • Migrar para [Linux hospedado em] Azure

Embora pareça bom, na prática, a falta de APIs de missão crítica ainda pode impedir que os projetos deem o segundo passo. Neste momento, entra em jogo o Pacote de Compatibilidade do Windows para o .NET Core. Abrangendo 20.000 APIs, esta coleção de pacotes NuGet pretende ajudar os desenvolvedores de aplicativos web e suas demandas com bibliotecas.

As APIs são divididas em duas categorias: somente para Windows e cross-plataform. As APIs somente para Windows incluem:

  • Active Directory;
  • Criptografia;
  • Logs de eventos e contadores de desempenho;
  • Segurança no sistema de arquivos;
  • Canais nomeados;
  • Acesso ao registro;
  • Serviços do Windows.

Em sua maior parte, estas APIs estão profundamente ligadas ao sistema operacional Windows, embora seus equivalentes no Linux sejam muitas vezes diferentes apenas em design.

As bibliotecas cross-platform incluem:

  • Cache;
  • ConfigurationManager (tal como, arquivos app.config ou web.config);
  • DatasetExtensions (usado para acessar o banco de dados sem um ORM);
  • Acesso ao banco de dados ODBC;
  • System.Configuration.ConfigurationManager (MEF v1);
  • System.Drawing;
  • System.IO.Packaging (usado para interagir com arquivos Zip estilo MS Office);
  • System.ServiceModel (tal como, Windows Communication Foundation).

Deve-se notar que essas APIs estão sendo omitidas intencionalmente na distribuição .NET Core completa. Immo Landwerth, funcionário da Microsoft, explicou:

A primeira razão para ser um pacote separado é que muitas APIs são fornecidas apenas por motivos de compatibilidade. A segunda razão é que o novo código não deve depender delas, pois muitas APIs são apenas para Windows. Não queremos guiá-los por um caminho que dificulta a evolução do seu aplicativo entre plataformas.

Para facilitar a distinção entre as APIs somente para Windows e cross-platforms, um analisador de compatibilidade de API pode ser usado para sinalizar as APIs das quais os aplicativos não devem mais depender.

São dadas as mesmas opções de omissão que as APIs obsoletas, mas também há a opção de suprimir avisos para plataformas específicas. Isso é útil se estiver planejando suportar seu código em um subconjunto específico de plataformas (por exemplo, apenas Windows e Linux, mas não Mac OS). Para fazer isso, só é preciso editar seu arquivo de projeto e adicionar uma propriedade "PlatformCompatIgnore" cuja qual lista todas as plataformas a serem ignoradas.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT