Book Image

Web Development with Blazor

By : Jimmy Engström
Book Image

Web Development with Blazor

By: Jimmy Engström

Overview of this book

Blazor is an essential tool if you want to build interactive web apps without JS, but it comes with its own learning curve. Web Development with Blazor will help you overcome most common challenges developers face when getting started with Blazor and teach you the best coding practices. You’ll start by learning how to leverage the power of Blazor and explore the full capabilities of both Blazor Server and Blazor WebAssembly. Then you’ll move on to the practical part, which is centred around a sample project – a blog engine. This is where you’ll apply all your newfound knowledge about creating Blazor Server and Blazor WebAssembly projects, the inner working of Razor syntax, and validating forms, as well as creating your own components. You’ll learn all the key concepts involved in web development with Blazor, which you’ll also be able to put into practice straight away. By showing you how all the components work together practically, this book will help you avoid some of the common roadblocks that novice Blazor developers face and inspire you to start experimenting with Blazor on your other projects. When you reach the end of this Blazor book, you'll have gained the confidence you need to create and deploy production-ready Blazor applications.
Table of Contents (20 chapters)
1
Section 1:The Basics
4
Section 2:Building an Application with Blazor
14
Section 3:Debug, Test, and Deploy

Creating the client

To access the API, we need to create a client. There are many ways of doing this, but we will do it in the simplest way possible by writing the code ourselves.

The client will implement the same IMyBlogApi interface. This is so we have the exact same code regardless of which implementation we are using, direct database access with MyBlogApiServerSide or MyBlogApiClientSide, which we are going to create next:

  1. Right-click on the Dependencies node under MyBlog.Data and select Manage NuGet Packages.
  2. Search for Microsoft.AspNetCore.Components.WebAssembly.Authentication and click Install.
  3. Also, search for Newtonsoft.Json and Microsoft.Extensions.Http and click Install.
  4. We need some helper methods, so add a folder by right-clicking on MyBlog.Data, then Add | Folder, and name the folder Extensions.
  5. Right-click on the new folder and select Add | Class. Name the class HttpClientExtensions.cs.
  6. Add the following namespaces:
    using Newtonsoft.Json...