Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

弃用 native target #2698

Closed
StageGuard opened this issue Jun 15, 2023 · 3 comments · Fixed by #2700
Closed

弃用 native target #2698

StageGuard opened this issue Jun 15, 2023 · 3 comments · Fixed by #2700
Labels
t:feature 类型: 新特性
Milestone

Comments

@StageGuard
Copy link
Member

kotlin native 目前非常难用,而且性能也不尽人意。
native 的维护难度很大,kotlin native 的 cinterop 很糟糕,写单元测试更是一坨。
大部分用户都使用 mirai-console-loader 或基于 mirai-core 开发 JVM 平台软件,没人用 native。

@aiden-leong
Copy link

非常遗憾在两个月后看到这个消息。我正打算将mirai继承到一个Swift项目中,于是搜索到Kotlin/Native interop的话题。

@StageGuard
Copy link
Member Author

非常遗憾在两个月后看到这个消息。我正打算将mirai继承到一个Swift项目中,于是搜索到Kotlin/Native interop的话题。

实际上,mirai 的 native 支持只能说是“能编译”,许多平台特性并没有写 native 实现。
其次,native 目标对于使用 Kotlin/Native 的开发者还算能用,但是对于其他语言来说基本是残疾的,因为编译到 native 后导出的 C 函数非常难用(尤其是协程相关)。
因此十分不建议使用 native 目标,如果执意要尝试,可以克隆后 reset 到 这个提交,然后阅读 doc 中 native 的编译步骤。

@Him188
Copy link
Member

Him188 commented Aug 18, 2023

成本太高了,native 编译太复杂,大幅提高构建难度。现阶段 Kotlin 多平台开发难度也不低,提高维护难度。感觉三年内 KN 不太会稳定。我希望降低复杂度让以后有人能接手项目,所以不得不做这个取舍。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
t:feature 类型: 新特性
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants