Skip to content

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.

  • 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 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.

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.