The first time I used Blazor Server was for a technical blog.
Deployed bare-metal on Ubuntu Server, behind an Nginx reverse proxy, it used:
- C# 12/.NET 8
- Blazor SSR
- MySQL
- Dapper
- Monaco Editor
- Bootstrap 4
- Auth0
- Systemd
I was using EF Core, but switched to Dapper to experiment with caching.
Overview
The site included the usual functionality you'd expect from a single tenant blogging platform — posts, categories, users, and media management:
Flexibility
I embedded the Monaco Editor to create posts so I can practice JavaScript, HTML and CSS. Monaco is the core editor behind Visual Studio Code:
That turned out to be a good choice as it affords great flexibility. For example, the documentation for Project Galahad provided functionality to view UML diagrams:
And different layout styles for posts were possible—essentially everything was customizable:
Virtual Resume
Whilst building the site, I experimented with an interactive, searchable career history—perhaps a little too enthusiastically. Here's an example of a command to list the six most recent jobs in which C# was used:
And one of the posts communicated with a local AI via a Uvicorn API. It displayed the matrix scrolling theme whilst waiting for a reply:
The Biggest Surprise
I was completely unaware of the sheer number of bots, scanners, scammers, and malicious actors on the internet. I had essential security via Nginx, however it wasn't nearly enough. The bad actors were having a field day, but Kestrel was rock solid, it held the line admirably.
I spent the next three weeks setting up security in depth, ensuring most bad traffic never reached Kestrel.
Kestrel really surprised me, it is a world class server.
The Experience
The sheer delight of using C# and having the entire .NET ecosystem at your service is amazing. I especially appreciate server-sider rendering, it simplifies everything.
So far, I'm very impressed! Blazor has become my favourite web framework.
Hassan Habib has mentioned that Blazor is something that they are very excited about at Microsoft. The future looks very encouraging for Blazor developers.