Comparison To Roku SDK
Hosanna UI and the Roku SDK both enable TV app development, but they differ significantly in architecture, developer experience, and platform reach. Here’s a direct comparison:
Language and UI Model
- Direct Roku development: BrightScript/BrighterScript plus SceneGraph XML and nodes.
- Hosanna: TypeScript classes decorated with
@view;getViews()returns typed view structs. The Hosanna Compiler produces BrightScript and SceneGraph output for Roku. Hosanna does not use React or JSX.
Cross-Platform Support
- Roku SDK: Only for Roku devices.
- Hosanna UI: Write once, run on Roku, Apple TV, Android TV, Samsung TV, iOS, Android, and Web.
UI Development
- Roku SDK: screens and components are built directly from SceneGraph components, XML, and BrightScript.
- Hosanna: shared views return
Label(...),Button(...), groups, controls, or generated app-component factories fromgetViews(). The same view model has platform implementations for other supported targets.
State and Lifecycle
- Roku SDK: applications manage SceneGraph fields, observers, tasks, and component lifecycle directly.
- Hosanna: generated state contracts and
@statefields drive reconciliation.BaseViewsupplies mount, unmount, focus, layout, and lookup behavior.
Tooling & Developer Experience
- Roku SDK: Limited IDE support, basic debugging, and no hot reload.
- Hosanna UI: Terminal-first
hsttooling, hot reload where supported, optional editor integration, Hosanna DevTools, and MCP debugging. No React-specific tooling is required.
Performance
Both approaches still require device measurement. Hosanna provides view/node pooling, virtualized collections, source maps, and shared diagnostics, but an app can still create expensive trees, decode oversized images, or do too much work during input and animation.
Summary Table
| Feature | Roku SDK | Hosanna UI |
|---|---|---|
| Language | BrightScript | TypeScript/JavaScript |
| UI Framework | SceneGraph/XML | JavaScript Classes |
| Platforms | Roku only | Roku, Apple TV, Android TV, Samsung TV, iOS, Android, Web |
| State Management | SceneGraph fields/observers and app logic | Generated state plus @state fields |
| Tooling | Basic | Modern CLI, DevTools, MCP, optional editor support |
| Debug source | BrightScript/SceneGraph | TypeScript source maps plus generated BrightScript |
When to Use Hosanna UI
- You want to target multiple TV, mobile, and web platforms with a single codebase.
- You prefer modern JavaScript/TypeScript and plain JavaScript class patterns.
- You want a faster, more productive development experience.
When to Use Roku SDK
- You are building exclusively for Roku and need deep integration with Roku-specific features.
- You have an existing BrightScript codebase.
For a Roku-only integration that depends heavily on firmware-specific SceneGraph behavior, direct Roku development can remain the right boundary. For a product that shares screens and behavior across targets, Hosanna reduces the amount of target-specific application code while retaining Roku escape hatches where required.