Back to Runanywhere Sdks

Cross-SDK parity reference

docs/reference/cross-sdk-parity.md

0.20.251.4 KB
Original Source

Cross-SDK parity reference

Linked from AGENTS.md. A side-by-side comparison of how each SDK implements the same cross-cutting concerns — useful when porting a fix from one SDK to another or auditing that all five stayed in sync after a change.

ConcerniOS SwiftKotlin (Android)FlutterReact NativeWeb
Entry pointenum RunAnywhereobject RunAnywhereRunAnywhere (final class, static members)RunAnywhere objectRunAnywhere object
Bridge layerCppBridge enum + extensionsCppBridge object + extensionsDartBridge + DartBridge*.dartHybridRunAnywhereCore (Nitro)LlamaCppBridge + SherpaONNXBridge
StreamingAsyncStreamFlowStream (StreamController)AsyncIterable (manual iteration)AsyncIterable
EventsEventBus (Combine)EventBus (SharedFlow)EventBus (broadcast StreamController)EventBus (NativeEventEmitter)EventBus (custom pub/sub)
Secure storageKeychainAndroid KeystoreKeychain (iOS) / Keystore + atomic no-backup files (Android)Keychain (iOS) / Keystore (Android)localStorage — not secure, no secrets belong here
HTTP transportURLSessionOkHttpOkHttp (Android) / URLSession (iOS)OkHttp (Android) / URLSession (iOS)emscripten_fetch / fetch()