Skip to content

MikoNative UI for .NET, authored in Razor

A cross-platform rendering engine that draws every pixel with SkiaSharp — no browser, no WebView, no HTML/CSS runtime.

Why Miko?

vs. Electron / WebView UIs — no embedded browser to ship, update, or sandbox; dramatically smaller binaries and lower memory; everything runs in one managed .NET process with optional Native AOT.

vs. .NET MAUI — Razor instead of XAML, one Skia renderer on every platform (the UI looks identical across targets), and you can bring much of an existing Blazor component codebase.

Experimental

Miko is an experimental project under active development. APIs may change between versions.

A taste of the code

Author a page in Razor:

razor
@page "/about"
@namespace MyApp.Pages

<h1>About</h1>
<p>Hello from Miko!</p>

…or drive the engine directly without Razor:

csharp
var root = new DivElement { Class = "container" };
root.AddChild(new H1Element { TextContent = "Hello Miko" });

var engine = new MikoEngine();
engine.Initialize(root, new List<StyleSheet> { styleSheet }, canvas, 800, 600);
engine.Render(canvas);

Head to the Getting Started guide to scaffold your first app.

Released under the MIT License.