Pontos Principais
- O conteúdo do livro é um ótimo recurso para aprender sobre .NET Core;
- Se você não sabe sobre Injeção de Dependência, o livro tem ótimas demonstrações sobre como usar esse recurso do ASP.NET Core em suas aplicações web;
- O livro aborda o padrão MVC e como é usado no ASP.NET Core;
- Você aprenderá sobre o Entity Framework Core que permitirá trazer seu aplicativo web para acessar dados em seu banco;
- Finalmente, você aprenderá o que precisa saber sobre segurança e auditoria para seu aplicativo ASP.NET Core antes de publicá-lo.
Com o lançamento do .NET Core 2.0, a A Microsoft tem a próxima versão principal da plataforma que é modular, multiplataforma e open source, lançada inicialmente em 2016. O .NET Core foi criado para ter muitas das APIs que estão disponíveis na versão atual do .NET Framework. Criado inicialmente para permitir a próxima geração de soluções ASP.NET, mas agora impulsiona e é a base para muitos outros cenários, incluindo IoT, nuvem e soluções móveis de próxima geração. Nesta segunda série que abrange o .NET Core, exploraremos mais alguns dos benefícios do .NET Core e como ele pode beneficiar não apenas os desenvolvedores .NET tradicionais, mas todos os tecnólogos que precisam trazer soluções robustas, performantes e econômicas para o mercado.
O livro ASP.NET Core in Action, de Andrew Lock, cobre o ASP.NET Core desde o início até o fim, onde você terá o conhecimento fundamental para criar aplicações web usando este framework moderno, altamente disponível e escalável, e multiplataforma.
Se você é novo na programação ASP.NET MVC, o livro dá uma boa visão geral do padrão Model-View-Controller (MVC), bem como o legado do .NET Framework. Como o autor declarou, a vontade era de reunir muita das informações que existem na Internet em um livro com bons exemplos. Os exemplos de código são pequenas amostras independentes que explicam o conceito coberto e não fazem parte de um projeto maior e estendido que outros livros cobrem para desenvolvimento web. No livro também tem bons exemplos de como usar o ASP.NET Core em plataformas de nuvem e com tecnologias de container como Docker. O livro está organizado em três partes.
Para começar, o livro não exige que o leitor tenha qualquer conhecimento do ASP.NET Core MVC. Eu achei que para ser bom, eu poderia ver que os leitores com experiência passada poderiam usar isso como uma atualização. Cobrindo a arquitetura do ASP.NET Core, o livro aborda uma das melhorias no Middleware Pipeline. Em seguida, somos levados através das implementações do padrão MVC com roteamento, vinculação de modelos e renderização HTML com views Razor. Finalmente, há um bom capítulo sobre o desenvolvimento de APIs Web com o ASP.NET Core.
A Parte Dois do livro aborda os tópicos da Parte 1. Explica e demonstra a Injeção de Dependência (DI) em uma grande parte da segunda metade do livro. DI é uma nova parte fundamental do .Net Core, e há muitos exemplos mostrando como alavancar isso em seus projetos web. Outra melhoria no ASP.NET Core é o middleware do filtro que é explicado. Em seguida, o livro aborda o acesso aos dados usando o Entity Framework Core, bem como a autenticação e a autorização de identidades de usuários. Finalmente, a Parte 2 termina com a publicação de aplicativos para os que os usuários acessem e aproveitem.
A terceira e última parte do livro abrange conceitos que cada desenvolvedor do ASP.NET Core deve conhecer. Isso inclui detalhes de registro de sua aplicação para consultas e análises, preocupações de segurança e considerações que cada aplicação web precisa, e também, testar suas aplicações web usando testes de integração e de unidade.
O livro não é apenas mais um abordando ASP.NET Core, ele traz uma visão prática e abrangente e profundos conhecimentos para criar aplicações web que podem escalar, executar e ser implantados em vários servidores e plataformas de nuvem. O autor reúne tudo isso em pequenas seções de aprendizagem que se encaixam para oferecer ao leitor o conhecimento desta nova e excitante estrutura web.
O Infoq falou com o autor, Andrew Lock.
InfoQ: Conte-nos um pouco sobre seu livro
Andrew Lock: O ASP.NET Core in Action leva você desde o básico de como a web funciona até a criação de aplicativos usando autenticação, componentes personalizados e MVC. Ele fornece uma visão aprofundada de todos os principais recursos do ASP.NET Core e mostra como você pode usar o sistema de configuração, injeção de dependência e pipelines de middleware para criar aplicativos renderizados do lado do servidor ou APIs da Web melhores.
InfoQ: Há muito mais livros abordando o .NET Core e especialmente o ASP.NET Core. O que torna o seu diferente?
Lock: O ASP.NET Core in Action cobre o ASP.NET Core 2.0, enquanto muitos dos livros existentes cobrem o ASP.NET Core 1.0. Houveram algumas mudanças significativas que ocorreram durante a transição da versão 1 para 2, é importante ter isso em mente ao escolher um livro. Além disso, muitos outros livros tentam cobrir EF Core ou .NET Core, bem como ASP.NET Core no mesmo livro. O ASP.NET Core in Action fornece o histórico sobre esses tópicos (incluindo um capítulo sobre o EF Core), mas permanece focado no aspecto web. Se você está interessado nesses tópicos, eu sugiro que você leia também os livros complementares, EF Core in Action e .NET Core in Action.
InfoQ: Para quem esse livro é destinado?
Lock: O livro é escrito assumindo que você é um desenvolvedor C# com pouca ou nenhuma experiência web. Fornecendo a base e a descrição em torno de muitos dos conceitos fundamentais no ASP.NET Core e desenvolvimento web em geral. Se você já é um desenvolvedor do ASP.NET ou web, então você será capaz de pular a base para ver como o ASP.NET Core implementa conceitos familiares, bem como os novos paradigmas que ele introduz.
InfoQ: O que o levou a escrever este livro?
Lock: Eu comecei a blogar sobre ASP.NET Core há mais de dois anos atrás. Eu estava vagamente consciente de seu desenvolvimento até esse ponto, mas eu realmente comecei a prestar atenção no prazo do RC1. Blogar foi uma maneira para realmente investigar a estrutura, explorar o código-fonte e descobrir como a estrutura funcionava. Quando fui abordado para escrever o livro, aproveitei a oportunidade de criar algo mais permanente a partir de tudo o que aprendi e aprofundar-me mais.
InfoQ: Por que você especificamente deveria escrever este livro?
Lock: O ASP.NET Core passou por algumas mudanças em sua curta vida útil. Como alguém "do lado de fora" da Microsoft que está usando o framework há dois anos e tem aplicativos rodando em produção, eu sinto que tenho uma boa noção das principais características que você precisa para aprender e as grandes dificuldades que pode encontrar no caminho!
InfoQ: Como você vê os principais desafios enfrentados pelas organizações que pensam em adotar o ASP.NET Core?
Lock: Para as organizações que pensam em adotar o ASP.NET Core para novas aplicações, os principais desafios são se atualizar com os novos conceitos do ASP.NET Core. Existem certos padrões e práticas, como a injeção de dependência e o conceito de middleware que você vai precisar para começar a usar o ASP.NET Core de forma eficaz.
As organizações com aplicativos "legados" executados em .Net Framework ASP.NET que estão pensando em mudar para o ASP.NET Core precisam entender que são duas coisas diferentes. Embora seja possível, a facilidade com que você tem depende muito de como seus aplicativos são estruturados. O .NET Core 2.0 e .NET Standard 2.0 tornam o processo de portabilidade de lógica de negócios relativamente simples, mas o próprio aplicativo web do ASP.NET pode ser muito mais complicado.
InfoQ: Com base em sua experiência, você poderia dar algum conselho para aqueles que estão definindo o caminho de adoção do ASP.NET?
Lock: Experimente e crie aplicativos ASP.NET Core pequenos inicialmente. Pode ser tentador portar aplicativos ASP.NET existentes para o ASP.NET Core, mas isso não é tão simples quanto você imagina. Além disso, tente e direcione o .NET Core em vez de .NET Framework. Isso lhe dará a maior portabilidade de seu código mais tarde se você decidir executar seus aplicativos no Docker. Abrace os padrões e convenções para os quais a estrutura o direciona.
InfoQ: Onde você vê as maiores mudanças e desafios para o ASP.NET Core nos próximos anos?
Lock: Penso que um dos maiores desafios para o ASP.NET Core é também um dos seus pontos fortes - a velocidade em que o framework está evoluindo. Movendo-se rapidamente, adicionando novos recursos e corrigindo bugs, tem sido uma característica do ASP.NET Core até agora. O lado positivo, que permite que a equipe inove, e acompanhe as tendências web. No entanto, em muitos aspectos que contrariam a forma "tradicional" da Microsoft. É preciso ter cuidado para que o ASP.NET Core não seja visto como um alvo em movimento por clientes .NET "clássicos", como empresas.
InfoQ: Não vejo nenhuma menção de plataformas de nuvem como Azure ou AWS no livro. Isso é deliberado? O que você pensa sobre o uso do ASP.NET Core em plataformas de nuvem?
Lock: Sim, optei deliberadamente por não me concentrar nas plataformas de nuvem propriamente ditas, por uma série de razões. Primeiro, eu queria que o livro se concentrasse no ASP.NET Core framework em si. Embora relacionado, a implantação para a nuvem vem com um conjunto adicional de requisitos e considerações que são um pouco tangenciais. Em segundo lugar, o livro já é relativamente longo - incluindo capítulos sobre plataformas de nuvem teria atrasado a data de publicação. Finalmente, as plataformas em nuvem hoje em dia mudam muito rapidamente - quaisquer instruções que eu incluísse no livro provavelmente ficariam desatualizadas muito rapidamente!
Em termos de implantação para plataformas de nuvem em geral, o ASP.NET Core é uma boa escolha. Com todos os principais players suportando diretamente o .NET Core, vale a pena considerar. Tudo discutido no livro pode ser aplicado a aplicativos em execução na nuvem, só é necessário seguir a documentação da plataforma de nuvem para ver como conseguir isso. A documentação da Microsoft é especialmente boa hoje em dia.
InfoQ: Finalmente, fale-nos um pouco sobre você?
Lock: Eu sou um desenvolvedor em tempo integral, trabalhando predominantemente com ASP.NET em Devon, Reino Unido. Eu me formei com um Mestrado em Engenharia pela Universidade de Cambridge em 2008 e concluí meu Ph.D. em Processamento de Imagem Médica em 2014. No momento, estou focado na construção de aplicativos ASP.NET Core para executar em Docker e Kubernetes. No meu tempo livre, eu gosto de viajar e correr com a minha namorada.
Sobre o Autor
Andrew Lock tem trabalhado com ASP.NET nos últimos sete anos. Seu foco atualmente está no ASP.NET Core framework.
O .NET Core foi criado para ter muitas das APIs que estão disponíveis na versão atual do .NET Framework. Ele foi inicialmente criado para permitir a próxima geração de soluções ASP.NET, mas agora impulsiona e é a base para muitos outros cenários, incluindo IoT, nuvem e soluções móveis da próxima geração. Nesta segunda série que abrange o .NET Core, exploraremos mais alguns dos benefícios do .NET Core e como ele pode beneficiar não apenas os desenvolvedores .NET tradicionais, mas todos os tecnólogos que precisam trazer soluções robustas, performantes e econômicas para o mercado.
Este artigo é parte da série ".NET Core". É possível se inscrever para receber notificações via RSS.