Tested and measured
Compatibility
Only versions that were actually exercised are listed. Tests ran on 2026-10-05 on one Apple-silicon Mac; continuous integration workflows exist but have not run publicly yet.
| Component | Tested | How |
|---|---|---|
| Dart / Flutter | 3.11.5 / 3.41.9 | package tests; example apps |
| Android platform | 36 (full jar), 37.2 (parsed) | whole-SDK generation analyzes cleanly |
| Android emulator | API 37, arm64 | Flutter: 26 integration tests; React Native: 20 self-tests |
| Xcode / iOS SDK | 27.0 / 27.0 | Foundation + UIKit full generation |
| iOS simulator | iPhone 17, iOS 26.4 | Flutter: 28 integration tests; React Native: 19 self-tests |
| React Native | 0.87.1 (New Architecture, Hermes) | release builds on both platforms |
| Kotlin | 2.4.20, kotlinx-coroutines 1.10.2 | suspend functions on a host JVM and the emulator |
package:jni / package:objective_c | 1.0.3 / 9.5.0 | generated code compiles and runs |
Size (release APKs, Android API 36)
| App | Bytes |
|---|---|
| Flutter example without bindings | 14,426,402 |
| Flutter, one API; bindings generated for that API | 14,842,216 |
| Flutter, one API; bindings generated for the whole SDK | 14,842,216 |
| React Native example without bindings | 18,623,666 |
| React Native, bindings for the slice | 19,312,390 |
| React Native, bindings for the whole SDK | 57,776,278 |
Cost per call (emulator/simulator)
| Path | Generated binding | MethodChannel |
|---|---|---|
| Flutter, Android (profile) | 1.00 µs | 271 µs |
| Flutter, iOS (debug) | 34 ns | 20.4 µs |
| React Native, Android (release) | 1.50 µs | not measured |
| React Native, iOS (release, JS thread) | 1.14 µs | not measured |
Medians of three runs; methods and raw data are in the repository under docs/benchmarks. Physical devices have not been measured.