The Keyple Interop JSON API Client Library is a Kotlin Multiplatform client library designed to facilitate communication between non-Keyple client applications and Keyple servers.
It implements the Keyple Server JSON API and the Selection JSON Specification, enabling seamless data exchange over HTTP.
This library is fully compatible with Windows, Linux, macOS, Android and iOS platforms, allowing applications on these devices to easily interact with Keyple servers and access the full functionality of the Keyple ecosystem.
Kotlin Multiplatform components
0.1.6
Documentation
Download
Here is a summary table describing the purpose and usage of each target module generated by this Kotlin Multiplatform library, including the root (no-suffix) module and platform-specific variants:
Artifact ID | Format | Purpose | Main Use Case |
---|---|---|---|
keyple-interop-jsonapi-client-kmp-lib | .jar | Common code shared across all platforms | Used by multiplatform consumers to pull platform variants |
keyple-interop-jsonapi-client-kmp-lib-jvm | .jar | Non-Android JVM applications | Used in backend apps, desktop apps, or CLI |
keyple-interop-jsonapi-client-kmp-lib-android | .aar | Production Android apps | Integrated into final APK/AAB builds |
keyple-interop-jsonapi-client-kmp-lib-iosarm64 | .klib | Real iOS devices (ARM64 architecture) | Required for running the app on physical iPhones |
keyple-interop-jsonapi-client-kmp-lib-iossimulatorarm64 | .klib | iOS Simulator on Apple Silicon Macs (ARM64) | Used for development/testing on simulators on M1/M2 Macs |
keyple-interop-jsonapi-client-kmp-lib-iosx64 | .klib | iOS Simulator on Intel-based Macs (x86_64) | Used for development/testing on simulators on Intel Macs |
iOS artifact | TBD | iOS applications | Integrated directly into final iOS apps |
Key Notes:
- The root module serves as the entry point for consumers. When you add
implementation("[root-lib]")
, Gradle automatically selects the correct variant (jvm, android, etc.) based on the target platform. - The platform-specific modules (android, jvm, etc.) contain compiled code that can be executed or packaged directly.
All deliverables are available directly from the Maven Central Repository or by using one of the project resource managers below:
implementation("org.eclipse.keyple:[ARTIFACT_ID]:0.1.6")
implementation 'org.eclipse.keyple:[ARTIFACT_ID]:0.1.6'
<dependency>
<groupId>org.eclipse.keyple</groupId>
<artifactId>[ARTIFACT_ID]</artifactId>
<version>0.1.6</version>
</dependency>