LiveView Native Clients: FFI
KronicDeth opened this issue · comments
We need a better way to generate FFI (foreign function interface) language bindings. We need to gather all the available ways to generate those bindings so we can make a choice that works with our desired target platforms.
FFI Genenerator | FFI Generator Docs | Swift (iOS) | Kotlin (Android) | Native (macOS, iOS, tvOS, watchOS, Linux, Windows, Android NDK) | C# (Windows) | C | C++ | Result |
---|---|---|---|---|---|---|---|---|
Manual | ✅ | ✅ | ✅ | Custom | ||||
swift-bridge | swift-bridge Book | ✅ | RustResult |
|||||
UniFFI | UniFFI user guide | ✅ | ✅ | ✅ uniffi-kotlin-multiplatform-bindings | ✅ uniffi-bindgen-cs | throw |
||
Diplomat | The Diplomat Book | ✅ | ✅ | ? | ||||
Interoptopus | Docs | ✅ | ✅ | ? |
Future issue for @KronicDeth
At 2023-08-17 meeting the team decided to do an exploration with UniFFI to see if it meets our needs for both Kotlin/Android and Swift/iOS.