Table of Contents
I'm pleased to announce that ASP.NET Core 6 and Angular, the fifth edition of my ASP.NET Core and Angular book, is now available for purchase in E-Book and Paperback format on all the major online stores, including Packt Publishing, Amazon.com (also on it, uk, in, de, fr, jp and so on), Google Play Store, Barnes & Noble, O'Reilly, Mondadori, Rakuten Kobo, and more!
Here’s the updated cover:
It's worth noting that the new edition is a complete rewrite of the previous edition, due to the breaking changes introduced with Visual Studio 2022's multi-project approach. More specifically, instead of having a single ASP.NET Core project with the Angular source code within it - like I did in all the previous editions - this time the code base is splitted between two different project templates:
- The Standalone TypeScript Angular Template, containing the Angular app (the front-end)
- The ASP.NET Core Web API template, containing the ASP.NET Core Web API (the back-end)
This innovative approach allows the developer to keep the front-end Angular app and the back-end ASP.NET Core API in two separate projects that can interoperate with each other thanks to the Visual Studio's multi-project startup feature.
As always, the book comes with a huge GitHub source code repository filled with brand-new sample projects that are fully usable by everyone – without having to buy anything.
If you want to know what the book is about, here’s the product information sheet. I definitely hope that you will like it just like you did with the previous one (ASP.NET Core 5 and Angular 11), who happened to be a best-seller in multiple countries with more than 15000 copies sold throughout the world! That couldn’t be made possible without you, so thanks again and… get ready for another development journey!
What's new
Let's start with a quick overview of the most important topics that have been added in this fifth edition:
- Visual Studio 2022’s Multi-project approach. The sample applications featured in the book have been built using the Standalone Angular App project template and the NET Web API project template working together, instead of relying to a single ASP.NET Core and Angular template used by all the previous editions.
- Swagger. A brand new section dedicated to Swagger, the world's most popular design, development & documentation standard for RESTful APIs using the Swashbuckle.AspNetCore package.
- Angular Material. The Angular interface components has been built using Angular Material, a UI component library that implements Material Design in Angular, instead than relying on Bootstrap like the previous editions.
- SCSS/SASS. SASS has been used instead of vanilla CSS in all front-end Angular projects.
- CORS. A brand-new section dedicated to Cross-Origin Resource Sharing (CORS), a mechanism that allows restricted resources on a web page to be requested from another domain outside the domain from which the first resource was served. CORS is implemented using the CORSMiddleware provided by ASP.NET Core.
- GraphQL. A brand-new chapter to explore GraphQL, the well known open-source data query and manipulation language for APIs using HotChocolate (for ASP.NET Core) and the Apollo client (for Angular).
- SignalR. A brand-new chapter to introduce SignalR, an awesome open-source software library for Microsoft ASP.NET that allows the back-end server (ASP.NET) to send asynchronous notifications to the front-end client (Angular), thus adding real-time web functionality to web applications, using the ASP.NET Core SignalR library.
- Minimal API. A set of helper method introduced with ASP.NET Core 6 to allow developers to handle HTTP requests with minimal dependencies, files, and source code.
As we can see, there's a lot of new content!
Key Features
- Multi-project approach featuring the Standalone TypeScript Angular Template and the ASP.NET Core Web API template
- Create a production-ready Single-Page Application (SPA) or Progressive Web Application (PWA)
- Adopt a full-stack approach to handle data management, API documentation, Web APIs, end-to-end testing, security, and deployment
- Updated with the latest features and additions in ASP.NET Core 6 and Angular 13
- Three brand new chapters with advanced implementation scenarios and real-time update techniques featuring Minimal APIs, GraphQL and SignalR
Book Description
Every full-stack ninja needs the tools to operate on front-end and back-end application development. This web app development book takes a hands-on, project-based approach to provide you with all the tools and techniques that web developers need to create, debug, and deploy efficient web applications using ASP.NET Core and Angular.
The fifth edition has been updated to cover advanced topics such as Minimal APIs, Web APIs with GraphQL, real-time updates with SignalR, and new features in .NET 6 and Angular 13.
You begin by building a data model with Entity Framework Core, alongside utilizing the Entity Core Fluent API and EntityTypeConfiguration class. You'll learn how to fetch and display data and handle user input with Angular reactive forms and front-end and back-end validators for maximum effect.
Later, you will perform advanced debugging and explore the unit testing features provided by xUnit.net (.NET 6) and Jasmine, as well as Karma for Angular. After adding authentication and authorization to your apps, you will explore progressive web applications, learning about their technical requirements, testing processes, and how to convert a standard web application to a PWA.
By the end of this web development book, you will understand how to tie together the front-end and back-end to build and deploy secure and robust web applications.
What you will learn
- Use the new Visual Studio Standalone TypeScript Angular template
- Implement and consume a Web API interface with ASP.NET Core
- Set up an SQL database server using a local instance or a cloud datastore
- Perform C# and TypeScript debugging using Visual Studio 2022
- Create TDD and BDD unit tests using xUnit, Jasmine, and Karma
- Perform DBMS structured logging using providers such as SeriLog
- Deploy web apps to Azure App Service using IIS, Kestrel, and NGINX
- Learn to develop fast and flexible Web APIs using GraphQL
- Add real-time capabilities to Angular apps with ASP.NET Core SignalR
Who this book is for
This book is for experienced ASP.NET developers who already possess some familiarity with ASP.NET Core and Angular and are looking to learn how to use them effectively together.
The fully documented code samples (also available on GitHub) and the step-by-step implementation tutorials make this book easy to follow.
Table of Contents
- Introducing ASP.NET and Angular
- Getting Ready
- Looking Around
- Front-End and Back-End Interactions
- Data Model with Entity Framework Core
- Fetching and Displaying Data
- Forms and Data Validation
- Code Tweaks and Data Services
- Back-End and Front-End Debugging
- ASP.NET Core and Angular Unit Testing
- Authentication and Authorization
- Progressive Web Apps
- Beyond REST – Web API with GraphQL
- Real-Time Updates with SignalR
- Windows, Linux, and Azure Deployment
About the Author
Valerio De Sanctis is a skilled IT professional with 20 years of experience in lead programming, web-based development, and project management using ASP.NET, PHP, Java, and JavaScript-based frameworks. He held senior positions at a range of financial and insurance companies, most recently serving as Chief Technology and Security Officer at a leading IT service provider for top-tier insurance groups. He's an active member of the Stack Exchange Network, providing advice and tips on the Stack Overflow, ServerFault, and SuperUser communities; he is also a Microsoft Most Valuable Professional (MVP) for Developer Technologies.