Por Nate Barbettini
Copyright © 2018. Todos os direitos reservados.
ISBN: 978-1-387-75615-5
Lançado sob a licença Creative Commons Attribution 4.0. Você é livre para compartilhar, copiar e redistribuir este livro em qualquer formato ou remixar e transformá -lo para qualquer finalidade (mesmo comercialmente). Você deve fornecer crédito apropriado e fornecer um link para a licença.
Para mais informações, visite https://creativecommons.org/license/by/4.0/
Obrigado por pegar o Little ASP.NET Core Book! Escrevi este pequeno livro para ajudar desenvolvedores e pessoas interessadas em programação da web a aprender sobre o ASP.NET Core 2.0, uma estrutura para criar aplicativos e APIs da Web.
O Little ASP.NET Core Book é estruturado como um tutorial. Você criará um aplicativo do início ao fim e aprender:
Não se preocupe, você não precisa saber nada sobre o ASP.NET Core (ou qualquer um dos itens acima) para começar.
O código para a versão final do aplicativo que você construirá está disponível no GitHub:
https://www.github.com/nbarbettini/little-aspnetcore-todo
Sinta -se à vontade para baixá -lo se quiser ver o produto acabado ou comparar ao escrever seu próprio código.
O livro em si é atualizado com frequência com correções de bugs e novo conteúdo. Se você estiver lendo um PDF, e-book ou versão impressa, verifique o site oficial (Littleasp.net/book) para ver se há uma versão atualizada disponível. A última página do livro contém informações de versão e um Changelog.
Graças a alguns contribuintes multilíngues fantásticos, o Little ASP.NET Core Book foi traduzido para outros idiomas:
ASP.NET CORE EL KITABı (turco)
简明 Asp.net Core 手册(chinês)
Se você é novo na programação, este livro apresentará os padrões e conceitos usados para criar aplicativos da Web modernos. Você aprenderá a criar um aplicativo da web (e como as peças grandes se encaixam) construindo algo do zero! Embora este pequeno livro não consiga cobrir absolutamente tudo o que você precisa saber sobre programação, ele fornecerá um ponto de partida para que você possa aprender tópicos mais avançados.
Se você já codifica um idioma de back -end, como Node, Python, Ruby, Go ou Java, notará muitas idéias familiares como MVC, modelos de exibição e injeção de dependência. O código estará em C#, mas não parecerá muito diferente do que você já sabe.
Se você é um desenvolvedor do ASP.NET MVC, se sentirá em casa! O ASP.NET Core adiciona algumas novas ferramentas e reutiliza (e simplifica) as coisas que você já conhece. Vou apontar algumas das diferenças abaixo.
Independentemente da sua experiência anterior com a programação da Web, este livro ensinará tudo o que você precisa para criar um aplicativo da web simples e útil no ASP.NET Core. Você aprenderá como criar funcionalidade usando o código de back -end e front -end, como interagir com um banco de dados e como implantar o aplicativo no mundo.
Asp.net Core é uma estrutura da web criada pela Microsoft para criar aplicativos da Web, APIs e microsserviços. Ele usa padrões comuns como MVC (Model-View-Controller), injeção de dependência e um pipeline de solicitação composto por middleware. É de código aberto sob a licença Apache 2.0, o que significa que o código-fonte está disponível gratuitamente e a comunidade é incentivada a contribuir com correções de bugs e novos recursos.
O ASP.NET Core é executado no topo do .NET Runtime da Microsoft, semelhante à Java Virtual Machine (JVM) ou ao intérprete Ruby. Você pode escrever aplicativos Core ASP.NET em vários idiomas (C#, Visual Basic, F#). C# é a escolha mais popular, e é o que vou usar neste livro. Você pode criar e executar aplicativos Core ASP.NET no Windows, Mac e Linux.
Já existem muitas ótimas estruturas da web para escolher: Node/Express, Spring, Ruby on Rails, Django, Laravel e muito mais. Que vantagens o Asp.net Core tem?
Velocidade. O núcleo do ASP.NET é rápido. Como o código .NET é compilado, ele executa muito mais rápido que o código em idiomas interpretados como JavaScript ou Ruby. O núcleo do ASP.NET também é otimizado para tarefas multithreading e assíncrona. É comum ver uma melhoria de velocidade de 5-10x em relação ao código escrito em Node.JS.
Ecossistema. O núcleo do ASP.NET pode ser novo, mas o .NET já existe há muito tempo. Existem milhares de pacotes disponíveis no NUGET (o gerenciador de pacotes .NET; pense no NPM, Ruby Gems ou Maven). Já existem pacotes disponíveis para deseralização do JSON, conectores de banco de dados, geração em PDF ou quase tudo o que você possa imaginar.
Segurança. A equipe da Microsoft leva a segurança a sério, e o ASP.NET Core é construído para ser seguro desde o início. Ele lida com coisas como higienizar dados de entrada e prevenir ataques de falsificação de solicitação de sites (CSRF), para que você não precise. Você também obtém o benefício da digitação estática com o compilador .NET, que é como ter um linhador muito paranóico ligado o tempo todo. Isso torna mais difícil fazer algo que você não pretendia com uma variável ou pedaço de dados.
Ao longo deste livro, você estará aprendendo sobre o ASP.NET Core (a estrutura da web). Ocasionalmente, mencionarei o .NET Runtime, a biblioteca de suporte que executa o código .NET. Se isso já soa como grego para você, pule para o próximo capítulo!
Você também pode ouvir sobre .NET Core e .Net Standard. A nomeação fica confusa, então aqui está uma explicação simples:
O .NET Standard é uma interface agnóstica da plataforma que define recursos e APIs. É importante observar que o padrão .NET não representa nenhum código ou funcionalidade real, apenas a definição da API. Existem diferentes "versões" ou níveis de padrão .NET que refletem quantas APIs estão disponíveis (ou qual a largura da área de superfície da API). Por exemplo, o .NET Standard 2.0 possui mais APIs disponíveis do que o .NET Standard 1.5, que possui mais APIs do que o .NET Standard 1.0.
.NET Core é o tempo de execução .NET que pode ser instalado no Windows, Mac ou Linux. Ele implementa as APIs definidas na interface padrão .NET com o código específico da plataforma apropriado em cada sistema operacional. É isso que você instalará em sua própria máquina para criar e executar aplicativos Core ASP.NET.
E apenas para uma boa medida, o .NET Framework é uma implementação diferente do padrão .NET que é somente Windows. Este foi o único tempo de execução do .NET até que .Net Core apareceu e trouxe .Net para Mac e Linux. O ASP.NET Core também pode ser executado na estrutura .NET somente Windows, mas não vou tocar muito nisso.
Se você está confuso com toda essa nomeação, não se preocupe! Chegaremos a algum código real daqui a pouco.
Se você não usou uma versão anterior do ASP.NET, pule para o próximo capítulo.
O ASP.NET Core é uma reescrita completa do ASP.NET, com foco na modernização da estrutura e finalmente a dissociar do System.Web, IIS e Windows. Se você se lembra de todas as coisas de Owin/Katana do ASP.NET 4, você já está na metade do caminho: o projeto Katana se tornou asp.net 5, que foi finalmente renomeado para o Asp.net Core.
Por causa do legado de Katana, a aula Startup está na frente e no centro, e não há mais Application_Start ou Global.asax . Todo o pipeline é acionado pelo middleware e não há mais uma divisão entre o MVC e a API da Web: os controladores podem simplesmente retornar visualizações, códigos de status ou dados. A injeção de dependência é assada, para que você não precise instalar e configurar um contêiner como o StructureMap ou o Ninject, se não quiser. E toda a estrutura foi otimizada para a velocidade e a eficiência do tempo de execução.
Tudo bem, introdução suficiente. Vamos mergulhar no Asp.net Core!