• Stars
    star
    128
  • Rank 281,044 (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#
343
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#
304
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#
93
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

pwned-client

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

MvcAngular2

JavaScript
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

profanity-filter

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

IEvangelist.Blazing.Chuck

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

DotNetDocs.Show

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

IEvangelist.SignalR.Streaming

TypeScript
20
star
17

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
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

color-game

TypeScript
5
star
27

IEvangelist.BlazingTranslations

C#
5
star
28

IEvangelist.DotNet.Miglifier

HTML
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

xref-helper

TypeScript
2
star
39

IEvangelist.Web.Api

C#
1
star
40

dmp-in-three-debounce

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

CreamCityCodeEmcee

CSS
1
star
42

aspnetcore-workshop

HTML
1
star
43

IEvangelist.TypeScript

TypeScript
1
star
44

SignalR-Talk

CSS
1
star
45

BlazoR.Board

C#
1
star
46

Mentor.Coding.Challenge

C#
1
star
47

profanity-filter-aspire

C#
1
star