Skip to main content

Platform Support

Hosanna has first-class compile and HST targets for Browser, Samsung Tizen, LG webOS, Roku, iOS, Apple TV, Android, Android TV, CarPlay, Android Auto, Apple Watch, and Wear OS. Browser, Tizen, and webOS share the Web DOM renderer; their compile targets select different host initializers and adapters. The framework keeps product code focused on state, behavior, data, views, or semantic system surfaces while each platform boundary handles rendering, packaging, and device integration.

The first coordinated Browser, Tizen, and webOS framework release is Hosanna UI 1.39.0; the matching build, setup, and device workflows ship in Hosanna Tools 3.18.0. The legacy web CLI spelling remains a Browser compatibility alias.

Browser, Tizen, and webOS are production-ready, first-class deployment targets. For Tizen and webOS, the supported workflow includes compile composition, desktop preview, package build, discovery, install, launch, inspection, and termination. Their target initializers own vendor media, input, accessibility, and lifecycle integration, while storage uses the shared Web implementation. As with any television release, verify the application’s content, DRM configuration, captions, accessibility experience, persistence, and lifecycle behavior on the model families it ships to.

Supported Targets​

Support matrix comparing HST ownership, runtime, browser preview, simulator, physical device, and packaging owner across Web, TV, mobile, car, and watch targetsSupport matrix comparing HST ownership, runtime, browser preview, simulator, physical device, and packaging owner across Web, TV, mobile, car, and watch targets

PlatformPrimary runtimeMain validation path
BrowserWeb DOM, optionally installed as a PWAhst run browser dev emulator, Vite, DevTools, MCP debugger, install/offline checks
Samsung TVWeb DOM plus Tizen initializer and AVPlay implementationhst run tizen dev emulator/device, signed .wgt, and Samsung model release checks
LG TVWeb DOM plus webOS initializer and native media implementationhst run webos dev emulator/device, .ipk, and LG model release checks
RokuBrightScript and SceneGraphhst run roku dev device, Roku sideload, device logs, MCP debugger
iOSNative mobile targethst run ios dev sim/device, touch validation, Xcode for signing/profiling
Apple TVNative Apple targethst run apple-tv dev sim/device, focus/input validation, Xcode for signing/profiling
AndroidNative mobile targethst run android dev sim/device, touch validation, Android Studio for signing/profiling
Android TVNative Android targethst run android-tv dev sim/device, DPAD validation, Android Studio for signing/profiling
CarPlayiPhone JavaScriptCore plus native CarPlay templateshst run carplay dev sim, CarPlay external display, physical vehicle/head unit
Android AutoHermes car service plus Android for Cars templateshst run android-auto dev sim, Desktop Head Unit, connected phone/head unit server
Apple WatchiPhone JavaScriptCore companion plus SwiftUI/watchOShst run apple-watch dev sim, paired Watch/iPhone simulators, physical pair through Xcode
Wear OSOn-watch Hermes plus Compose for Wear OShst run wear-os dev sim, Wear AVD, physical watch

Shared App Model​

Most product code should stay platform-neutral:

  • Define screens with Hosanna views and view state.
  • Use AppConfig for styles, fragments, callbacks, and shared app metadata.
  • Route remote, keyboard, pointer, and touch input through onInputEvent and the focus system.
  • Use the active expression (tv, web, phone, tablet, or watch) for presentation intent, and use platform capabilities for feature availability. Car targets retain the phone expression and advertise the active semantic car surface through carUI capabilities.
  • Read design size, DPI, safe areas, and host viewport values from the device facade instead of direct browser or native checks.
  • Keep platform-specific code behind hst run/hst build target selection, compile-time aliases, adapters, and packaging seams. device=tizen and device=webos configure a selected target for preview; they do not change which initializer was compiled.
  • Validate common behavior in Browser first, then finish each release on the target devices.

For the shared runtime vocabulary, config variant selection, device metrics, orientation callbacks, and capability groups, see Cross-Platform Runtime Model.

For installable browser delivery, see Browser Progressive Web Apps (PWA). PWA output belongs to Browser only; packaged Tizen and webOS builds do not include a service worker.

Platform-Specific Work​

Each platform page documents the parts that differ: setup, packaging, store requirements, native services, input behavior, media playback, and debugging. Car and watch targets use small semantic system-surface APIs instead of trying to project arbitrary phone or TV view trees. Keep shared UX behavior in the core docs and use platform pages for target-specific decisions.

Start with Platform-Specific Code, Running On Device, and the page for your release target.

Talk to us