Visão geral do ASP.NET Core

Por Daniel Roth, Rick Anderson e Shaun Luttin

ASP.NET Core é uma estrutura multiplataforma, de alto desempenho, de software livre para a criação de aplicativos modernos, habilitados para nuvem e conectados à Internet.

Com o ASP.NET Core, você pode:

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

Por que escolher o ASP.NET Core?

Milhões de desenvolvedores usam ou usam ASP.NET 4.x para criar aplicativos Web. ASP.NET Core é uma reformulação do ASP.NET 4.x, incluindo alterações arquitetônicas 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

ASP.NET Core integra-se perfeitamente com estruturas e bibliotecas populares do lado do cliente, incluindo Blazor, Angular, React e Bootstrap. Para obter mais informações, consulte ASP.NET Core Blazor e tópicos relacionados no desenvolvimento do lado do cliente.

estruturas de destino ASP.NET Core

ASP.NET Core 3.x e posteriores só podem ter como destino o .NET Core. Em geral, ASP.NET Core é composto por bibliotecas .NET Standard. As bibliotecas gravadas com .NET Standard 2.0 podem ser executadas em qualquer plataforma .NET que implemente o .NET Standard 2.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:

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

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

    Tipo de aplicativo Cenário Tutorial
    Aplicativo Web Novo desenvolvimento de interface do usuário web do lado do servidor Introdução às Razor Páginas
    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 RESTserviços HTTP ful Criar uma API Web
    Aplicativo de Chamada de Procedimento Remoto Serviços de primeiro contrato 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 ao SignalR
  2. Siga um tutorial que mostra como fazer o acesso básico a dados.

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

  4. Navegue pelo sumário para outros tópicos de interesse.

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

Migrar de .NET Framework

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

ASP.NET Core é uma estrutura multiplataforma, de alto desempenho, de software livre para a criação de aplicativos modernos, habilitados para nuvem e conectados à Internet. Com o ASP.NET Core, você pode:

Por que escolher o ASP.NET Core?

Milhões de desenvolvedores usam ou têm usado 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

ASP.NET Core integra-se perfeitamente a estruturas e bibliotecas populares do lado do cliente, incluindoBlazor, Angular, React e Bootstrap. Para obter mais informações, consulte ASP.NET Core Blazor e tópicos relacionados no 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. ASP.NET Core aplicativos direcionados a .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:

  • .NET Framework versão mais recente é recomendada.
  • .NET Framework 4.6.1 e versões posteriores.

O ASP.NET Core 3.0 e posterior somente executará 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 do 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 para o tipo de aplicativo que você deseja desenvolver ou manter.

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

    Cenário Tutorial
    Para novo desenvolvimento Razor Páginas 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 ASP.NET Core que se aplicam a todos os tipos de aplicativo.

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

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

Migrar de .NET Framework

Para obter um guia de referência para migrar aplicativos ASP.NET para ASP.NET Core, consulte Migrar 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 a 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 a exibição de texto do link ou o código de exemplo de download.

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

Para demonstrar vários cenários, os aplicativos de exemplo usam as diretivas e #if-#else/#elif-#endif o #define pré-processador para compilar e executar seletivamente diferentes seções de código de exemplo. Para os exemplos que usam essa abordagem, defina a #define diretiva na parte superior dos arquivos C# para definir o símbolo associado ao cenário que você deseja executar. Alguns exemplos exigem a definição do 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#) .

Regiões no código de exemplo

Alguns aplicativos de exemplo contêm seções de código cercadas por diretivas #region e #endregion C#. O sistema de build de documentação injeta essas regiões nos tópicos renderizados da documentação.

Os nomes de região geralmente contêm a palavra "snippet". O exemplo a seguir mostra uma região chamada snippet_WebHostDefaults:

#region snippet_WebHostDefaults
Host.CreateDefaultBuilder(args)
    .ConfigureWebHostDefaults(webBuilder =>
    {
        webBuilder.UseStartup<Startup>();
    });
#endregion

O snippet de código C# precedente é referenciado no arquivo de markdown do tópico com a seguinte linha:

[!code-csharp[](sample/SampleApp/Program.cs?name=snippet_WebHostDefaults)]

Você pode ignorar (ou remover) com segurança as #region diretivas que #endregion cercam o código. Não altere o código dentro dessas diretivas se você planeja executar os cenários de exemplo descritos no tópico. Fique à vontade para alterar o código ao experimentar com outros cenários.

Para obter mais informações, veja Contribuir para a documentação do ASP.NET: snippets de código.

Alterações significativas e avisos de segurança

Alterações significativas 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 de rótulo.

Próximas etapas

Para saber mais, consulte os recursos a seguir: