Jack Xu
Published: 2019-07-16
Total Pages: 422
Get eBook
This book provides all the tools you need to develop ultra-modern multiple-page applications (MPAs) using ASP.NET Core Razor Pages, Angular elements, WebPack, RxJS, and mini-SPAs (Single-Page Applications). It will be useful for web programmers, business developers, and students of all skill levels who are interested in web-application developments.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 Intellisense, 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; how to use dependency injection, and how to create custom tag helpers and Razor Class Libraries in Razor Pages.