• Stars
    star
    125
  • Rank 285,025 (Top 6 %)
  • Language
    C#
  • License
    MIT License
  • Created over 3 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The application for the "Learning Blazor: Build Single Page Apps with WebAssembly and C#" O'Reilly Media book by David Pine.

Learning Blazor: Build Single-Page Apps with WebAssembly and C#

Amazon Links

Media type Site
๐Ÿ“– Paperback (Print) Check it out on Amazon today.
๐Ÿ’ป eBook (Kindle) Also available on Amazon Kindle devices.
Book Details
Learning Blazor: Build Single-Page Apps with WebAssembly and C# This repository is the application detailed in the "Learning Blazor: Build Single-Page Apps with WebAssembly and C#" O'Reilly Media book by David Pine. Take advantage of your C# skills to build UI components and client-side experiences with .NET. With this practical guide, you'll learn how to use Blazor WebAssembly to develop next-generation web experiences. Built on top of ASP.NET Core, Blazor represents the future of .NET single-page applications (SPA) investments.

This app is deployed to: https://webassemblyof.net

The app is a Blazor WebAssembly app, deployed to Azure as a Static Web app. It targets .NET 6, and it's packed full of C# 10 features.

Status Description
build Wether the current source code builds successfully, and all tests pass.
CodeQL The current CodeQL security / vulnerability scan result.
Azure Translation Wether the last machine-translation run was successful.
Deploy Static Web App The status of the last deployment of the Azure Static Web app.
Deploy Weather Function The status of the last deployment of the Azure Functions app.
Deploy Web API The status of the last deployment of the Azure Web API.
Deploy Pwned Web API The status of the last deployment of the Azure Pwned Web API.

Want to run this locally? See, the "Get Started" article.

Home screen (dark theme)

Learning Blazor: Home screen (dark theme)

Home screen (light theme)

Learning Blazor: Home screen (light theme)

Featuring

The app is packed with examples of how to do various things with Blazor, including but not limited to:

  • Blazor Third-Party Authentication providers:
    • Google
    • GitHub
    • "Sign up now"-based identity provider registration (with email verification).
  • Azure Functions โ€” .NET
  • ASP.NET Core Web API
  • ASP.NET Core SignalR
  • Bulma (CSS)
  • Polly
  • Swagger / OpenAPI
  • OpenWeatherMap API
  • "Have I Been Pwned"
  • Client-Browser Native Speech Synthesis and Speech Recognition
  • Reactive Extensions (Rx.NET)
  • Azure Cosmos DB Repository-Pattern .NET SDK
  • Blazor WebAssembly Localization
  • Azure Cognitive Services Translator
  • Blazor Component Virtualization
  • Humanizer
  • Two-way JavaScript Interop (using both IJSRuntime and IJsInProcessRuntime)
    • As well as Blazorators, for source generation

NuGet Packages

I'm using several of my open-source projects within this repository.

Package Repository Purpose
IEvangelist.Azure.CosmosRepository ./azure-cosmos-dotnet-repository IRepository<TItem> via DI for light-weight access to Azure Cosmos DB.
Blazor.LocalStorage.WebAssembly ./blazorators Source-generated localStorage API implementation class library from Blazorators: C# Source Generators for Blazor.
Blazor.SpeechRecognition.WebAssembly ./blazorators Hand-written custom library that wraps browser native speechRecognition API implementation.
HaveIBeenPwned.Client ./pwned-client A .NET HTTP client for the "have i been pwned" API service from Troy Hunt.

GitHub Actions

I'm also using my Resource Translator: https://github.com/IEvangelist/resource-translator, which translates .resx resource files.

๐Ÿ’ก Ideas for the application to include.

More Repositories

1

blazorators

This project converts TypeScript type declarations into C# representations, and use C# source generators to expose automatic JavaScript interop functionality.
C#
331
star
2

azure-cosmos-dotnet-repository

Wraps the .NET SDK for Azure Cosmos DB abstracting away the complexity, exposing a simple CRUD-based repository pattern
C#
298
star
3

signalr-chat

A chat app built with Blazor WebAssembly, hosted on ASP.NET Core, with the latest C# and SignalR -- need I say more?
C#
160
star
4

