adavidoaiei / awesome-blazor

Resources for Blazor, a .NET web framework using C#/Razor and HTML that runs in the browser with WebAssembly.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Awesome Blazor Awesome

A collection of awesome Blazor resources.

Blazor is a .NET web framework using C#/Razor and HTML that runs in the browser with WebAssembly.

Contributions are always welcome! Please take a look at the contribution guidelines pages first. Thanks to all contributors, you're awesome and wouldn't be possible without you!

If you need to search on this list you can try this great website: Awesome Blazor Browser. Thanks @jsakamoto for this! Source code stars last commit.

Event: ".NET Conf" .NET 5 launch (November 10-12, 2020).

  • .NET Conf is a free, three-day, virtual developer event co-organized by the .NET community and Microsoft. This year .NET 5.0 will launch at .NET Conf 2020! Come celebrate and learn about the new release. We're also celebrating our 10th anniversary and we're working on a few more surprises. You won't want to miss this one.
  • Agenda.

Contents

Introduction

What is Blazor?

Blazor is a .NET web framework to build client web apps with C#.

Blazor lets you build interactive web UIs using C# instead of JavaScript. Blazor apps are composed of reusable web UI components implemented using C#, HTML, and CSS. Both client and server code is written in C#, allowing you to share code and libraries. More information on the official Blazor website.

Get started

To get started with Blazor, follow the instructions in the Blazor Get Started documentation.

General

Sample Projects

Authentication

Cloud

  • BlazorFile2Azure - stars last commit Upload a file from Blazor WebAssembly to Azure Blob Storage.
  • Blazor WASM Deployment - last commit Sample repo for showing Actions to deploy a Blazor app to Azure services.
  • Blazor.JobBoard - last commit Blazor WebAssembly based jobboard application deployed to Azure Storage Static Site. Demo.
  • EventGrid Viewer Blazor - stars last commit Blazor Server app that displays EventGrid messages in realtime & allows the ability to secure the app using Azure AD, KeyVault & Managed Identities.

CMS

  • Blogifier - GitHub stars GitHub stars ASP.NET Core Blogging application with Blazor Admin Dashboard. Demo.
  • BlogCore - GitHub stars GitHub stars Modern CMS on Domain-driven Design and Clean Architecture patterns.
  • RapidCMS - stars stars A code-first, extensible Blazor app that generates a CMS for your own database.
  • BlazorForum - stars Last commit Forum application built with Blazor.
  • Gitter - GitHub stars GitHub stars A Blazor Gitter client.
  • AcBlog - stars Last commit A blogging PWA that can be hosted as a full static website or as a server-prerender dynamic website. GitHub Pages Demo.
  • BlazorShop - stars Last commit Simple shop application built with Blazor WebAssembly.
  • Atlas - stars Last commit A forum software built with ASP.NET Core Blazor WebAssembly.
  • BlazorGhost - Last commit A Blazor frontend for Ghost blogs.
  • BlazingOrchard - Last commit Blazing Orchard is a modular application framework that turns your Blazor project into a CMS-powered Blazor application by leveraging Orchard Core as a decoupled backend/CMS server using its REST & GraphQL APIs.

Games

Hybrid

  • Blazor + Electron - Host Razor Components inside an Electron shell. This allows for modern, high-performance cross-platform desktop apps built with .NET and web technologies.
  • Blazor + WebWindow - WebWindow is like Electron, but without bundling Node.js or Chromium, and without most of the APIs. WebWindow source code. Blazor + WebWindow sample here.
  • BlazorMobile - stars last-commit Create full C# driven hybrid-apps for iOS, Android, UWP & Desktop with Blazor.
  • BlazorWebView - stars last-commit A BlazorWebView "Control" that is easily embedded in (Native) UI frameworks.
  • BlazorGrpc - GitHub stars GitHub stars Sample project that demonstrates how you can use the power of Blazor, ASP.NET Core, and gRPC to create a web application which can communicate with a backend that uses gRPC.
  • Blazor + Sitecore - GitHub stars GitHub stars Example of dynamic pages and routes with SiteCore and Helix.
  • Try F# on WebAssembly - stars GitHub stars The F# compiler running in WebAssembly with Bolero.
  • BlazorPoint - stars last commit Sample App to help you get started with hosting Blazor on SharePoint Pages, completely Client Side.
  • gRPC-Web - stars last commit Sample about gRPC-Web and Blazor WebAssembly.
  • Blazor + Umbraco Heartcore - Last commit Example of using Umbraco Heartcore with Blazor.
  • BlazorGrpcWebCodeFirst - last commit Sample project that demonstrates how you can use gRPC-Web with Blazor WebAssembly hosted on ASP.NET Core. Publish and consume your services without having to create .proto files - with the code-first approach.
  • SignalR CLR - last commit This is a simple example of using SignalR and Blazor WebAssembly together to eliminate the need for any JavaScript when handling server event's. Blog post about this sample.
  • Serverless StreamR - last commit A serverless port of StreamR powered by Blazor WebAssembly and Azure.

