Book Image

Mastering Blazor WebAssembly

By : Ahmad Mozaffar
3.5 (2)
Book Image

Mastering Blazor WebAssembly

3.5 (2)
By: Ahmad Mozaffar

Overview of this book

Blazor WebAssembly is a revolutionary technology in software development that enables you to develop web applications with a rich user interface using C# without JavaScript. It can be run natively in the browser and soon on mobile apps with .NET MAUI, making it a superweapon in the .NET developer’s toolbox. This capability has opened the doors for the JavaScript community to have a stable framework to build single page applications (SPAs) maintained by Microsoft and driven by the community. Mastering Blazor WebAssembly is a complete resource that teaches you everything you need to build client-side web applications using C# & .NET 7.0. Throughout this book, you’ll discover the anatomy of a Blazor WebAssembly project, along with the build, style, and structure of the components. You’ll implement forms to catch user input and collect data, as well as explore the topics of navigating between the pages in depth. The chapters will guide you through handling complex scenarios like RenderTrees, writing efficient unit tests, using variant security methods, and publishing the app to different providers, all in a practical manner. By the end of this book, you’ll have the skills necessary to build web apps with Blazor WebAssembly, along with the basics for a future in mobile development with .NET MAUI and Blazor.
Table of Contents (21 chapters)
1
Part 1: Blazor WebAssembly Essentials
5
Part 2: App Parts and Features
13
Part 3: Optimization and Deployment

Persisting the state using the URL

The URL is used mainly for navigation between the app pages, but we have already seen in Chapter 4, Navigation and Routing, how we can send data in the URL to other components and pages.

The same techniques we used, such as the routing parameters or query parameters to transfer data, are also used to keep the flow and the state of the app.

A common example that you may face in every app you build is having a page where there is a list of data to show, just like the Index page of our BooksStore app, which renders a list of books.

The list can be long, so pagination is the solution; each page shows a chunk of the books, and the user can navigate between the pages.

For a good user experience and to make the app easier to use, you need to keep the state of the current page that the user is navigating. When the user refreshes the page, shares the link, or opens it in another tab or browser, the same chunk of data will be listed, and the state...