Blazor

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!

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.

To open Blazor projects in Visual Studio, you must have Visual Studio 2019 16.3 or later and the .NET Core 3.0 SDK.

Note: the Blazor Visual Studio extension is no longer required since .NET Core 3.0 Preview 7. Uninstall the extension if you still have it installed.

General

Sample Projects

Authentication

  • BlazorBoilerplate - stars last commit Real World Admin Dashboard / Starter kit with IdentityServer4 Material Design. Demo.
  • BlazorWithIdentity - stars last commit A sample project showcasing a Blazor app using EF Core with Identity authentication.
  • Authentication with client-side Blazor - stars last commit Authentication with client-side Blazor using WebAPI and ASP.NET Core Identity. Blog post.
  • Blazor.JWTTest - stars last commit JWT authentication for a Blazor hosted (Client/Server-side) app with API and Authentication.
  • BlazorAuthenticationSample - stars last commit A sample showing some of the ASP.NET Core Blazor authentication features (also some testing...).
  • Blazor.OpenId - stars last commit Easy authentication and client refresh using OpenId.
  • Blazor.Msal - stars last commit Sample implementation for MSAL in Blazor, it shows how to integrate a Single Page Web Application made in Blazor WebAssembly with Azure Active Directory. It allows to authenticate the user and then acquire an access token to make a secure call to an external API. The code internally uses MSAL.js to implement the OpenID Connect and OAuth2 flows.

Cloud

CMS

  • BlogCore - GitHub stars GitHub stars Modern CMS on Domain-driven Design and Clean Architecture patterns.
  • WordDaze - GitHub stars GitHub stars Blogging application written using Blazor with a WebAPI backend.
  • RapidCMS - GitHub stars GitHub stars A code-first, extensible Blazor app that generates a CMS for your own database.

Games

Hybrid experiments

Machine Learning

  • Scalable sentiment analysis - stars last-commit A sample ables to make sentiment analysis prediction/detection of what the user is writing in a very UI interactive app (Blazor based) in the client side and running an ML.NET model (Sentiment analysis based on binary-classification) in the server side.
  • PropertyPrices - last-commit A blazor front-end site that provides analysis and ensemble learning predictions (through SharpLearning) of property prices in the UK.
  • BlazorML5 - last-commit ML5 Machine Learning for Blazor with JSInterop mechanism.
  • Baseball Machine Learning Workbench - last-commit A web application that showcases performing what-if analysis using in-memory Machine Learning models. Live demo.

Mobile

ToDos

Others

Tutorials

Libraries & Extensions

Components