IoT

  • PresenceLight - stars last commit PresenceLight is a solution to broadcast your various statuses to a Phillips Hue or LIFX light bulb. Some statuses you can broadcast are: your availability in Microsoft Teams, your current Windows 10 theme, and a theme or color of your choosing. Blog post. Demo video.

Logging

  • Logging.Samples - last-commit Samples for .NET Core and ASP.NET Core logging using various logger frameworks.

Machine Learning

Mobile

ToDos

Others

Tutorials

Libraries & Extensions

Reusable components like buttons, inputs, grids and more.

Component bundles

Individual components

API

  • Canvas - stars last commit HTML5 Canvas API implementation for Microsoft Blazor.
  • Head Element Helper - stars last commit <Title> and <Meta> components for changing the document titile and meta elements, with server-side prerendering support for SEO/OGP. (Demo).
  • BrowserInterop - GitHub stars last commit This library provides access to browser API in a Blazor App.
  • Blazor.Canvas - GitHub stars last commit Wrapper library around the HTML canvas API written in C# (no JS dependency) (Demo).
  • Sve-Blazor-InfiniteScroll - last commit Simplistic implementation of an infinite scroll component for Blazor.
  • BlazorGooglePay - last commit Blazor wrapper around Js Google Pay, library based on BrowserInterop.
  • BlazorDependencies - last commit Js library that helps maitain dependencies of one Razor Class Library to another one without manually adding scripts and css-styles for each library.

Charts

CSS

  • BlazorStyled - stars last commit CSS in Blazor Components (Demo).
  • BlazorSize - stars last commit BlazorSize is a JavaScript interop library for Blazor that is used to detect the Browser's current size, change in size, and test media queries.
  • BlazorAnimation - stars last commit A Blazor component based on animate.css to easly animate your content. Demo.
  • Flexor - last commit Highly configurable components which let you take full advantage of Flexbox CSS.(Demo).
  • BlazorCss - last commit CSS Helper for BlazorStyled which provides auto complete CSS styles.
  • BlazorCssGrid - last commit Css Helper for defining Grid SPA layouts in BlazorStyled.

Datagrids / tables

  • Grid.Blazor - stars last commit Grid component with CRUD forms for Blazor and ASP.NET MVC, supporting filtering, sorting, searching, paging, subgrids and others (Demo).
  • Blazor.FlexGrid - stars last commit GridView component for Blazor.
  • Sve-Blazor-DataTable - stars last commit Blazor DataTable component with support for client/server side paging, filtering and sorting, build on top of bootstrap 4.
  • Table.Net - last commit Interactive and flexible Data Tables for Blazor Web Apps.
  • BlazorTable - stars last commit A Table Control for Blazor with sorting, paging, filtering and more (Demo).

Date & time

Maps

Markdowns

  • RazorComponents.Markdown - last commit A razor component for Markdown rendering which supports LaTeX, Mermaid diagram, code highlighting and extensions based on Markdig.
  • Blazor Markdown - last_commit A Blazor Markdown component that enables you to include Markdown files in your server-side Blazor apps.

Modal, Toast & Notifications

Testing

  • bUnit - a testing library for Blazor components - stars last commit A testing library for Blazor Components. You can easily define components under test in C# or Razor syntax and verify outcome using semantic HTML diffing/comparison logic. You can easily interact with and inspect components, trigger event handlers, provide cascading values, inject services, mock IJsRuntime, and perform snapshot testing.

