Visão geral do ASP.NET Core

Por Daniel Roth, Rick Anderson e Shaun Luttin

O ASP.NET Core é uma estrutura de código aberto, multiplaforma e alto desempenho para a criação de aplicativos modernos conectados à Internet e habilitados para a nuvem.

Com o ASP.NET Core, você pode:

  • Compilar aplicativos e serviços Web, aplicativos IoT (Internet das Coisas) e back-ends móveis.
  • Usar suas ferramentas de desenvolvimento favoritas no Windows, macOS e Linux.
  • Implantar na nuvem ou local.
  • Execute no .NET.

Por que escolher o ASP.NET Core?

Milhões de desenvolvedores usam ou já usaram o ASP.NET 4.x para criar aplicativos Web. O ASP.NET Core é uma reformulação do ASP.NET 4.x, incluindo alterações de arquitetura que resultam em uma estrutura mais enxuta e modular.

O ASP.NET Core oferece os seguintes benefícios:

Compilar APIs Web e uma interface do usuário da Web usando o ASP.NET Core MVC

O ASP.NET Core MVC fornece recursos que ajudam você a compilar APIs Web e aplicativos Web:

Desenvolvimento do lado do cliente

O ASP.NET Core inclui o Blazor para a criação de interfaces do usuário da Web altamente interativas e também se integra a outras estruturas JavaScript de front-end populares, como Angular, React, Vue e Bootstrap. Para obter mais informações, confira ASP.NET Core Blazor e os tópicos relacionados em Desenvolvimento do lado do cliente.

Estrutura de destino do ASP.NET Core

O ASP.NET Core 3.x ou posterior só pode ter como destino o .NET Core.

Há várias vantagens em direcionar para o .NET Core, e essas vantagens aumentam a cada versão. Algumas vantagens do .NET Core em relação ao .NET Framework incluem:

Recomendamos a seguinte sequência de tutoriais para obter uma introdução ao desenvolvimento de aplicativos ASP.NET Core:

  1. Siga um tutorial do tipo de aplicativo que você deseja desenvolver ou manter.

    Tipo de aplicativo Cenário Tutorial
    Aplicativo Web Novo desenvolvimento de interface do usuário da Web do lado do servidor Introdução ao Razor Pages
    Aplicativo Web Manter um aplicativo MVC Introdução ao MVC
    Aplicativo Web Desenvolvimento de interface do usuário da Web do lado do cliente Introdução ao Blazor
    API Web Serviços HTTP RESTful Criar uma API Web
    Aplicativo de Chamada de Procedimento Remoto Serviços Contract-First usando Buffers de Protocolo Introdução a um serviço gRPC
    Aplicativo em tempo real Comunicação bidirecional entre servidores e clientes conectados Introdução a SignalR
  2. Siga um tutorial que mostra como fazer o acesso a dados básicos.

    Cenário Tutorial
    Novo desenvolvimento Razor Pages com o Entity Framework Core
    Manter um aplicativo MVC MVC com o Entity Framework Core
  3. Leia uma visão geral dos conceitos básicos do ASP.NET Core que se aplicam a todos os tipos de aplicativo.

  4. Pesquise no sumário outros tópicos de interesse.

†Também há um tutorial interativo da API Web. Nenhuma instalação local de ferramentas de desenvolvimento é necessária. O código é executado no Azure Cloud Shell no seu navegador e o curl é usado para teste.

Migrar do .NET Framework

Para obter um guia de referência para migrar aplicativos do ASP.NET 4.x para ASP.NET Core, consulte Atualizar de ASP.NET para ASP.NET Core.

O ASP.NET Core é uma estrutura de código aberto, multiplaforma e alto desempenho para a criação de aplicativos modernos conectados à Internet e habilitados para a nuvem. Com o ASP.NET Core, você pode:

  • Compilar aplicativos e serviços Web, aplicativos IoT (Internet das Coisas) e back-ends móveis.
  • Usar suas ferramentas de desenvolvimento favoritas no Windows, macOS e Linux.
  • Implantar na nuvem ou local.
  • Executar no .NET Core ou no .NET Framework.

Por que escolher o ASP.NET Core?

Milhões de desenvolvedores usam ou já usaram o ASP.NET 4.x para criar aplicativos Web. O ASP.NET Core é uma reformulação do ASP.NET 4.x, com alterações de arquitetura que resultam em uma estrutura mais enxuta e modular.

O ASP.NET Core oferece os seguintes benefícios:

Compilar APIs Web e uma interface do usuário da Web usando o ASP.NET Core MVC

O ASP.NET Core MVC fornece recursos que ajudam você a compilar APIs Web e aplicativos Web:

Desenvolvimento do lado do cliente

O ASP.NET Core integra-se perfeitamente com estruturas e bibliotecas conhecidas do lado do cliente, incluindo Blazor, Angular, React, Vue e Bootstrap. Para obter mais informações, confira ASP.NET Core Blazor e os tópicos relacionados em Desenvolvimento do lado do cliente.

