What is Hermes?
Hermes is a modern, AOT-compatible native desktop framework for .NET. It enables you to build cross-platform desktop applications with web-based UIs using native windows, menus, dialogs, and WebView integration.
Key Features
- Cross-Platform — Build once, run on Windows, macOS, and Linux
- Native Menus — Full native menu bar support with runtime modification for plugin systems
- Native Dialogs — File/folder selection dialogs that look native on each platform
- WebView Integration — WebView2 (Windows), WKWebView (macOS), WebKitGTK (Linux)
- Blazor First-Class —
Hermes.Blazorprovides seamless Blazor integration - AOT Compatible — Uses
LibraryImportinstead ofDllImportfor full AOT support - Minimal Native Code — ~3,800 LOC total (mostly C#) vs 12,300+ in alternatives
Quick Example
csharp
using Hermes;
var window = new HermesWindow()
.SetTitle("My App")
.SetSize(1024, 768)
.Center()
.Load("https://example.com");
window.WaitForClose();With Blazor
csharp
using Hermes.Blazor;
var builder = HermesBlazorAppBuilder.CreateDefault(args);
builder.ConfigureWindow(options =>
{
options.Title = "My Blazor App";
options.Width = 1024;
options.Height = 768;
});
builder.RootComponents.Add<App>("#app");
var app = builder.Build();
app.Run();Platform Support
| Platform | WebView | Native Code |
|---|---|---|
| Windows | WebView2 | None (pure C# with CsWin32) |
| macOS | WKWebView | ~500 LOC Objective-C |
| Linux | WebKitGTK | None (pure C# with GtkSharp) |
Why Hermes?
See Why Hermes? for a comparison with alternatives like Photino, Electron, and Tauri.
Getting Started
Ready to build your first app? Start with the Installation Guide.
