Kotlin Multiplatform Widget Engine

Build Home Screen Widgets for Android & iOS from Shared Code

Write declarative Compose UI once in KMP. WARP compiles your code into native Jetpack Glance RemoteViews on Android and native SwiftUI WidgetKit on iOS.

CounterWarpWidget.kt
commonMain
Android Glance (RemoteViews)
ACTIVE
0
iOS WidgetKit (SwiftUI)
ACTIVE
0

Why Choose WARP?

100% Shared Compose UI

Write your widget layout using familiar Compose DSL primitives (`WarpColumn`, `WarpRow`, `WarpText`, `WarpButton`).

True Native Execution

No heavy canvas renderers or Skia runtime. WARP compiles directly into native Glance RemoteViews on Android and native SwiftUI on iOS.

Zero App Size Overhead

Only uses `compose.runtime`. Does not pull in Compose UI graphics, preserving minimal binary size for your app.

Persistent State Store

Automatic state persistence across system restarts via SharedPreferences (Android) and App Group UserDefaults (iOS).

Adaptive Layouts

Built-in size bucketing (`Small`, `Medium`, `Large`) dynamically resizes layouts for different home screen widget dimensions.

Swift Code Wizard

Generate iOS WidgetKit SwiftUI and AppIntent boilerplate instantly using the web-based Widget Wizard.

Real-World Benchmark Report

Minimal App Size Footprint

WARP relies exclusively on lightweight compose.runtime without pulling in Compose UI rendering pipelines or heavy graphics engines. Your app remains fast, lean, and small.

1.8 MB
App Store Download Size

Xcode App Thinning export (TodoWidget.ipa)

5.8 MB
On-Device Installed Footprint

Uncompressed installed app & widget extension footprint

73%
Release Binary Stripping

Automatic LTO & Kotlin/Native dead-code elimination

Verify Benchmark Report