Book Image

Blazor WebAssembly by Example

By : Toi B. Wright
Book Image

Blazor WebAssembly by Example

By: Toi B. Wright

Overview of this book

Blazor WebAssembly makes it possible to run C# code on the browser instead of having to use JavaScript, and does not rely on plugins or add-ons. The only technical requirement for using Blazor WebAssembly is a browser that supports WebAssembly, which, as of today, all modern browsers do. Blazor WebAssembly by Example is a project-based guide for learning how to build single-page web applications using the Blazor WebAssembly framework. This book emphasizes the practical over the theoretical by providing detailed step-by-step instructions for each project. You'll start by building simple standalone web applications and progress to developing more advanced hosted web applications with SQL Server backends. Each project covers a different aspect of the Blazor WebAssembly ecosystem, such as Razor components, JavaScript interop, event handling, application state, and dependency injection. The book is designed in such a way that you can complete the projects in any order. By the end of this book, you will have experience building a wide variety of single-page web applications with .NET, Blazor WebAssembly, and C#.
Table of Contents (11 chapters)

Creating a PWA

A WeatherForecast project will be created by using the Empty Blazor WebAssembly App project template. First, we will use JS interop with the Geolocation API to obtain the coordinates of the device. We will then use the OpenWeather One Call API to obtain a weather forecast for those coordinates. Next, we will create a couple of Razor components to display the forecast.

In order to convert the web app into a PWA, we will add a logo, a manifest file, and an offline page service worker. After testing the service worker, we will install, run, and uninstall the PWA.

Getting started with the project

We need to create a new Blazor WebAssembly app. We will do this by following these steps:

  1. Open Visual Studio 2019.
  2. Click the Create a new project button.
  3. In the Search for templates (Alt + S) textbox, enter blazor and hit the Enter key.

    The following screenshot shows the Empty Blazor WebAssembly App project template that we created in Chapter 2, Building...