Reusable components like buttons, inputs, grids and more. * MatBlazor - GitHub stars Material Design components for Blazor. (Demo). * Blazorise - GitHub stars Components for Blazor with support for Bootstrap, Bulma and Material CSS. (Demo). * BlazorStrap - GitHub stars Bootstrap 4 components for Blazor (Demo). * Canvas - GitHub stars HTML5 Canvas API implementation for Microsoft Blazor. * BlazorContextMenu - GitHub stars A context menu component for Blazor (Demo). * DevExpress Blazor UI Components - GitHub stars UI components including Data Grid, Pivot Grid, and several data editors. * Blazor.FlexGrid - GitHub stars GridView component for Blazor. * BlazorMaterial - GitHub stars Blazor components implementing Google's Material components for web. * ChartJs.Blazor - GitHub stars Brings ChartJs charts to Blazor. * Radzen.Blazor - GitHub stars Native UI components for Blazor. DataGrid, DataList, Tabs, Dialog and more. (Demo). * Blazored.Modal - GitHub stars A JavaScript free modal library for Blazor and Razor Components applications. * Blazored.Toast - GitHub stars A JavaScript free toast library for Blazor and Razor Component applications. * Grid.Blazor - GitHub stars Grid component with CRUD forms for Blazor and ASP.NET MVC, supporting filtering, sorting, searching, paging, subgrids and others (Demo). * BlazorInputFile - GitHub stars A file input component for Blazor applications, by Steve Sanderson. * Blazored.Typeahead - GitHub stars Auto-complete textbox with local and remote data source, for both Client-side and Server-Side Blazor. * Sotsera.Blazor.Toaster - GitHub stars A Blazor port of Toastr.js. Demo. * Syncfusion Blazor UI Components - GitHub stars Robust UI components including Data Grid, Charts, Scheduler, Inputs and several Editor components. * BlazorStyled - GitHub stars CSS in Blazor Components (Demo). * BlazorComponents - GitHub stars Reusable components for Blazor. Starting with ChartJS interop. * Blazor LoadingBar - GitHub stars Loading bar UI for Client-Side Blazor application. * BlazorGrid - GitHub stars This is a reusable grid component for Blazor which also supports client side pagination. * BlazorWebFormsComponents - stars last commit A collection of Blazor components that emulate the web forms components of the same name. * Blazored.Menu - stars A JavaScript free menu library for Blazor and Razor Components applications. * Blazor Components Testing Library - stars A testing library for Blazor Components. You can easily define components under test in C# or Razor syntax, it has intelligent 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. * Blazor-DragDrop - GitHub stars Easy-to-use Drag and Drop library for Blazor. * Blazor-Charts - GitHub stars SVG charts for Blazor. * NodaTimePicker - GitHub stars A Date/Time picker component library for Blazor using NodaTime. Demo. * BlazorBits - GitHub stars Components including Monaco editor GitHub stars. * BlazorDateRangePicker - stars A date range picker component library for Blazor. Demo. * BlazorVirtualScrolling - stars Virtual Scrolling Component for Blazor (Demo). * BlazorGoogleMaps - GitHub stars Blazor interop for GoogleMap library. * BlazorVirtualGrid - GitHub stars Reusable, fully configurable component with rows and columns fast virtualization (Demo). * BlazorTable - stars A Table Control for Blazor with sorting, paging, filtering and more (Demo). * BlazorScrollbar - Reusable, fully configurable component with vertical and horizontal scrollbars (Demo). * BlazorSplitter - Reusable, fully configurable component with vertical and horizontal splitters and diagonal resizer (Demo). * BlazorConfirm - A Blazor Wrapper for JS's Window.confirm() and onbeforeunload as .Net Blazor Component (Demo). * BlazorQuery - jQuery for Blazor (Blazor Library that wraps jQuery completely in C# for use in Blazor). * Telerik UI for Blazor - A native set of UI components for Blazor, including grid, charting, and calendar components. * TwitterShareButton - A Tweet Button component for Blazor. * Flexor - Highly configurable components which let you take full advantage of Flexbox CSS.(Demo). * Blazor.Validation.DataAnnotation - Library for validating form on a Blazor application using Data Annotation. * Blazor.LoadingIndicator - Simple to use loading indicator helper library. * BlazorTypography - A powerful toolkit for building websites with beautiful design (Demo). * Razor.SweetAlert2 - Blazor component implementing the popular SweetAlert2 JavaScript Library. * Blazor.SpinKit - Blazor components for SpinKit spinners. * Blorc.PatternFly - Blazor wrappers for PatternFly. To view the latest develop branch in action, visit the demo app. * Head Element Helper - <Title> and <Meta> components for changing the document titile and meta elements, with server-side prerendering support for SEO/OGP. (Demo). * Localized Data Annotations Validator - The data annotations validator for Blazor to localize validation error messages. (Demo). * BlazorWebFormsComponents - A collection of Blazor components that emulate the web forms components of the same name. * BlazorSize - 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. * LiquidTechnologies.Blazor.ModalDialog - 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). * GG.Net Data Visualization - Interactive and flexible charts for Blazor Web Apps. Taking its inspiration from the highly popular ggpplot2 R package, GG.Net provides natively rich features for your Data Analysis Workflow. Build publication quality charts with just a few lines of code. Website.

Tools & Utilities

Libraries and extensions for state management, cookies, local storage and other specific tools. * Blazor-Redux - GitHub stars Connecting a Redux state store with Blazor. * Blazor-Fluxor - GitHub stars A low-boilerplate Flux/Redux state library for Blazor. * SignalR - GitHub stars SignalR Core implementation for Blazor. It uses the JavaScript client. * Blazor-State - GitHub stars Manage client side state in Blazor using MediatR pipeline. * Storage - GitHub stars HTML5 Storage API implementation for Microsoft Blazor. * Logging - GitHub stars Microsoft Extension Logging implementation for Blazor. * Blazored.LocalStorage - GitHub stars A library to provide access to local storage in Blazor applications. * BlazorStorage - GitHub stars Local and session storage support for Blazor. * BlazorDB - GitHub stars In-memory, persisted to local storage, database for Blazor. * BlazorSignalR - GitHub stars SignalR Core .NET client library for Blazor. It uses the C# client. * Blazor.Auth0 - GitHub stars The library for using Auth0 in Blazor applications. * Notifications - GitHub stars HTML5 Notifications API implementation for Microsoft Blazor. * Blazor.Polyfill - GitHub stars Polyfills for Blazor (for Internet Explorer 11 support and some other browsers). * CssBuilder - GitHub stars CssBuilder is a Builder pattern for CSS classes to be used with Razor Components. * Blazor.Payments - GitHub stars Blazor Web Agent port of the Web Payment API standard developed by W3C . * Blazored.Localisation - GitHub stars A library to provide localisation in client-side Blazor applications. * Blazor.Geolocation - GitHub stars Blazor interop for browser Geolocation APIs. * Blazor Time Zone Kit - GitHub stars A library to provide system time zones and local time zone initialization in Blazor apps. * BlazorGoogleMaps - stars Blazor interop for GoogleMap library. * Blazor SVG Helper - stars Create SVG elements with children (circle, rectangle, image, text, and others) and render with RenderTreeBuilder. * Razor components testing library - A library for testing Razor Components that renders the components as HTML and compares the result to an expected result, using the XMLDiff library and Shouldly for writing out error messages. * Blazor Analytics - Blazor extensions for Analytics. * 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. * Blazor.Sensors - Blazor interop for browser sensor APIs. * Rudder - Efficient state container for Blazor with concepts similar to the ones in redux, including reducers and sagas. * BlazorIntersectionObserver - A Blazor wrapper for the Intersection Observer API. * Blazor.SpeechSynthesis - A library to provide Speech Synthesis API access for Blazor. * Blazor BarCode – A barcode library for Blazor using barcode fonts. * BlazorState.Redux - Develop Blazor apps with Redux. * BlazorLeaflet - BlazorLeaflet is a wrapper offering easy-to-use Blazor components that expose the Leaflet API in C#. * Simple logging server - An ultra simple remote log message server written in Blazor and .NET Core 3. * Howler.Blazor - A Blazor JSInterop wrapper for Howler.js, an audio library. * DataJuggler.Blazor.FileUpload - Wrapper for Steve Sanderson's BlazorFileInput component.

Others

Videos

Articles

Podcasts

Presentations slides

Tooling

Books

E-Books

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.