KMP生态系统与Klibs.io平台的革新与发展
KMP生态系统的现状与挑战
Kotlin Multiplatform近年来蓬勃发展,KMP生态圈持续壮大,特别是在2024年,社区库的数量激增了35%。然而,随着库数量的增多,如何有效管理和维护这些社区库成为了一个新的挑战。据了解,KMP社区一直缺乏一个类似于前端npm或Flutter pub的集中型平台。在Maven时代,Android在这方面的基础相对薄弱,这使得package平台长期以来成为KMP发展的一个瓶颈。
尽管后来出现了一些平台,但相较之下,pub平台上的package已提供了更为丰富的细分数据和广泛的应用领域,为开发者提供了更多的参考选择。
Klibs.io平台的推出
此时,klibs.io应运而生,它为开发者提供了更加丰富的选项和数据展示。无论您是在寻找Android和iOS的权限申请插件,还是希望找到能同时支持移动端和Web端的Compose Multiplatform日历组件,都能在klibs.io上找到并清晰地对比它们的情况。
Klibs.io作为KMP Package的web服务,专为开发者打造。它致力于帮助用户查找特定平台(如JVM、Android JVM、Wasm、JS以及Kotlin/Native)上适用于不同用途的Kotlin多平台库。该网站汇集了来自GitHub和Maven Central的丰富数据,并通过AI技术生成详尽的元数据,从而显著提升搜索结果的准确性。其核心目标是为开发者提供全面的KMP信息,以更高效地评估和选择合适的库。
KMP未来的发展方向
Klibs.io这一由Ignat Beresnev和Kotlin Web团队共同打造的KMP Package web服务,致力于为开发者提供全面的Kotlin多平台库信息。其收录标准严格,确保仅收录符合特定条件的优质项目。这些项目必须满足以下条件:开源并托管于GitHub,至少将一个artifact发布至Maven Central,且至少包含一个multiplatform artifact,同时具备kotlin-tooling-metadata.json文件,以及有效的POM文件链接。此外,Klibs.io也在不断完善中,例如未来将支持GitLab和Bitbucket,以及Gradle插件等,以进一步丰富其库类别和功能。
这一平台的出现,无疑将为KMP开发者带来新的选择与便利,助力他们更高效地评估和选择合适的库。同时,随着KMP在鸿蒙适配方面的进展,Klibs.io也将持续关注并跟进相关动态,以更好地满足开发者的需求。而官方的计划是,通过重用Kotlin/JS编译器,直接生成ArkTS(而非JS),从而简化流程。从他们的视角来看,当前通过Kotlin/Native的实现方式并不理想,因为这会导致两个运行时和两个独立的垃圾回收器。然而,在Kotlin官方的角度看,这种做法可以利用Kotlin/JS生态系统中现有的TypeScript互操作性,同时还能复用HarmonyOS工具链的其他部分,包括运行时,因此调用HarmonyOS的API时不会损失任何性能。在这个多元化的时代,一切都充满了可能。