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

Understanding the concept of components

A Blazor application basically consists of a set of components working together to form rich dynamic applications. Blazor components are formally known as Razor components in which C# and HTML code are combined and the file extension .razor is used. Components can be nested within each other, shared, and reused by a different project.

While developing your Blazor application, you should think about it as an organization, where each component is an employee responsible for a certain task. The collaboration of those employees together is what represents the workflow of the organization. The same concept applies to a Blazor app in which every component should have a clear and specific role in the app UI. At the same time, each component should be able to receive corresponding data from other components to get its part of work done.

The following screenshot shows a sample podcast application (Productive+, which I developed for tracking how...