Skip to content

Proposal: add Microsoft WebUI to the runtime benchmarks #834

Open

Description

@mohamedmansour

Following the request to discuss the addition before proceeding, I'd like to propose adding Microsoft WebUI and get approval on its scope first.

Elevator pitch

WebUI is Microsoft's HTML-first UI framework. It compiles HTML/CSS templates into a portable binary protocol that a native server (any language) can render with application state. Browser JavaScript is optional for static pages, with hydration available for interactive components with Islands Architecture. Source.

Adding a Rust-backed WebUI app would give the suite a different architectural comparison: native server rendering and optional client-side interactivity, measured against the same workloads as the existing frameworks. The value is broader coverage, not a presumed performance win.

Proposed scope

Start with a runtime-only app-webui port of the Astro fixtures: the same 1,000-row UUID table, detail navigation, initial-load content, and data-loading delay. Measure client rendering, server rendering, initial-load cost, and HTTP SSR throughput using the existing harness and CPU allocations.

Keep rendered HTML uncached, and document that Axum/Tokio's multithreaded Rust server and the existing Node production servers are different complete server configurations. Exclude the in-process JavaScript renderer benchmark and client-router-link benchmark rather than substitute non-equivalent measurements.

The earlier implementation is available in #833 as a reference, not as an assumption of approval.

Discussion

Would a runtime-only integration fit the project's scope, or should an official starter and dev-time measurements be included first? The additional Rust toolchain/build support and ongoing maintenance ownership should also be agreed before proceeding.

Activity

  1. AlexanderKaran commented on Nov 12, 2026

    @AlexanderKaran
    Collaborator

    Thanks for opening the issue, @mohamedmansour!

    From my initial look, I’m unsure WebUI fits the scope of our meta-framework benchmarks. It supports several backends, and I couldn’t tell from the proposal what WebUI recommends as the default setup for a full application.

    • Does WebUI provide its own backend or recommend a specific one for server routing and data loading?
    • Is there a first-party starter, CLI, or getting-started guide for a full WebUI app that we could use as the baseline for our dev-time benchmarks?

    That would help us assess whether WebUI fits the suite before we decide on the scope of the integration.

  2. mohamedmansour commented on Nov 12, 2026

    @mohamedmansour
    Author

    Thanks for opening the issue, @mohamedmansour!

    From my initial look, I’m unsure WebUI fits the scope of our meta-framework benchmarks. It supports several backends, and I couldn’t tell from the proposal what WebUI recommends as the default setup for a full application.

    • Does WebUI provide its own backend or recommend a specific one for server routing and data loading?
    • Is there a first-party starter, CLI, or getting-started guide for a full WebUI app that we could use as the baseline for our dev-time benchmarks?

    That would help us assess whether WebUI fits the suite before we decide on the scope of the integration.

    WebUI is a new web framework that optimizes on performance. I am part of Chromium, we use that for high-performance web architecture. Traditionally all web frameworks need Node to run, and that limited chromium cause we cannot afford running another process for Node, and we wanted SSR on C++. React and other frameworks relied heavily on JS to do UI, meanwhile WebUI relies on the Web Platform (html for template, css for styles, and JS for interactivity) using Islands Architecture.

    WebUI is a Web Components framework. You can learn more from here https://microsoft.github.io/webui , it is new framework we will be publicly release soon!

    It is fast, cause we can use Rust to do isomorphic web apps. It uses web components to do hydration. All native to the platform.

  3. dreyfus92 commented on Nov 12, 2026

    @dreyfus92
    Member

    thanks a lot for the proposal @mohamedmansour, and for opening the issue first and sharing a reference, that made it really easy to look into 🙏

    i went through the webui docs to help with alex's questions. from what i can tell the install guide recommends picking "the backend that fits your application", with rust, node/bun, .net, python, a c abi and wasm as equal options, and routing is handled client side, so there isn't a default server or data loading setup. there's also the webui cli with serve/build, but no scaffold for a full app yet, the getting started guide builds the files by hand.

    since this suite compares meta-frameworks using their recommended defaults, i think that makes it tricky to include for now: the runtime numbers would mostly reflect the server we pick for it rather than a webui default, and there isn't a starter for the dev time benchmarks. totally not a judgment on webui itself, it looks like a really interesting approach.

    if webui ships a recommended full-stack setup or starter later on, it'd be great to revisit this. thanks again for taking the time!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions