Comparison

OneJS uses Unity as a cross-platform runtime, giving you React development with GPU-accelerated rendering across desktop, mobile, web, consoles, and XR.

Bundle Sizes

OneJS bundle size varies by platform since it includes the Unity runtime:

PlatformOneJSNotes
WebGL3-5 MBBrowser handles JS execution
Android~35 MBIncludes IL2CPP runtime
iOS~40 MBSimilar to Android
Desktop~75 MBFull standalone runtime
These sizes depend on Unity version and included features. Stripping unused code reduces them further.

Framework Comparison

ElectronTauriFlutterReact NativeOneJS
Bundle size100-150 MB3-10 MB5-40 MB4-25 MB3-75 MB
RenderingCPU (Chromium)System webviewSkia (GPU)Native viewsGPU (UI Toolkit)
DesktopLimited
MobileBeta
Web
Consoles
VR/AR
3D supportWebGL onlyWebGL onlyLimitedLimitedFull engine
LanguageJS/TSJS/TS + RustDartJS/TSJS/TS
ConsistencyHighVariesHighVariesHigh
OneJS size is platform-dependent: WebGL ~5MB, mobile ~35MB, desktop ~75MB.

When to Choose Each

Electron - Desktop-only apps where download size doesn't matter. Mature ecosystem.

Tauri - Smallest desktop bundles. Accept webview inconsistencies across platforms.

Flutter - Mobile-first apps. Willing to learn Dart.

React Native - Mobile apps with native UI components. Desktop is secondary.

OneJS - Cross-platform including consoles/XR. Need 3D capabilities. Want React with GPU rendering.

For Game Developers

Traditional game UI (C#/C++) means slow iteration and verbose code. OneJS brings:

Declarative components instead of imperative code:

// OneJS
function MainMenu() {
    return <Button text="Play" onClick={handlePlay} />
}
// Traditional C#
var button = new Button();
button.text = "Play";
button.clicked += OnPlayClicked;
container.Add(button);

Hot reload - Change UI without recompiling or restarting play mode.

Modding - Players can modify JavaScript UI without touching compiled code.

Web developer onboarding - React developers contribute immediately.

Technical Details

JavaScript Engine

  • Native platforms: QuickJS interpreter (works on iOS/consoles where JIT is prohibited)
  • WebGL: Browser's V8/SpiderMonkey with full JIT optimization

UI Toolkit

Unity's retained-mode UI system with flexbox layout, CSS-like styling, and GPU rendering. React's reconciler maps directly to UI Toolkit elements.

Getting Started