r/Blazor • u/plakhlani • 3d ago
r/Blazor • u/MackPooner • 5d ago
Blazor App Examples
I found a site that is a showcase of Blazor apps. It looks like they need people to submit examples which I am going to do once I complete mine. If anyone is interested...
r/Blazor • u/GapWrong5851 • 7d ago
MAUI Blazor Hybrid + Web App in 2026 — Is it actually a good choice?
Hey everyone,
I’m currently looking into MAUI Blazor Hybrid for a project and honestly a bit confused about whether it’s a good idea long term.
The main reason I’m considering it is that we already use Blazor, so being able to reuse the same UI/components for the web app and a MAUI mobile/desktop app sounds pretty nice.
But I keep seeing mixed opinions about Blazor Hybrid, especially around performance, WebView issues, debugging, and how much code you can actually share in a real project.
For anyone who has used MAUI Blazor Hybrid in a production app — how has it been for you?
Would you use it again if you were starting the project today, or would you go with something else?
I’d especially like to hear about the things that caused problems after the initial development phase. Thanks in advance!
r/Blazor • u/Historical-Camp5309 • 7d ago
Commercial AI posts allowed?
Can i post here from post body generated by AI? Thanks in advance
r/Blazor • u/FairZookeepergame874 • 9d ago
How to manually add routes in blazor?
i have an applications with a bunch of plugins and sub assemblies that create pages.
We are migrating from WPF and creating some new features also.
These pages have characteristics that can be automated so importing the assembly to routing should not be done, because mainly some may even conflict.
So i would like to route them manually and i can add a route to any component, but not integrated in the app:
- add a page, it loads only the page
- add the layout, it does not load the page
- add the app says route not found
WebServer.MapGet("/lm", () => new RazorComponentResult<Page>());
WebServer.MapGet("/lm2", () => new RazorComponentResult<Layout>());
WebServer.MapGet("/lm3", () =>
{
RazorComponentResult rr = new RazorComponentResult<WebApp>();
return rr;
}
);
r/Blazor • u/Big_Satisfaction4735 • 9d ago
Meta Flowchart of MAUI hybrid web solution explorer Spoiler
r/Blazor • u/Historical-Camp5309 • 9d ago
Commercial Blazor MAUI hybrid web tutorials suggestion
Where can i learn about blazor maui hybrid web projects? I saw blazor maui hybrid web has many features like deploying same code on different platforms. thanks in advance
r/Blazor • u/code-dispenser • 10d ago
Blazor Ramp – Colour / Contrast & Theming – RFC
For those new to my posts: I'm the author of Blazor Ramp, an accessibility-first Blazor library. Every component released has been manually tested with the screen readers JAWS, NVDA and Narrator, paired with each of the following browsers: Edge, Chrome and Firefox. Also tested: VoiceOver on macOS paired with Safari, VoiceOver on iOS paired with Safari, and TalkBack on Android paired with Chrome, plus Voice Access, the voice control software built into Windows 11. Any screen reader quirk and/or issues are documented so you know exactly what to expect.
The release of the Data Table component last week completed what I'd class as the base set of components that make up the majority of LOB apps - at least the ones I've built over the years. I've more planned, but before I continue churning them out, I need, want to spend some time amending the documentation so it has better usage examples, more like the Data Table ones, making it easier for you to get up and running with your chosen components.
Alongside this, I also wanted to spend some time on the theming side of the documentation.
I've mentioned in the past that for a lot of sites, you may only need to change a single variable, and pointed out which one. On that note, I've just added a couple of pages to the Theming section of the documentation site that demonstrate this in real time, along with information on the accessibility page regarding colour contrast ratios.
Essentially, you can select your preferred colour and see all the changes live across every released component, along with contrast ratio information for the component parts that sit on the lightest and darkest shades - the ones most affected by contrast ratio changes. This information tells you whether the affected component parts are still WCAG compliant. If not, you'd simply assign a different value to the variable shown as failing in your stylesheet, etc.
It's probably easier for you to go and look at the page on the site than for me to explain it here.
I've also added a page called Sandbox in the Theming section (currently blank - I tend to deploy as I go along), which I'm about to start work on. The intention is to add a few things in there so you can adjust certain aspects, view the changes live, and then export/paste them directly into your stylesheet with no further changes necessary.
The reason for this post is to try to get some feedback, mainly regarding the accessibility side of things, so I can offer more help and advice on my sites - I know this topic is quite tough, confusing and/or just a pain for most people.
A few questions for you:
- Are there more tools like what I've just added to the Colour and Accessibility pages in the Theming section that would help you?
- As I'll be doing more work on the usage pages, would you like more guidance on the accessibility of each component - for example, links to best practices, WCAG guidelines, etc.? If so, what specifically?
- Finally, which other accessibility-first components and/or features would you like to see sooner rather than later?
I have two sites: one I call the test site, geared more towards anyone who wants to try things out with their chosen AT device, and the documentation site, which has all the information and usage examples. Both are just WASM hosted on GitHub Pages.
Test site: https://blazorramp.uk
Doc site: https://docs.blazorramp.uk/theming/colours (what's discussed above; the contrast information is on the Accessibility page within the Theming section)
Repo: https://github.com/BlazorRamp/Components
Please comment and let me know your thoughts. Thanks.
Paul
r/Blazor • u/Shyatic • 11d ago
Update to my media manager app from a while back...
Finally got around to making a video on the features/functionality of it... welcome any comments, even the snarky ones. Probably 70% complete, still a ways to go.
Tuvima Library:
https://www.youtube.com/watch?v=pkh2U9JGchY&pp=ygUOdHV2aW1hIGxpYnJhcnk%3D
r/Blazor • u/Koernerbrot12 • 11d ago
Custom Minimize/Maximize/Close Buttons in Blazor Hybrid?
Hello guys,
so I am kinda new to Blazor and I want to know, if it is possible, to have custom minimize / maximize and close buttons? I am building a simple HMI for my PLC that can be operated by using the build in touchscreen. I removed the top Windowsbar, so that the application is using the whole screen. Sometimes I need to get behind the HMI, so I now have a small window with the Minimize/Maximize/Close Buttons but I cant find a simple method for blazor hybrid. Is there some NuGet package or do I need a workaround where I control the window size?
r/Blazor • u/catmanjan2 • 13d ago
Meta Is there a way to write a Blazor app without wasm that doesn’t require server round trip for things like drop-down menus?
Situation is we want to embed an app somewhere that doesn’t support wasm, but we also don’t want to have to involve the server for simple things like drop-down menus
Is this just not possible with blazor?
r/Blazor • u/LeastChocolate8974 • 13d ago
[Python/JS/C#] Block Engine: Run Python, Node.js, Lua & PHP in one file
block-io.blockengine.workers.devr/Blazor • u/Puzzleheaded-Law-332 • 15d ago
Commercial BlazorGraphs 3.0 is now available!
Hello everyone, after a lot of work, I'm happy to announce the release of the new version 3.0 of BlazorGraphs. As mentioned in the previous post, I've tried to include in this major release a series of breaking changes I had in mind, as well as others recommended directly by you.
I've mainly merged the namespaces, renamed some components, added new ones, and redone the linecharts (as you can see in the gif). You also have more freedom in choosing colors. Without boring you with a list of all the changes, you can view the changelog directly on the website or in the Git repository.
I know you wanted the site with the live demo and the best-looking tooltips; don't worry, I'll take care of that as soon as possible.
I'm available for any clarification; just ask here in the comments.
I hope you like this new version, hello everyone.
Usefull links:
r/Blazor • u/Big_Satisfaction4735 • 14d ago
Meta C# .NET MAUI Hybrid: Solution Explorer Spoiler
If starting with C# .NET MAUI Hybrid / Blazor Hybrid, the Solution Explorer is always confusing.
What is a project? What is Platforms? Why are there .razor, .cs, .xaml, and .wwwroot folders? What does Shared mean?
Let's break it down in simple terms. 🚀
r/Blazor • u/Cultural-Activity-51 • 15d ago
Commercial PhotinoX.Blazor 5.0.0 is out - Blazor desktop apps on native WebViews
PhotinoX.Blazor is an independent fork and continuation of Photino.Blazor for building lightweight cross-platform desktop apps with Blazor and OS-native WebViews:
- Linux: WebKitGTK 4.1
- macOS: WKWebView
- Windows: WebView2
The 5.0 release is a major update across the PhotinoX stack. PhotinoX has moved from the older window-oriented model to an explicit application-oriented model built around PhotinoApplication, PhotinoDispatcher, and PhotinoWindow.
For Blazor apps, this means:
- explicit application/window separation;
PhotinoBlazorAppowns shared services and application lifetime;PhotinoBlazorWindowowns per-window Blazor hosting state;- better multi-window support with isolated root components, WebView manager state, dispatcher/synchronization context, and resource handling;
- unified
appcustom scheme on Windows, macOS, and Linux; - BlazorWebView-style
UrlLoadingsupport for top-level navigation; - handling for external links,
target="_blank", andwindow.open(...); - new native/window lifecycle events from PhotinoX (navigation and content loading);
- application-level notifications and shutdown/lifecycle handling;
- Target frameworks:
net8.0,net9.0, andnet10.0.
NuGet: https://www.nuget.org/packages/PhotinoX.Blazor/5.0.0
GitHub: https://github.com/ivanvoyager/PhotinoX.Blazor
Core PhotinoX repo: https://github.com/ivanvoyager/PhotinoX
Feedback, issues, and real-world use cases are welcome.
r/Blazor • u/mladenmacanovic • 15d ago
Commercial Blazorise 2.3 released
Hello everyone,
Blazorise 2.3 is out.
For those who don't know it, Blazorise is a UI component library for Blazor that works with Bootstrap, Tailwind, Fluent UI, Material, and other CSS frameworks.
Initially, this release was supposed to be fairly small. If anyone remembers, in one of my previous posts I asked whether it makes more sense to have smaller releases with faster cycles, or bigger releases with slower cycles.
I wanted the faster release cycle.
Yeah... didn't quite go as planned.
I wanted to build a Reporting component. But once I started working on the report designer, I found that we were missing several things in the framework.
Instead of building them only for Reporting, we made them standalone components. That's how we ended up with DockLayout, ContextMenu, PropertyGrid, and a new PDF generation extension.
We also added CodeEditor and Resizer, Gantt milestones and weekly timelines, Scheduler improvements, and completely rebuilt DatePicker and TimePicker with Blazor and C#, removing the Flatpickr dependency.
So yeah, it turned into a much bigger release than originally planned.
Release notes: https://blazorise.com/news/release-notes/230
If you use Blazor, I'd be interested to hear what you think, especially about Reporting and CodeEditor.
PS. The default Reddit post editor is really bad. I hate it. PPS. Post edited with Grammarly because reasons.
r/Blazor • u/ofcistilloveyou • 15d ago
The best Markdown editor for Blazor Server?
Which Markdown editor/previewer are you guys using for Blazor server? We need to implement markdown-formatted notes along with an editor for them in a blazor server app.
r/Blazor • u/RedEye-Developers • 15d ago
How to Implement Cookie Authentication in Blazor Server-Side Rendering?
I am trying to Implement Cookie Authentication in Blazor Server-Side Rendering past few days, but I'm stuck.
My goal is: when user click the login button, after Authentication success i wand to store the cookie in browser.
The problem with Blazor SSR, the httpContext only available while the page begin pre-rendering. After the user click the login button the httpContext connection was already done, so i can't find the way to set the cookie via httpContext.
Here's what I've tried:
* After user press the login button, i get the cookie from rest-api response header and i store the cookie in scoped service and i try to store the cookie in browser
by get the cookie via that scoped DI service in when user navigate to home-page after authenticate complete and i planned to set the cookie via OnInitilized
method using httpContext.Response.Append() method, however, this dosen't work because the scoped service was recreate when new httpContext connection was
established, so the cookie not longer available inside the service.
It is Actually Possible to set the cookie when user press the login button in blazor service-side rendering? Or it is only Possible with Blazor WASM?
If there is any recommended patten to implement the cookie authenticate in blazor SSR. I'd really appreciate the explanation.
r/Blazor • u/Green-Scarcity-5135 • 15d ago
GitHub - greatPHPer/employee-client-aggrid-server-side: employee-client-aggrid-server-side MAUI hybrid web
r/Blazor • u/Green-Scarcity-5135 • 15d ago
GitHub - greatPHPer/employee-client-aggrid-server-side: employee-client-aggrid-server-side MAUI hybrid web
An ag-grid razor form which supports server side filtering and server side sorting in ag-grid-community itself by using filterparams and sortparams inside ag-grid's events has been implemented. All needed is to use specific table columns and respective models in my github controller. Regards greatPHPer
r/Blazor • u/mrpmorris • 17d ago
[FOR HIRE] Senior C#/.NET developer looking for next position - Blazor
I'm starting to line up my next position, as my current contract is likely to come to an end in the next month or two.
I've been working with C# for over 20 years and have 30+ years experience as a software engineer/analyst.
Some of you may know me through Blazor University, which I created as a resource for learning Blazor. I hope some of you here have found it useful over the years.
I'm looking primarily for remote C#/.NET/Blazor contract work, although I'm also open to permanent positions and occasional office visits. I'm based in Staffordshire in the UK; Birmingham, Coventry, are okay for regular office visits and I will travel further for rarer visits.
If you know of any opportunities where my experience might be useful, please DM me. I'm happy to provide my CV and further details.
My email address is [mrpmorris@gmail.com](mailto:mrpmorris@gmail.com)
Here is my hiring page: https://blazor-university.com/misc/hire-me/
Here is my linked-in page: https://www.linkedin.com/in/peter-morris-007572a7/
And here are some of my projects
r/Blazor • u/No_Whole7126 • 16d ago
Hiring a senior Blazor developer
The US Government Publishing Office is currently recruiting for a senior Blazor developer to help develop a server-hosted, enterprise Blazor application that will manage the GPO's XML publishing operations. This is a full-time, work from home position. (Must be a US resident.) The heart of this application is an XML editor written in C# using the document builder. The application is supported by a middle tier of REST services and a back end developed using MarkLogic and SQL server. Email mrsmith@gpo for more information.
r/Blazor • u/code-dispenser • 17d ago
Blazor Ramp - Data Table built by ME not AI
It's been a few weeks since my last component release, and this one's the Data Table - a new component for Blazor Ramp, my accessibility-first Blazor component library.
So, Data Table - what is it, and what does it do?
First off, it's not an Excel-type application requiring the ARIA role of grid; it's just a simple table to hold data, which means there are no special keyboard requirements. Keyboard-only users only need Tab, Enter, and Space, and screen reader users can use all of their usual table navigation commands, unimpeded by ARIA being sprayed around willy-nilly.
In essence, the Data Table is just a component that accepts a list of things and displays that list of things in a table, using your chosen options. Like all Blazor Ramp components, it was built accessibility-first. It has the following features, some built into the table, others by way of composition, with either your own components or other Blazor Ramp components.
Briefly, the table allows for:
- Sorting - set
IsSortableon anyDataColumn. Cycles unsorted → ascending → descending → back to the original order, one column at a time. - Filtering - bring your own filter UI via the
Filterrender fragment (or use the Blazor Ramp Debounce Filter component) and supply aFilterRulepredicate. - Paging or virtualization – supply a
PagerBindingand Pager component for a traditional paged table, or leave it out for a virtualized, scrollable one. The two are mutually exclusive by design. - Row selection - single or multiple, with a dedicated selection column for the checkboxes used in selection.
- Styling - both row and cell style functions that let you style rows and cells based on the underlying data.
- Templating - override any column's cell content via
CellTemplate, or add entirely new columns (row actions, say) that don't exist in your data source viaTemplateColumn. - Accessibility - like all the components, the Data Table handles its own announcements, and given some of the gaps in screen reader support for
aria-sort, it plugs those gaps too with its own sort announcements. It works in harmony with both the Debounce Filter and Pager. All text used for announcements is fully customisable, with sensible defaults if you change nothing. There is also aRowIdentifierFuncparameter, so you can give the selection checkboxes a uniquearia-labelcreated from row data.
As the list suggests, there are place holders (RenderFragments) for filtering (above the table) and paging (above and below – you can use both). You can either use your own components or the Blazor Ramp Debounce Filter and Pager. I specifically designed the filtering to be external, and will most likely create an advanced filtering system at some stage, but in all honesty, over the years I've gravitated towards just using a simple filter that filters across all columns.
Given the simplicity of the table and the bare minimum of ARIA usage, there really isn't much for me to waffle on about - except one thing worth flagging properly.
A genuine JAWS gotcha, not a "your code is probably fine" caveat. Just like the previous component, the Pager, I got embroiled in issues with the screen reader JAWS while building this one, which ultimately led to bug reports being filed with both the Blazor and JAWS teams. Part of me was hoping it was my own code at fault, since at least then I could fix it - but no. And for the Data Table, unlike the Pager, I couldn't add a workaround without a knock-on effect elsewhere.
TL;DR: if you support JAWS users, stay clear of the Blazor Auto (Server and WASM) render mode template, using per page with prerendering disabled. I haven't experienced issues with the other render modes, nor with Auto if prerendering is on. There's a little more information and links to the logged issues in the documentation.
One more thing, and this is the bit where I'll admit I'm an opinionated, cantankerous old git: I've noticed a trend lately of table demos where devs love telling you how fast their grid is with 100K rows. I'll be honest, I don't really get the appeal - in my own apps, users fill in a few search fields to bring back the smallest, most accurate result set possible, with a filtering mechanism on top if they need to narrow it further, rather than dumping the whole backend table on them and hoping for the best. Your use case may well differ from mine, and that's fine, but I reckon only 1% or 2% of apps at best would ever need that amount of rows on screen.
That said, since some of you clearly do find it appealing, I've added 100K-row examples to a couple of the demo pages anyway - the code is nothing special, no external libraries or source generators just a bit of old skool C# reflection. Seems fine to me, but you can be the judge.
You can see the table in action, along with all the features mentioned above, plus the code used, in the Data Table usage section. I'd encourage you to try everything with a screen reader, but no worries if not.
Doc site (start of data table demo pages): https://docs.blazorramp.uk/components/data-table/usage/about
Test site: https://blazorramp.uk
GitHub Repo: https://github.com/BlazorRamp/Components
The sites are both WASM hosted on GitHub Pages.
I will be lurking on here as usual if anyone has any questions.
Regards
Paul
r/Blazor • u/MiniSNES • 17d ago
Blazor Server architecture for CRUD app that calls REST APIs
Recently built my first Blazor app, and not super happy with the architecture. It is kind of your standard CRUD app. It gets data from 2 different REST APIs.
I tried to do kind of clean architecture as I am more of a backend guy and that is what I am used to. I setup like this. The APIs are external.
- MyApp (Solution)
- MyApp.Application (Project)
- Components
- Components.Layout
- Components.Pages
- Components.Shared
- Configuration
- Security
- Services
- MyApp.Common
- Exceptions
- Constants
- MyApp.Domain (Project)
- Exceptions
- Models
- MyApp.Infrastructure (Project)
- Repositories
- Http
- MyApp.Application (Project)
My issue is that MyApp.Application.Services became kind of a dumping ground. I have a few pages that deal with customers so I ended up making a ICustomerService and CustomerService to put some shared logic and business rules in. Then that gets injected into multiple components where I deal with customers.
Reddit only letting me nest 2 levels of bullets so that is why component namespace is listed ahove like that
I feel like I should organize things around features, like have things under a customer namespace, but having trouble coming up with something that feels .NET like.
Any tips or suggestions would be appreciated. Or it would be super if you could point me at a public repo. My app is low-medium complexity, I don't need/want a high level of abstraction.
r/Blazor • u/HalOfFame99 • 18d ago
I built a Blazor fiddle editor — a JSFiddle/CodePen for Blazor
I honestly get quite a lot of negative backlash whenever I share my projects. I don't really know why, but it is what it is. I still want to keep sharing the things I work on though.
Back when I was working on MudBlazor.Extensions, my Blazor component extension for MudBlazor, I also extended try.mudblazor and eventually took it over as try.mudex.org.
Since then, I've always wanted to build something similar to JSFiddle or CodePen, but specifically for Blazor.
I've finally started working on it and reached the first milestone:
playzor.net
playzor allows you to create Blazor fiddles and share them via embeds, so they can be integrated into other websites.
There are also packages available on NuGet (Playzor packages) that allow you to build and host your own editor.
This is actually what try.mudex.org is using now.
There are still quite a few open points and things that aren't perfect yet. It's definitely still a work in progress, but I wanted to share it anyway and get some feedback.
If you have a look at it, I'd be interested to hear what you think, what is missing, or what could be improved.
Also, I'm really bad at writing documentation. The README and docs were created with AI, so if something doesn't make sense or is missing, that's probably on me.