Others

  • Stl.Fusion - GitHub stars last commit .NET Core and Blazor library that attempts to dramatically improve the way we implement real-time and high-load services by introducing a novel kind of "computed observables" - immutable, thread-safe, and most importantly, almost invisible for developers. Samples. Overview.
  • BlazorContextMenu - GitHub stars last commit Material Design components for Blazor. A context menu component for Blazor (Demo).
  • BlazorInputFile - GitHub stars last commit A file input component for Blazor applications, by Steve Sanderson.
  • Blazored.Typeahead - GitHub stars last commit Auto-complete textbox with local and remote data source, for both Client-side and Server-Side Blazor.
  • Blazor LoadingBar - GitHub stars last commit Loading bar UI for Client-Side Blazor application.
  • Blazored.Menu - stars last commit A JavaScript free menu library for Blazor and Razor Components applications.
  • Blazor-DragDrop - stars last commit Easy-to-use Drag and Drop library for Blazor.
  • Blazor.SignaturePad - stars last commit A Blazor component library that utilizes Szymon Nowak's javascript library Signature Pad to implement smooth signature drawing on a HTML5 canvas.
  • Blorc.PatternFly - stars last commit Blazor wrappers for PatternFly. To view the latest develop branch in action, visit the demo app.
  • Excubo.Blazor.Diagrams - stars last commit Interactive diagram component (flowcharts, UML, BPMN, ...), customizable and extensible according to user needs (node types, styles). Demo.
  • BlazorTransitionableRoute - stars last commit Allows current and previous route to exist enabling transition animations of UI/UX design systems.
  • Blazor-Dom-Confetti - last commit Celebrate success with dom 🎉confetti🎉 on Blazor projects. Two versions, dom-confetti wrapper and native blazor 100% JS free.
  • TwitterShareButton - last commit A Tweet Button component for Blazor.
  • Blazor.LoadingIndicator - last commit Simple to use loading indicator helper library.
  • BlazorTypography - last commit A powerful toolkit for building websites with beautiful design (Demo).
  • Razor.SweetAlert2 - last commit Blazor component implementing the popular SweetAlert2 JavaScript Library.
  • Blazor.SpinKit - last commit Blazor components for SpinKit spinners.
  • Localized Data Annotations Validator - last commit The data annotations validator for Blazor to localize validation error messages. (Demo).
  • LiquidTechnologies.Blazor.ModalDialog - last commit Turns Blazor components into Modal Dialogs, allows values to be returned from the dialogs (var result = await ShowDialogAsync(...)), includes simple MessageBox and data capture dialogs (for Blazor Client & Server).
  • BlazorMonaco - last commit Blazor component for Microsoft's Monaco Editor which powers Visual Studio Code. (Demo).
  • BlazorContentEditable - last commit Provides contenteditable functionality for Blazor. (Demo).
  • Blazor.Grids - last commit Component library for CSS grids with extra features, such as moving and resizing interactively. Create your own dashboard with ease. (Demo).
  • Blazor.TreeViews - last commit Component library for tree views. (Demo).
  • DnetOverlay - last commit Agular CDK Overlay implementation for Blazor.
  • GEmojiSharp.Blazor - last commit GitHub Emoji for Blazor (Demo).
  • Texnomic.Blazor.hCaptcha - last commit hCaptcha Component for Server-Side Blazor.
  • Z.Blazor.Diagrams - last commit A fully customizable and extensible all-purpose diagrams library for Blazor, inspired by the popular react-diagrams library, with many additions. Demo.
  • BlazorWheelZoom - last commit Zoom and move image with Blazor using mouse wheel and mouse drag - minimal javascript. Demo.
  • AdvancedBlazorSelect2 - last commit Simple wrapper for Select2 with full support of databases and custom web APIs.

Tools & Utilities

