Introdução ao O que é o .NET Core

O artigo a seguir O que é o .Net Core fornece um esboço da arquitetura do .Net Core em detalhes. .Net Core é uma plataforma de desenvolvimento de código aberto projetada e mantida pela Microsoft e pela comunidade .Net. O .Net Core foi projetado tendo em mente várias necessidades e propósitos, com foco no desenvolvimento da Web, desenvolvimento do Windows Phone e desenvolvimento de aplicativos da Windows Store. .Net Core é um subconjunto do .Net Framework. Em termos mais precisos, uma versão bifurcada do .Net Framework. Agora você pode estar se perguntando qual era a necessidade de apresentar o .Net Core quando este é apenas um subconjunto do .Net Framework. .Net Core tem algumas mudanças fundamentais na maneira como opera. Em primeiro lugar, é mais modularizado. Isso ajuda a criar aplicativos apenas com as bibliotecas necessárias e sem bagagem extra. Segundo, é verdadeiramente multiplataforma. Isso torna a escolha da plataforma de desenvolvimento do futuro.

Arquitetura principal .Net

  • Com qualquer plataforma ou estrutura de desenvolvimento, o básico e o mais importante é sua arquitetura. A arquitetura define a maneira como os desenvolvedores e as bibliotecas irão interagir com a plataforma. Antes de aprendermos mais sobre o .Net Core, é importante ver o que está no centro do .Net Core.

  • É aqui que o .Net Core fica na pilha .Net. Os vários .Net Frameworks e bibliotecas, até a data, usam as bibliotecas de tempo de execução comuns, compiladores e pacotes NuGet. Eles constroem suas próprias bibliotecas específicas da plataforma sobre esses pacotes comuns. As bibliotecas comuns contêm as definições para itens primitivos, como tipos de dados. Isso dificilmente muda e, portanto, é a base para todas as estruturas de pilha .Net.

Principais terminologias na arquitetura do .Net Core

Vamos entender as principais terminologias na arquitetura do .Net Core.

Core CLR

O Core CLR é o Common Language Runtime otimizado para implantações multiplataforma e baseadas na nuvem. Isso, junto com o .Net Native Runtime, forma a base de todas as plataformas baseadas em .Net.

.Net Native Runtime

Também chamado de tempo de execução gerenciado, o .Net Native Runtime contém as bibliotecas nativas baseadas em janelas. Isso também contém a compilação Ahead Of Time (AOT) em vez da compilação anterior Just In Time (JIT). Isso melhora o desempenho dos aplicativos.

O .Net Native Runtime e o Core CLR são as camadas que contêm implementações de tipos primitivos, bem como coleções genéricas em .Net. Essas camadas dificilmente mudam e são constantes nas várias pilhas .Net. As várias APIs de pilha .Net, portanto, compartilham as mesmas implementações.

BCL unificado

A Unified Base Class Library, também conhecida como CoreFX, consiste nas classes básica e fundamental que formam o núcleo da plataforma .Net Core.

Modelos de aplicativos

No topo da BCL, estão os vários modelos de aplicativos que os desenvolvedores utilizam para desenvolver aplicativos específicos da plataforma. Atualmente, o .Net Core possui o modelo ASP .Net para desenvolvimento na Web e o Windows Store Model para desenvolvimento de aplicativos para Windows.

O poder do NuGet

  • A plataforma .Net Core, em forte contraste com seu antecessor .Net Framework, é fornecida como um conjunto de pacotes NuGet. Assim, o .Net Core contribui essencialmente para o já próspero ecossistema dos pacotes NuGet. Observe que o .Net Core não vem como um único pacote NuGet. Em vez disso, ele foi fatorado, modularizado e enviado como vários pacotes NuGet.
  • Além disso, a Microsoft eliminou a confusão em torno da nomenclatura dos pacotes NuGet e dos assemblies relevantes. No .Net Core, os pacotes NuGet têm o mesmo nome que o assembly. Por exemplo, agora coleções imutáveis ​​são enviadas com o nome de System.Collections.Immutable em vez de Microsoft.BCL.Immutable. Isso simplificou bastante o problema de determinar qual pacote NuGet contém qual assembly. Ei, eles são nomeados o mesmo agora.

Então, por que a Microsoft decidiu enviar o .Net Core como um conjunto de pacotes NuGet? Bem, aqui estão as razões:

  • O NuGet permite a entrega do .Net Core de maneira ágil. Qualquer atualização para qualquer recurso .Net Core pode ser simplesmente consumida atualizando o pacote NuGet.
  • Isso generalizou as dependências em seus aplicativos. Agora não há referências de montagem, bibliotecas e referências NuGet de terceiros. Eles são todos NuGet agora. Portanto, se algum pacote NuGet de terceiros exigir uma versão superior da biblioteca System.Collections, ele solicitará que você atualize o sistema correspondente. Coleções NuGet e pronto. Torna-se realmente muito simples.
  • A abordagem modular do .Net Core garante que cada aplicativo implante apenas os pacotes necessários. Sem bagagem extra.

Como o .Net Core facilita o trabalho?

O .Net Core é uma plataforma na qual existem estruturas, como o ASP. Net Core e a Plataforma Universal do Windows, que aproveitam e ampliam os recursos do. Net Core. Vejamos os recursos do .Net Core que facilitam a vida dos desenvolvedores.

Plataforma cruzada e arquitetura

