title | author | description | ms.author | ms.custom | ms.date | uid | ms.openlocfilehash | ms.sourcegitcommit | ms.translationtype | ms.contentlocale | ms.lasthandoff | ms.locfileid |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Introdução ao ASP.NET Core |
rick-anderson |
Obtenha uma introdução ao ASP.NET Core, uma estrutura de software livre, plataforma cruzada e alto desempenho para a criação de aplicativos modernos conectados à Internet e baseados em nuvem. |
riande |
mvc |
04/07/2019 |
index |
ec2b5b72eeff21d183397284b0d538681282d45b |
47cc13ab90913af9a2887cef0896bb4e9aba4dd5 |
HT |
pt-BR |
06/26/2019 |
67399156 |
Por Daniel Roth, Rick Anderson e Shaun Luttin
O ASP.NET Core é uma estrutura de software livre, de multiplaforma e alto desempenho para a criação de aplicativos modernos conectados à Internet e baseados em nuvem. Com o ASP.NET Core, você pode:
- Compilar aplicativos e serviços Web, aplicativos IoT 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.
Milhões de desenvolvedores usaram (e continuam usando) 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 MVC fornece recursos que ajudam você a compilar APIs Web e aplicativos Web:
- O padrão MVC (Model-View-Controller) ajuda a tornar as APIs Web e os aplicativos Web testáveis.
- O Razor Pages é um modelo de programação baseado em página que torna mais fácil e produtiva a criação da interface do usuário da Web.
- A marcação Razor fornece uma sintaxe produtiva para Páginas Razor e as Exibições do MVC.
- Os Auxiliares de Marcação permitem que o código do servidor participe da criação e renderização de elementos HTML em arquivos do Razor.
- O suporte interno para vários formatos de dados e negociação de conteúdo permite que as APIs Web alcancem uma ampla gama de clientes, incluindo navegadores e dispositivos móveis.
- O model binding mapeia automaticamente os dados de solicitações HTTP para os parâmetros de método de ação.
- A Validação de Modelos executa automaticamente a validação no lado do cliente e do servidor.
O ASP.NET Core integra-se perfeitamente com estruturas conhecidas do lado do cliente e bibliotecas, incluindo Blazor, Angular, React e Bootstrap. Para obter mais informações, confira xref:blazor/index e os tópicos relacionados em Desenvolvimento do lado do cliente.
O ASP.NET Core 2.x pode ser direcionado para o .NET Core ou ao .NET Framework. Os aplicativos do ASP.NET Core direcionados ao .NET Framework não são multiplataforma,— 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:
- É altamente recomendável usar a versão mais recente do .NET framework.
- .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:
- Multiplataforma. É executado no Windows, no Linux e no macOS.
- Desempenho aprimorado
- Controle de versão lado a lado
- Novas APIs
- Código Aberto
Estamos trabalhando duro para diminuir a diferença de API entre o .NET Framework e o .NET Core. O Pacote de Compatibilidade do Windows disponibilizou milhares de APIs exclusivas 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:
-
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 a Páginas do Razor 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 -
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 -
Leia uma visão geral dos recursos do ASP.NET Core que se aplicam a todos os tipos de aplicativo:
- Conceitos básicos
-
Pesquise no Sumário outros tópicos de interesse.
* Há um novo 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.
Muitos dos artigos e tutoriais incluem links para exemplos de código.
- Baixe o arquivo zip do repositório ASP.NET.
- Descompacte o arquivo Docs-master.zip.
- Use a URL no link de exemplo para ajudá-lo a navegar até o diretório de exemplo.
Para demonstrar vários cenários, os aplicativos de exemplo usam as instruções C# #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 instrução #define
na parte superior dos arquivos C# para 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#) .
Alguns aplicativos de exemplo contém seções de código cercadas pelas instruções C# #region e #endregion. O sistema de build de documentação injeta essas regiões nos tópicos renderizados da documentação.
Os nomes das regiões geralmente contêm a palavra "snippet". O exemplo a seguir mostra uma região chamada snippet_FilterInCode
:
#region snippet_FilterInCode
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.ConfigureLogging(logging =>
logging.AddFilter("System", LogLevel.Debug)
.AddFilter<DebugLoggerProvider>("Microsoft", LogLevel.Trace))
.Build();
#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_FilterInCode)]
Você pode ignorar (ou remover) com segurança as instruções #region
e #endregion
que envolvem o código. Não altere o código dentro dessas instruções 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.
Para obter mais informações, consulte os seguintes recursos:
- xref:getting-started
- xref:tutorials/publish-to-azure-webapp-using-vs
- Conceitos básicos do ASP.NET Core
- O Community Standup semanal do ASP.NET aborda o progresso e os planos da equipe. Ele apresenta o novo software de terceiros e blogs.