Skip to content

Platform support ​

Support matrix ​

ModePlatformStatus
vdom modeApp-Android✅ Kotlin toolchain + real-device full suite verified
vdom modeWeb✅ JS toolchain full suite verified
vdom modeApp-iOSsame codebase, pending on-device testing
vdom modeApp-HarmonyOSsame codebase, pending on-device testing
Vapor modeall platformsruns, but use standard Pinia there

Requires HBuilderX 4.75+ (tested on 5.26).

Adjudicated platform differences (verified on Web + Android) ​

ItemWeb (JS / Proxy)Android (Kotlin / no Proxy)Ruling
reactive() on Ref fieldsauto-unwrap (true forwarding)no unwrap (keeps RefImpl)stores pass through as-is (Plan B); no reliance on reactive unwrapping
app.use(pinia instance)fires installdoes not firemount-free is the only reliable form; plugins via top-level setActivePinia
deep watch on store objectfires normallydoes not fire$subscribe pruned; per-field watch instead
generic T into Mapfinecompile error (error17)contained via as any inside the library

Why one codebase works everywhere ​

unix-pinia is a pure orchestration layer (no platform-specific directories): it depends only on uni-app x built-in reactivity primitives (ref / computed / reactive / watch) and UTS language capabilities. iOS / HarmonyOS share the same UTS nominal type system as Android, so they are expected to compile directly; this page will be updated after on-device verification.

Released under the MIT License.