GitHub - swiftlang/swift-java:用于 Swift 的 Java 互操作性支持

主要观点:

  • 该仓库包含两种 Swift/Java 互操作性的方法,包括 Swift 库(JavaKit)和绑定生成器,以及swift-java工具。
  • 目前处于早期开发阶段,项目部分内容不完整且可能随时更改,主要目的是创建协作和探索的环境。
  • 介绍了不同的依赖项(如所需的 JDK 版本)、JavaKit宏、swift-java jextract的不同模式(--mode=ffm--mode=jni)以及开发和测试相关内容(包括多种构建、样本应用、基准测试等),还提供了用户指南的链接。

关键信息:

  • JavaKit可通过宏简化 JNI 代码编写及从 Swift 调用 Java 代码,能生成 Swift 到 Java 的绑定。
  • swift-java jextract--mode=ffm模式更灵活高性能,需 JDK22 及以上(Swift6.1),--mode=jni模式更兼容但性能和灵活性受限,需 Java7+及 Swift6.1。
  • 开发测试包含多种构建,可分别运行 Swift 或 Java 测试,样本应用在Samples/目录,基准测试在Benchmarks/Samples/SwiftKitSampleApp/src/jmh

重要细节:

  • 项目不同模块有不同 Swift 和 Java 运行时要求。
  • 运行 Swift 基准测试为cd Benchmarks; swift package benchmark,运行 JMH 基准测试为cd Samples/SwiftKitSampleApp; gradle jmh
  • 用户指南在USER_GUIDE.md
阅读 22
0 条评论