Libraries and extensions for state management, cookies, local storage and other specific tools.

  • Blazor-Redux - GitHub stars last commit Connecting a Redux state store with Blazor.
  • Fluxor - GitHub stars last commit Zero boilerplate Flux/Redux library for DotNet. Formerly Blazor-Fluxor GitHub stars.
  • SignalR - GitHub stars last commit SignalR Core implementation for Blazor. It uses the JavaScript client.
  • Blazored.LocalStorage - GitHub stars last commit A library to provide access to local storage in Blazor applications.
  • Storage - GitHub stars last commit HTML5 Storage API implementation for Microsoft Blazor.
  • Blazor-State - GitHub stars last commit Manage client side state in Blazor using MediatR pipeline.
  • bUnit - a testing library for Blazor components - GitHub stars last commit A testing library for Blazor Components. You can easily define components under test in C# or Razor syntax and verify outcome using semantic HTML diffing/comparison logic. You can easily interact with and inspect components, trigger event handlers, provide cascading values, inject services, mock IJsRuntime, and perform snapshot testing.
  • Logging - GitHub stars last commit Microsoft Extension Logging implementation for Blazor.
  • BlazorStorage - GitHub stars last commit Local and session storage support for Blazor.
  • Blazor.Auth0 - stars last commit The library for using Auth0 in Blazor applications.
  • TextCopy - GitHub stars last commit A cross platform package to copy text to and from the clipboard. Supports Blazor via the Clipboard Browser API.
  • CssBuilder - GitHub stars last commit CssBuilder is a Builder pattern for CSS classes to be used with Razor Components.
  • BlazorSignalR - GitHub stars last commit SignalR Core .NET client library for Blazor. It uses the C# client.
  • Notifications - GitHub stars last commit HTML5 Notifications API implementation for Microsoft Blazor.
  • Blazor.Polyfill - GitHub stars last commit Polyfills for Blazor (for Internet Explorer 11 support and some other browsers).
  • Blazor I18n/Localization Text - stars last commit Localizing contents text in Blazor (Demo).
  • Blazor.Geolocation - stars last commit Blazor interop for browser Geolocation APIs.
  • Blazored.Localisation - stars last commit A library to provide localisation in client-side Blazor applications.
  • MvvmBlazor - stars last commit BlazorMVVM is a small framework for building Blazor and BlazorServerside apps. With it's simple to use MVVM pattern you can boost up your development speed while minimizing the hazzle to just make it work.
  • EmbeddedBlazorContent - GitHub stars last commit Library to load embedded content files (js and css) from Blazor libraries in server-side Blazor mode.
  • BlazorGoogleMaps - stars last commit Blazor interop for GoogleMap library.
  • Blazor.Payments - GitHub stars last commit Blazor Web Agent port of the Web Payment API standard developed by W3C.
  • Blazor SVG Helper - stars last commit Create SVG elements with children (circle, rectangle, image, text, and others) and render with RenderTreeBuilder.
  • Cortex.Net - GitHub stars last commit State management like MobX for .NET and Blazor. Documentation.
  • DataJuggler.Blazor.FileUpload - stars last commit Wrapper for Steve Sanderson's BlazorFileInput component.
  • Blazor Analytics - Blazor extensions for Analytics.
  • BlazorWorker - stars last commit Library for creating DotNet Web Worker threads/multithreading in Blazor. Live demo.
  • Blazor PDF - stars last-commit Generate de PDF document with iTextSharp from a Blazor Server App.
  • BlazorPrettyCode - Blazor Code Component for documentation sites. Demo.
  • Blazor.EventAggregator - Lightweight Event Aggregator for Blazor (Razor Components).
  • Blazor Gamepad - Provides gamepad API access for Blazor.
  • Blazor Hotkeys - A library to provide configuration-centric keyboard shortcuts for Blazor.
  • BlazorRealm - Redux state management for Blazor.
  • Blazor.LocalFiles - Open files in your browser and load into Blazor.
  • Rudder - last commit Efficient state container for Blazor with concepts similar to the ones in redux, including reducers and sagas.
  • Blazor.SpeechSynthesis - last commit A library to provide Speech Synthesis API access for Blazor.
  • Blazor BarCode – A barcode library for Blazor using barcode fonts.
  • BlazorState.Redux - last commit Develop Blazor apps with Redux.
  • BlazorLeaflet - last commit BlazorLeaflet is a wrapper offering easy-to-use Blazor components that expose the Leaflet API in C#.
  • Howler.Blazor - last commit A Blazor JSInterop wrapper for Howler.js, an audio library.
  • jsMind.Blazor - last commit A Blazor JSInterop wrapper for jsMind, a MindMapping tool.
  • Blazor Highcharts - last commit A port of the popular Highcharts library. Demo.
  • Blazor.LazyStyleSheet - last commit Lazy loading for CSS style sheets.
  • Blazor.ScriptInjection - stars last commit Smart script tags in Blazor components, ideal for lazy loading of javascript files.
  • DnetIndexedDb - last commit Blazor Library for IndexedDB DOM API.
  • PkcsExtensions.Blazor - last commit A library to provide crypto and digital signature functionality for Blazor WebAssembly and light WebCrypto interop.
  • Blazor-Color-Picker - last commit Opens a palette with the Material colors for Blazor application.
  • Blazor_EmojiFilePicker - last commit Bootstrap Text-Input with Smiley- and File-Support for Blazor.
  • Blazor Library Asset Helper - last commit A VISX extension that can list all JS and CSS assets from Nuget package razor libraries you are using in your Blazor app. It will generate all the <script> and <link> tags for your HTML page for you to copy/paste. Available on the Visual Studio Marketplace.
  • Blazm.Bluetooth - last commit A Blazor library for connecting to devices using Bluetooth.
  • BlazorApplicationInsights - last commit Application Insights for Blazor web applications.
  • BracketShow.BlazorNavigationManagerExtensions - last commit Simple set of extensions for the Navigation Manager to simplify its usage for things we are likely to do in most of our Blazor applications.
  • BlazorX.NavigationState - last commit BlazorX.NavigationState provides a set of utilities that allow you to observe and bind query strings directly to Blazor components.
  • Blazor Printing - last-commit Print and save PDF documents with a native print dialog in a Blazor Server or client Application.