O .Net Core segue o princípio de construir uma vez executar em qualquer lugar. Portanto, é multiplataforma. Ele suporta plataformas Windows, MacOS e Linux. Você pode criar seu aplicativo em qualquer plataforma e executar em outra. Além disso, um aplicativo incorporado no .Net Core é consistente em seu comportamento em qualquer arquitetura, como x64, x86 ou ARM.

Ferramentas de linha de comando

O .Net Core é fornecido com ferramentas de linha de comando fáceis de usar para quem gosta de codificar em preto e branco. Essas ferramentas são úteis para o desenvolvimento local e para a integração contínua de código nos repositórios.

CI / CD flexível

O .Net Core suporta integração contínua e implantação contínua. Portanto, você só precisa se preocupar com a lógica do código. O resto é tratado pela plataforma .Net Core.

Idiomas e IDEs

.Net Core aplicativos e bibliotecas e podem ser codificados em C #, F # e Visual Basic. Isso também é suportado pela integração com seus IDEs favoritos, como Visual Studio, VS Code, Sublime, Vim, etc.

Compatibilidade e Suporte

Compatível com .Net Framework, .Net Standard, Mono APIs e Xamarin. Por ser de código aberto, possui grande suporte da comunidade e da Microsoft.

APIs

O .Net Core expõe APIs para muitos cenários de uso geral e de alto desempenho. Por um lado, existem APIs para tipos de dados primitivos (bool, int, etc.) e Coleções (Listas, Dicionários etc.). Por outro lado, existem APIs para tipos de alto desempenho, como Vector e Pipelines.

Habilidades necessárias

O Net Core é uma plataforma de desenvolvimento de aplicativos. Existem estruturas baseadas no .Net Core que os desenvolvedores podem aproveitar para criar aplicativos sobre elas. Para aprender o desenvolvimento no .Net Core, você precisa de alguns conhecimentos básicos sobre o desenvolvimento do ASP .Net, a arquitetura MVC e como os pacotes e referências de montagem do NuGet funcionam no ASP .Net. Isso simplificará bastante sua curva de aprendizado. Além disso, o conhecimento de C # é essencial para o desenvolvimento de um aplicativo no .Net Core.

Para aqueles que já são desenvolvedores do .Net Framework e desejam migrar seus aplicativos para o .Net Core, é recomendável ter em mente os seguintes pontos:

  • O .Net Core suporta a arquitetura ASP .Net MVC. No entanto, se seu aplicativo for baseado em Web Forms, o .Net Core não suportará WebForms.
  • Se seu aplicativo for desenvolvido com base na arquitetura ASP .Net MVC, o único ganho para movê-lo para a plataforma .Net Core é a compatibilidade cruzada. Se a compatibilidade cruzada não mudar muito o seu aplicativo, o ASP .Net MVC também é bom.
  • O Net Core se concentra principalmente no desenvolvimento da Web e da Windows Store. Portanto, atualmente, não há suporte para aplicativos da área de trabalho.
  • Os aplicativos de console são os mais beneficiados pela migração do .Net Core. Isso os tornaria operáveis ​​em vários sistemas operacionais.
  • O Silverlight embutido em aplicativos da Web precisaria de migração para HTML antes de considerar o .Net Core. O suporte ao Silverlight foi descontinuado pela Microsoft.

Como o .Net Core ajuda no crescimento da carreira

O .Net Core é verdadeiramente multiplataforma. Esta é a futura plataforma da Microsoft para ambientes de desenvolvimento integrados para os dispositivos do futuro. O Net Core concentra-se na Web, na Windows Store e em dispositivos baseados em toque.

O aprendizado do .Net Core ajudará muito você a criar aplicativos que atendem às necessidades futuras de dispositivos e plataformas. Os princípios de design do .Net Core garantem que você siga as melhores práticas de desenvolvimento. Existe uma necessidade crescente de uma experiência de aplicativo mais robusta e interativa, seja na Web ou em dispositivos móveis. Isso, por sua vez, impulsiona a necessidade de uma plataforma aprimorada, mais simples e amigável ao desenvolvedor. Longe vão os dias em que um aplicativo desenvolvido em uma plataforma não funcionaria em outra plataforma. A demanda atual é desenvolver aplicativos criados uma vez e executados em qualquer lugar. O .Net Core baseia-se nessa ideologia e, ao aprender, ajudaria a criar melhores aplicativos para dispositivos modernos.

Conclusão - O que é o .NET Core

A plataforma .NET Core não é como seu antecessor .Net Framework. É uma nova pilha .NET otimizada para desenvolvimento de código aberto e entrega ágil através do NuGet. Embora o .NET Framework tenha sido projetado para ser multiplataforma, ele era basicamente uma plataforma somente para Windows. O .NET Core é verdadeiramente multiplataforma. A Microsoft está pronta para o futuro e o .Net Core é um passo muito proveitoso para isso.

É recomendável que os leitores interessados ​​se aprofundem mais no .Net Core lendo os blogs dos Desenvolvedores da Microsoft. Para aqueles que desejam começar a criar aplicativos no .Net Core, a melhor maneira é começar com um projeto de shell no .Net Core no Visual Studio.

Artigos recomendados

Este é um guia para o que é o .NET Core. Aqui discutimos a arquitetura do .NET Core, as habilidades necessárias e o trabalho, juntamente com o crescimento da empresa. Você também pode consultar nossos outros artigos sugeridos -

  1. Framework ASP.NET
  2. O que é o ASP.NET?
  3. Ciclo de vida da página ASP.NET
  4. Carreira no ASP.NET
  5. Perguntas da entrevista com o Xamarin | 18 principais