Platform guides
HuxerUI shares one C++ application, DSL, state model, layout engine, interaction system, semantic tree, and paint scene. Platform adapters own lifecycle, scheduling, native input, text services, file and network transports, window integration, and scene rendering.
Status language
Section titled “Status language”- Supported: the pinned HuxerUI revision contains a repository-owned backend implementation.
- Limited: an implementation exists with a material platform or composition restriction described in the platform guide.
- Platform API: an explicit integration header exists, but the application or embedding code must supply the producer/factory.
- Not exposed: the pinned revision does not expose that backend capability.
- Not validated here: the website build did not run that native backend; this is verification status, not a claim that its implementation is absent.
Capability matrix
Section titled “Capability matrix”| Capability | Windows | macOS | Linux | Web | Android | iOS |
|---|---|---|---|---|---|---|
| Render scene and text | Supported | Supported | Supported | Supported | Supported | Supported |
| Pointer, keyboard, and text input | Supported | Supported | Supported through GTK/GtkIMContext | Supported through DOM input | Supported through View/JNI | Supported through UIKit/UITextInput |
| Accessibility bridge | Supported through UI Automation | Supported through AppKit accessibility | Not exposed | Not exposed; canvas is hidden from the DOM accessibility tree | Supported through an accessibility node provider | Supported through UIKit accessibility |
| Application files | Supported | Supported | Supported | Limited to browser storage/capability rules | Supported | Supported |
| File picker | Supported | Supported | Limited to an available desktop portal | Limited to browser picker capabilities | Supported | Supported |
| HTTP | Supported | Supported | Supported | Limited by browser origin/CORS policy | Supported | Supported |
| PlatformView | Limited HWND child composition | Platform API for NSView |
Not exposed | Platform API for DOM objects | Platform API for Android Views | Platform API for UIView |
| PlatformModule | Typed C++ registration | Shared C++ registry | Shared C++ registry | Shared C++ registry | Typed registration plus Java/JNI factories | Shared C++ registry |
| ExternalTexture | PixelTexture / D3D11Texture | PixelBufferTexture / MetalTexture | PixelTexture / GlTexture / GdkTexture | VideoFrameTexture | BitmapTexture / GlTexture / SurfaceStreamTexture | PixelBufferTexture / MetalTexture |
| Window and system UI | System/custom desktop chrome | AppKit window integration | GTK window integration | Browser viewport only | Safe area, edge-to-edge, and system bars | Safe area, edge-to-edge, and system bars |
| Local notifications | Configured Win32 notifications | User Notifications; no templates | Unavailable | Unavailable | Configured NotificationManager | User Notifications and optional content extension |
| Retained CPU buffer payload | C++ BufferReference | Apple buffer bridge | C++ BufferReference | Not exposed | Direct ByteBuffer bridge | Apple buffer bridge |
| System tray | Supported | Supported | Limited by desktop host | Not exposed | Not exposed | Not exposed |
| Camera/microphone permission | Limited by OS capability and app identity | Supported with app declarations | Unavailable shared permission transport | Query-only where available; requests unavailable | Supported with manifest declarations | Supported with usage descriptions |
| Typed URL/history routing | Application-defined navigation only | Application-defined navigation only | Application-defined navigation only | Supported by BrowserNavigationStack |
Application-defined navigation only | Application-defined navigation only |
| Activation and lifecycle | Supported | Supported | Supported | Supported through location/visibility events | Supported | Supported |
The matrix reports code present in the pinned revision, not a release certification statement. This website validates the shared public contracts and all listed Web examples; native device, GTK desktop, and Apple runtime behavior still requires the matching host toolchain and target environment.
Choose a platform guide
Section titled “Choose a platform guide”| Platform | Application shell | Native integration focus |
|---|---|---|
| Windows | CMake and MSVC executable | Win32 windowing, HWND PlatformView limits, UI Automation, external frames |
| macOS | CMake/Xcode executable | AppKit, NSTextInputClient, accessibility, NSView integration |
| Linux | CMake GTK 4 executable | Pango, Cairo/GSK, GtkIMContext, desktop services, current missing bridges |
| Web | Emscripten static application | Browser policy, URL history, DOM views, current accessibility limit |
| Android | Gradle library and app modules | Java/JNI host, accessibility, system UI, Android Views |
| iOS | CMake/Xcode application shell | UIKit, UITextInput, accessibility, safe areas, UIView integration |
Use huxerui setup <platform> to prepare a target and huxerui run <platform> for development.
The generated project owns platform metadata while its C++ src tree remains shared.

