Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/deepmedia/knee
Seamless two-way communication between Kotlin/Native and Kotlin/JVM. Supports suspend functions, classes, interfaces, no-copy buffers and much more.
https://github.com/deepmedia/knee
android android-library ffi ffi-bindings java jni jni-wrapper jvm kmp kotlin kotlin-compiler kotlin-compiler-plugin kotlin-multiplatform kotlin-native multiplatform ndk ndk-library
Last synced: 3 days ago
JSON representation
Seamless two-way communication between Kotlin/Native and Kotlin/JVM. Supports suspend functions, classes, interfaces, no-copy buffers and much more.
- Host: GitHub
- URL: https://github.com/deepmedia/knee
- Owner: deepmedia
- License: apache-2.0
- Created: 2022-10-16T14:17:53.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-23T00:45:52.000Z (3 months ago)
- Last Synced: 2025-01-15T21:16:49.300Z (10 days ago)
- Topics: android, android-library, ffi, ffi-bindings, java, jni, jni-wrapper, jvm, kmp, kotlin, kotlin-compiler, kotlin-compiler-plugin, kotlin-multiplatform, kotlin-native, multiplatform, ndk, ndk-library
- Language: Kotlin
- Homepage: https://opensource.deepmedia.io/knee
- Size: 282 KB
- Stars: 82
- Watchers: 2
- Forks: 3
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Build Status](https://github.com/deepmedia/Knee/actions/workflows/build.yml/badge.svg?event=push)](https://github.com/deepmedia/Knee/actions)
[![Release](https://img.shields.io/github/release/deepmedia/Knee.svg)](https://github.com/deepmedia/Knee/releases)
[![Issues](https://img.shields.io/github/issues-raw/deepmedia/Knee.svg)](https://github.com/deepmedia/Knee/issues)![Project logo](assets/logo_256.png)
# 🦵 Knee 🦵
A Kotlin compiler plugin and companion runtime tools that provides seamless communication between Kotlin/Native
binaries and Kotlin/JVM, using a thin and efficient layer around the JNI interface.With Knee, you can write idiomatic Kotlin/Native code, annotate it and then invoke it transparently from JVM
as if they were running on the same environment.```kotlin
// settings.gradle.kts
pluginManagement {
repositories {
gradlePluginPortal()
mavenCentral()
}
}// build.gradle.kts
plugins {
id("io.deepmedia.tools.knee") version "1.2.0"
}
```Please check out [the documentation](https://opensource.deepmedia.io/knee).