Others

  • Blazor Extensions Home - GitHub stars Home for Blazor Extensions.
  • Bolero - GitHub stars last commit Blazor for F# with hot reloaded templates, type-safe endpoints and routing, remoting, and much more.
  • BlazorMobile - GitHub stars last commit Launch Blazor as a mobile application on iOS, Android & UWP.
  • NObservable - GitHub stars last commit MobX-like observables and component instrumentation.
  • BlazorFabric - GitHub stars last commit Blazor port of Microsoft UI Fabric with fluent design. (Demo).
  • Blazor-Dashboard - stars last commit Admin Dashboard Template Theme for Blazor.
  • BlazorEmbedLibrary - GitHub stars last commit Provides Blazor-style embedded static content files for Razor Components projects.
  • BlazorWebView - GitHub stars last commit Blazor WebView control for WPF, Android, macOS, iOS. Run Blazor on .NET Core and Mono natively inside a Webview. Documentation.
  • WebSocketHelper - stars last commit Helper for Web Socket in Blazor.
  • BlazorLazyLoading - GitHub stars last commit Production ready lazy loading implementation. Full lazy loading support for WASM and Server (pages, components, dlls) with abstractions to implement modularization if you wish (custom endpoints, custom manifests, etc).
  • BlazorLazyLoad - stars last commit BlazorLazyLoad is a implementation of assembly lazy load feature in Blazor WASM application on both page and component level.
  • SpotifyService - stars last commit A high-level Spotify API library for Blazor WebAssembly projects that enables Spotify playback in the browser, manages OAuth 2.0 authorization, provides easy access to the Spotify Web API and uses IndexedDB caching.
  • Bionic - An Ionic CLI clone for Blazor projects.
  • BlazorFileSaver - Blazor Component wrapper for FileSaver.js (Demo).
  • Blazor.DynamicJavascriptRuntime.Evaluator - Execute dynamic object expressions as Javascript in Blazor client-side apps.
  • Blazor.AdaptiveCards - Adaptive Cards for Blazor. Documentation.
  • EventHorizon Blazor TypeScript Interop Generator - last commit This project takes in a TypeScript type definition file and creates a .NET Core project that will work with the provided Interop abstraction project.

Videos

Articles