blazor-azure-openai

The Blazor WebAssembly app that inspired the Microsoft //Build 2023 demo app.
C#
87
star
5

IEvangelist.VideoChat

Imagine two Twilio SDKs, ASP.NET Core/C#, Angular/TypeScript, SignalR, etc... Yeah, amazing!
CSS
67
star
6

dotnet-github-actions-sdk

The unofficial GitHub ToolKit for developing GitHub Actions with .NET.
C#
55
star
7

resource-translator

A GitHub Action that automatically creates machine-translated PRs of translation files. Supported file formats include, .ini, .po, .restext, .resx, .xliff .json.
TypeScript
52
star
8

Mirror

Magic mirror application. Written with C# .NET, UWP. For presentation @ MKE DOT NET 2016.
C#
46
star
9

MvcAngular2

JavaScript
32
star
10

pwned-client

A .NET 8.0 HTTP client library for the "';-- Have I Been Pwned" API: https://haveibeenpwned.com/api/v3
C#
32
star
11

Blazing.Twilio.Video

A Blazor Wasm video chat app, built using the Twilio SDK for .NET and TypeScript.
C#
26
star
12

IEvangelist.BlazoR.TwitterStreaming

Yes, #Blazor which is C# in the web browser + SignalR real-time army + Live @Twitter streaming... holy cats batman!
C#
22
star
13

IEvangelist.Blazing.Chuck

If you like #Blazor, C# .NET running on the browser and Chuck Norris -- look no further.
CSS
21
star
14

DotNetDocs.Show

The .NET docs stream / show website
C#
20
star
15

IEvangelist.SignalR.Streaming

TypeScript
20
star
16

Blazing.DotNet.Tweets

Yes, #Blazor which is C# in the web browser + SignalR real-time army + Live @Twitter streaming... holy cats batman!
C#
20
star
17

profanity-filter

Potty Mouth: A GitHub Action profanity filter written in .NET, leveraging Native AOT compilation.
C#
19
star
18

IEvangelist.PhotoBooth

An Angular application with ASP.NET Core/C# and a bit of magic -- enter the photo booth, and share your animated images on social media!
C#
18
star
19

orleans-shopping-cart

C#
15
star
20

GitHub.ProfanityFilter

An Azure function to handle a GitHub webhook, which will take action on issues/pull requests that contain profanity.
C#
10
star
21

orleans-on-container-apps

C#
9
star
22

IEvangelist

7
star
23

actions-demo

A demo repository showing GitHub Actions that build and deploy a Blazor app.
HTML
6
star
24

pathological.globbing

.NET globbing libraryโ€”built atop Microsoft.Extensions.FileSystemGlobbing.
C#
6
star
25

DocFX.Repository.Sweeper

C#
6
star
26

IEvangelist.BlazingTranslations

C#
5
star
27

IEvangelist.DotNet.Miglifier

HTML
5
star
28

color-game

TypeScript
5
star
29

IEvangelist.AspNetCore.Optimization

C#
4
star
30

IEvangelist.Slack.SlashCommands

C#
3
star
31

csharp-eight

C#
3
star
32

orleans-template

GitHub repository template for Microsoft Orleans
C#
3
star
33

IEvangelist.Retweet

C#
2
star
34

learn-hugo

HTML
2
star
35

asp.net-core-minimal-apis-course

Learn how to create ASP.NET Core Minimal APIs.
2
star
36

alias-any-type

A demo app, intended to demonstrate "alias any type" from C# 12.
C#
2
star
37

nasa-mobile

C#
2
star
38

IEvangelist.Web.Api

C#
1
star
39

dmp-in-three-debounce

DMP in 3: RxJS Debounce Example Project
TypeScript
1
star
40

CreamCityCodeEmcee

CSS
1
star
41

aspnetcore-workshop

HTML
1
star
42

IEvangelist.TypeScript

TypeScript
1
star
43

SignalR-Talk

CSS
1
star
44

BlazoR.Board

C#
1
star
45

Mentor.Coding.Challenge

C#
1
star
46

profanity-filter-aspire

C#
1
star