ASP.NET Core direcionado para o .NET Framework

O ASP.NET Core 2.x pode ser direcionado para o .NET Core ou ao .NET Framework. Os aplicativos ASP.NET Core direcionados ao .NET Framework não são multiplataforma. Eles são executados somente no Windows. Em geral, o ASP.NET Core 2.x é composto de bibliotecas do .NET Standard. As bibliotecas gravadas com .NET Standard 2.0 podem ser executadas em qualquer plataforma .NET que implemente o .NET Standard 2.0.

O ASP.NET Core 2.x dá suporte para as versões do .NET Framework que implementam o .NET Standard 2.0:

  • É recomendável usar a versão mais recente do .NET framework.
  • .NET Framework 4.6.1 ou versões posteriores.

O ASP.NET Core 3.0 ou posterior é executado somente no .NET Core. Para obter mais detalhes sobre essa alteração, confira A first look at changes coming in ASP.NET Core 3.0 (Uma primeira análise das alterações no ASP.NET Core 3.0).

Há várias vantagens em direcionar para o .NET Core, e essas vantagens aumentam com cada versão. Algumas vantagens do .NET Core em relação ao .NET Framework incluem:

Para ajudar a fechar a lacuna de API de .NET Framework para o .NET Core, o Pacote de Compatibilidade do Windows disponibilizou milhares de APIs somente para Windows no .NET Core. Essas APIs não estavam disponíveis no .NET Core 1.x.

Recomendamos a seguinte sequência de tutoriais e artigos para obter uma introdução ao desenvolvimento de aplicativos ASP.NET Core:

  1. Siga um tutorial do tipo de aplicativo que você deseja desenvolver ou manter.

    Tipo de aplicativo Cenário Tutorial
    Aplicativo Web Para novo desenvolvimento Introdução ao Razor Pages
    Aplicativo Web Para manter um aplicativo MVC Introdução ao MVC
    API Web Criar uma API Web
    Aplicativo em tempo real Introdução a SignalR
  2. Siga um tutorial que mostra como fazer o acesso a dados básicos.

    Cenário Tutorial
    Para novo desenvolvimento Razor Pages com o Entity Framework Core
    Para manter um aplicativo MVC MVC com o Entity Framework Core
  3. Leia uma visão geral dos conceitos básicos do ASP.NET Core que se aplicam a todos os tipos de aplicativo.

  4. Pesquise no Sumário outros tópicos de interesse.

†Também há um tutorial de API Web que você segue totalmente no navegador, sem necessidade de instalação local do IDE. O código é executado em um Azure Cloud Shell e curl é usado para teste.

Migrar do .NET Framework

Para obter um guia de referência para migrar aplicativos do ASP.NET para ASP.NET Core, consulte Atualizar de ASP.NET para ASP.NET Core.

Como baixar uma amostra

Muitos dos artigos e tutoriais incluem links para exemplos de código.

  1. Baixe o arquivo zip do repositório ASP.NET.
  2. Descompacte o arquivo AspNetCore.Docs-main.zip.
  3. Para acessar o aplicativo de exemplo de um artigo no repositório descompactado, use o URL no link de exemplo do artigo para ajudá-lo a navegar até a pasta do exemplo. Normalmente, o link de exemplo de um artigo aparece na parte superior do artigo com o texto do link Exibir ou baixar o código de exemplo.

Diretivas do pré-processador no código de exemplo

Para demonstrar vários cenários, os aplicativos de exemplo usam as diretivas de pré-processador #define e #if-#else/#elif-#endif para compilar e executar diferentes seções de código de exemplo de forma seletiva. Para esses exemplos que usam essa abordagem, defina a diretiva #define na parte superior dos arquivos em C# para definir o símbolo associado ao cenário que deseja executar. Alguns exemplos podem exigir que você defina o símbolo na parte superior de vários arquivos para executar um cenário.

Por exemplo, a seguinte lista de símbolo #define indica que quatro cenários estão disponíveis (um cenário por símbolo). A configuração da amostra atual executa o cenário TemplateCode:

#define TemplateCode // or LogFromMain or ExpandDefault or FilterInCode

Para alterar a amostra que executará o cenário ExpandDefault, defina o símbolo ExpandDefault e deixe os símbolos restantes comentados de fora:

#define ExpandDefault // TemplateCode or LogFromMain or FilterInCode

Para obter mais informações sobre como usar diretivas de pré-processador C# para compilar seletivamente as seções de código, consulte #define (Referência C#) e #if (Referência C#) .

Alterações interruptivas e avisos de segurança

Alterações interruptivas e avisos de segurança são relatados no repositório Comunicados. Os comunicados podem ser limitados a uma versão específica selecionando um filtro Rótulo.

Próximas etapas

Para saber mais, consulte os recursos a seguir: