跳到主要内容

UltimateUI

UltimateUI 是一个面向 WebKit 的高性能 C# GUI 框架。应用代码使用强类型 C# DOM API;框架把元素树、属性、样式和事件监听器降低成二进制 opcode frame, 再由预加载的 TypeScript shim 在 WebKit renderer 内执行 DOM mount/update。

当前 v1 目标平台是 Linux x86_64:

  • 渲染宿主:WebKitGTK 6.0
  • JavaScript 引擎:JavaScriptCoreGTK 6.0
  • 运行时路径:C# typed DOM -> binary wire frame -> WebKitGTK -> shim decoder -> DOM
  • 事件路径:DOM event -> window.webkit.messageHandlers.uui -> C# listener registry

最小示例

var builder = UltimateAppBuilder.CreateDefaultBuilder();
var app = builder.Build();

var window = app.MainWindow = new Window();
window.Render(ctx =>
{
var count = ctx.UseState(0);
var root = new Div { Class = "container" };
var button = new Button($"Clicked {count.Value}");
button.OnClick += (_, _) => count.Update(static value => value + 1);

root.Children.Add(new H1("UltimateUI"));
root.Children.Add(button);
return root;
});

return await app.RunAsync();

当前边界

  • WebKitGTK 是当前真实 renderer;NullRenderHost 用于测试、golden frame 和无 UI 环境。
  • macOS WKWebView 与 Windows WebView2 是保留接口位,尚未实现。
  • Native WebProcessExtension 是预留快路径;默认路径使用 webkit_web_view_evaluate_javascript
  • 用户代码不直接写 JavaScript;JavaScript 只作为框架内部 shim 存在。