The platforms
QHexRT, the Qualcomm Hexagon NPU backend, stops at 0.20.19 on Maven Central, pub.dev, and
npm’s React Native package. Electron’s
@runanywhere/electron-qhexrt is the exception and
publishes at 0.20.24.
Async and streaming
Prompts and conversations
Flutter is the outlier, because Dart has no method overloading. It also has
generateChatStream alongside generateStream.
Input constructors
React Native’s are plural. Flutter has no
AudioInput.file and no ImageInput.rawRgba.
Web has no AudioInput.file; use AudioFileLoader from @runanywhere/web/browser.
Streaming push handles
openStream returns a handle you push frames into.
React Native has only the pull-shaped
transcribeStream and detectStream.
Where streaming errors surface
Preflight failures throw from the call on every SDK. Do not share one error-handling helper
across the two groups without checking.
Smaller differences worth knowing
Structured output modes
Every SDK exposes three enforcement modes and only two of them work:Backends
MLX runs only on physical Apple hardware, never a simulator. QHexRT is arm64 only.
On Windows the Electron lanes are mutually exclusive: x64 gets llama.cpp, ONNX, and Sherpa;
arm64 gets QHexRT alone.
Pick one
Swift
iOS and macOS
Kotlin
Android
React Native
iOS and Android
Flutter
iOS and Android
Web
The browser