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

Calling C# from JS

When building software, a different means of communication between C# and JavaScript is required: calling C# methods from within JS code.

A good example of this is when you are trying to embed a pre-built JS library in your application, such as an image cropper or a rich text editor. In some cases, you want your app to react to changes that happen in those packages, so whenever a certain event occurs inside them, you need to fire a method in your C# code, for example, showing the dimension of the new image that the user is cropping using that JS utility.

Another example is reacting to some window changes in your app, such as when the user is resizing the window of the browser and you need to change some behaviors in your app. Maybe you have a list of emails and when the user clicks on one, it renders the email on the right-hand side. But if the user resizes the screen to make it smaller, you need the list of emails to be shown on its own page and when one email...