Podcasts

  • Oqtane and OSS with Shaun Walker - November 2, 2020 - Shaun Walker is the original creator of Oqtane and DotNetNuke, web application frameworks which have the earned the recognition of being among the largest, most successful, pioneering Open Source projects native to the Microsoft platform. He was recognized by Business In Vancouver in 2011 as a leading entrepreneur in their Forty Under 40 business awards, and is currently the Chair of the Project Committee for the .NET Foundation. Shaun is currently a Technical Director and Enterprise Guildmaster at Cognizant Softvision. Shaun joined The 6 Figure Developer to talk about his newest project, Oqtane, a Modular Application Framework for Blazor, as well as Open Source Software, and The .NET Foundation. Duration: 44 minutes.
  • The One About Blazor - September 7, 2020 - Merge conflict, episode 218: The One About Blazor. Duration: 49 minutes.
  • OpenSilver with Giovanni Albani - July 30, 2020 - OpenSilver with Giovanni Albani, on .NET Rocks. Got Silverlight apps? Carl and Richard talk to Giovanni Albani about the OpenSilver project - building an open-source version of Silverlight that runs without a plugin, using WebAssembly. Giovanni talks about companies he has communicate with that have Silverlight apps with hundreds of thousands of lines of code - not a simple thing to rewrite. The goal of OpenSilver is to let you migrate those applications.
  • .NET Multi-Platform App UI with Scott Hunter - Ready to go to Maui? Carl and Richard talk to Scott Hunter about the .NET Multi-Platform App UI or MAUI for short. Scott talks about how the next versions of .NET are focused on unifying the elements that go into .NET to make One .NET. And that includes the UI stacks - including Xamarin! The evolution of Xamarin into .NET means that all UI stacks will be treated equally. And that leads to the .NET Multi-Platform App UI, letting you make a single project that covers Windows, OS/X, iOS and Android.
  • Testing Blazor Apps with Egil Hansen - June 4, 2020 - Testing Blazor Apps with Egil Hansen, on .NET Rocks. How do you test your Blazor app? Carl Franklin and Richard Campbell talk to Egil Hansen about bUnit stars last commit, an open-source testing framework designed to work with Blazor - both the server-side Razor components and the WebAssembly client. Egil talks about building bUnit to allow for robust testing, that is, tolerant to the normal changes that come to an application without breaking all the tests. The conversation also turns to growing the bUnit project with more contributors, a wider set of features, and perhaps being part of the .NET Foundation.
  • Michael Washington on the State of Blazor - May 11, 2020 - In this episode of Azure DevOps Podcast, Jeffrey Palermo is speaking with Michael Washington about Blazor in-depth. They discuss the current state of Blazor; Oqtane, a modular application framework for Blazor; server-side Blazor apps; Radzen, a low-code, RAD solution; his books on the topic of Blazor; and his advice, tips, recommendations, and resources for Blazor as well.
  • Blazor with guest Carl Franklin - March 9, 2020 - Carl Franklin is the guest to Weekly Dev Tips. Carl Franklin and Steve Smith (aka Ardalis) discuss Blazor in general and look at how to create a generic object picker control for Blazor.
  • Podcast: Occam’s Blazor - January 14, 2020 - Podcast by Stack Overflow.
  • Archives - 2019, 2018, 2017.

Presentations slides

Tooling

Books

E-Books

  • Blazor WebAssembly Succinctly - August 31, 2020 - Blazor is a framework for creating SPA webpages with either client-side or server-side architectures, using Razor technology written with the C# language. Because client-side Blazor with WebAssembly executes entirely on a user's browser, it’s very fast for many applications. In Blazor WebAssembly Succinctly, Michael Washington will take readers through the core elements of Blazor and then explore additional features by building a sample application. Free e-book.
  • Blazor Succinctly - April 16, 2020 - A free e-book for starting with the Blazor framework.
  • Blazor, A Beginners Guide - March 18, 2020 - A free e-book for getting started with the Blazor framework. Examples source code.
  • Blazor for ASP.NET Web Forms developers - Blazor for ASP.NET Web Forms developers, a free e-book from Microsoft.
  • Using CSLA 5: Blazor and WebAssembly - This book covers the new Blazor UI framework, including how to create server-side and client-side WebAssembly projects, how to implement authentication and authorization, and how to use data binding. It then covers how CSLA .NET supports Blazor, including walking through a complete sample app.
  • An Introduction to Building Applications with Blazor - August 24, 2019 - An Introduction to Building Applications with Blazor: How to get started creating applications using this exciting easy to use Microsoft C# framework
  • Archives - 2018.

Courses

Community

Other Languages

License

CC0

To the extent possible under law, Adrien Torris has waived all copyright and related or neighboring rights to this work.

About

Resources for Blazor, a .NET web framework using C#/Razor and HTML that runs in the browser with WebAssembly.

License:Creative Commons Zero v1.0 Universal