About This Book

The book "Practical Multiple-Page Apps with ASP.NET Core and Angular Elements - Building Modern Multiple-Page Web Applications Using ASP.NET Core Razor Pages, Angular Elements, WebPack, RxJS, and Mini-SPAs has just been published. This book follows the same style of my previous books on .NET and Web programming and emphasizes practical applications of the latest technolgies to build ultra modern multiple-page web applications. It will provide all the tools you need to develop professional, ultra-modern, responsive MPAs using ASP.NET Core Razor Pages and Angular Elements. I hope this book will be useful for .NET programmers, web developers, and students of all skill levels.

This book teaches you how to build a modern web site/application using a hybrid approach – the simplest being host one or more mini-SPAs within a larger multiple-page web application. It shows how to split a web application into functional parts, and convert each functional part into its own SPA. These mini-SPAs together form a complete multiple-page application. For each mini SPA, we use a simple JavaScript routing system to organize the states of the application and switch between different views by watching changes on the URL.

The technical stack for backend consists of operating system, web server, database, and programming logic. This book chooses ASP.NET Core Razor Pages and SQL Server as the backend framework. A Razor page consists of a Razor view and a code behind file. Each Razor page is self-contained with its own view and code organized together, resulting in a simpler app, which makes coding page-focused scenarios easier and more productive.

The front-end components enable the user's interaction with the web application. In this book, we choose TypeScript, npm, WebPack, RxJS, and Angular as our front-end technical stack. TypeScript is a modern JavaScript development language that provides optional static type checking, classes, and interfaces. It also offers advanced Intellisence, auto-completion, navigation, and refactoring, which makes code easier to read and understand. WebPack is a bundler and it comes in handy when you need to pack multiple assets together into a dependency graph. There is a rising tendency to use WebPack because it can fulfil nearly all tasks that you would perform through a task runner. RxJS is a library for reactive programming using observables, which make it easier to compose asynchronous or callback-based code. This book will explain how to use all of these technologies together to create a modern web application.

Angular is a popular front-end JavaScript framework. Even though it is used for SPA development, we can still take advantage of this framework in building modern multiple-page web applications, i.e., we can use Angular in a non-SPA way via Angular elements. Angular elements are Angular components packaged as custom elements, a web standard for defining new HTML elements in a framework-agnostic way. This book shows how to embed Angular elements into our modern MPA project without having to migrate an entire application to Angular.

This book also includes the other selected topics, including how to use Microsoft ML.NET to solve machine learning problems, such as classification, regression, and clustering; how to create various charts and graphics using ECharts; how to use SignalR to add real-time features to your web apps; and how to use dependency injection, how to create custom tag helpers and Razor Class Libraries in Razor Pages.

For more information about this book, you can take a look at Table of Contents and the book overview.