Skip to content

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-ClassHermes.Blazor provides seamless Blazor integration
  • AOT Compatible — Uses LibraryImport instead of DllImport for 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

PlatformWebViewNative Code
WindowsWebView2None (pure C# with CsWin32)
macOSWKWebView~500 LOC Objective-C
LinuxWebKitGTKNone (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.

Released under the Elastic License 2.0