Book Image

Building Blazor WebAssembly Applications with gRPC

By : Václav Pekárek
5 (1)
Book Image

Building Blazor WebAssembly Applications with gRPC

5 (1)
By: Václav Pekárek

Overview of this book

Building Blazor WebAssembly Applications with gRPC will take you to the next level in your web development career. After working through all the essentials of gRPC, Blazor, and source generators, you will be far from a beginner C# developer and would qualify as a developer with intermediate knowledge of the Blazor ecosystem. After a quick primer on the basics of Blazor technology, REST, gRPC, and source generators, you’ll dive straight into building Blazor WASM applications. You’ll learn about everything from two-way bindings and Razor syntax to project setup. The practical emphasis continues throughout the book as you steam through creating data repositories, working with REST, and building and registering gRPC services. The chapters also cover how to manage source generators, C# and debugging best practices, and more. There is no shorter path than this book to solidify your gRPC-enabled web development knowledge. By the end of this book, your knowledge of building Blazor applications with one of the most modern and powerful frameworks around will equip you with a highly sought-after skill set that you can leverage in the best way possible.
Table of Contents (10 chapters)

Creating attributes for your needs

When we want source generators to generate some part of the code, we need to tell them what to generate and where to start. That is where attributes come in.

When the generator explores our code, the attributes on each type definition are discovered. Then, we can easily pick just the types we marked with attributes. But what attribute is good to use?

Any custom attribute that you can create is good enough to use for source code generators. Before creating one, just think about whether you need just the logical information or whether you need to pass some additional data to your generator.

In the MediaLibrary project, we have two service classes: MovieService and PersonService. Both classes are identical, except for the name and types used as generic parameters for the BaseService class. This is a good example of some code that we can generate instead of typing again and again.

Let’s start modifying our project. Create a new file...