前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JetBrains 发布了 Kotlin Multiplatform 的首个稳定版本

JetBrains 发布了 Kotlin Multiplatform 的首个稳定版本

作者头像
深度学习与Python
发布2023-11-17 14:53:27
1930
发布2023-11-17 14:53:27
举报
文章被收录于专栏:深度学习与python

作者 | Tim Anderson

译者 | 刘雅梦

策划 | Tina

JetBrains 提供了 Kotlin Multiplatform 的首个稳定版本,支持跨 iOS、Android、桌面、Web 和服务器进行代码共享——尽管用于共享用户界面(UI)代码的部分,Compose Multiplatform,仅适用于 Android 和桌面。

Kotlin 是由 JetBrains 开发的一种 JVM(Java 虚拟机)语言,并被谷歌(Google)用作 Android 开发的首选语言。既然 Java 已经是为跨平台代码而设计的了,那么 Kotlin Multiplatform 又增加了什么呢?答案是 Kotlin 不仅仅是一种 JVM 语言。Kotlin/Native 使用 MinGW(适用于 Windows 的 GCC 工具链)和 Android NDK 编译成适用于 macOS、iOS、Linux、Windows 的独立可执行文件。Kotlin/JS 将 Kotlin 转换为 JavaScript。Kotlin Wasm 仍处于实验阶段,可编译成 WebAssembly。

Kotlin Multiplatform 是一种跨所有这些平台共享非 GUI 代码的技术。它解决了代码共享的两个常见问题,即对于所有目标平台的一个子集,仅需部分共享某些代码的需求,以及需要访问特定于平台的 API。

Kotlin Multiplatform 中的 Expect 和 Actual,解决了调用本机平台 API 的需求

本机 API 问题是通过预期声明和实际声明的机制来解决的。expect 关键字将声明标记为将与用actual关键字标记的代码匹配,actual关键字可能是特定于平台的。JetBrains 建议仅对平台 API 使用 expect/actual,其他情况使用普通接口。

2022 年的一项调查显示,Kotlin Multiplatform 应用程序的代码共享率高达 63%

Kotlin Multiplatform 适用于非 GUI 代码,但有一个相关项目 Compose Multiplatform,它可用于创建共享的用户界面(UI)。Compose Multiplatform 基于谷歌的 Jetpack Compose,用于构建 Android 用户界面。Compose Multiplatform 在桌面平台、macOS、Linux 和 Windows 上也是稳定版本,但在 iOS 上是 Alpha 版本,在 Web 上是实验性的。根据 JetBrains 的说法,Kotlin Multiplatform 已经被包括 Netflix 和 VMWare 在内的公司所使用。

如果 Compose Multiplatform 还没有准备好,那么开发者如何支持 iOS 呢?这可以通过使用 SwiftUI 来实现,SwiftUI 是苹果(Apple)的官方 UI 设计语言,它是基于声明式代码的。有一些代码示例正是采用了这种方式实现的。

JetBrains 还表示,他们的目标是在 2024 年发布面向 iOS 的 Compose Multiplatform 测试版本,Kotlin/Wasm 也在积极开发中。

去年,谷歌通过 引入 其他一些 Jetpack 库的“实验预览”,表达了对 Kotlin Multiplatform 的一些支持,这些库不是用于生产的,而是用于“在针对 Android 和 iOS 应用程序的多平台项目中使用这些 Jetpack 库的反馈”。请注意,谷歌还提供了使用 Dart 语言和 Flutter UI 进行跨平台开发的 Flutter。

使用 Kotlin 而不是 Java 的另一个原因是它的语言特性,包括 lambda 表达式、扩展函数、类型推理、null 安全等等。Kotlin 没有检查异常,因为这些不会提高生产力或代码质量。

Kotlin Multiplatform 和 Compose Multiplatform 均可免费使用。Kotlin 的代码位于 Github 上,许可证是 Apache2.0。

原文链接:

https://devclass.com/2023/11/01/jetbrains-offers-first-stable-release-of-kotlin-multiplatform/

声明:本文由 InfoQ 翻译,未经许可禁止转载。

今日好文推荐

“谷歌有谷歌的规矩”

丢掉 LangChain、像 Docker一样编排大模型应用程序:这支十余人的年轻创业团队如何在2个月做出一个LLMOps平台?

仅凭 7 页 PPT 拿下 1 亿美元融资、半年后估值超 10 亿!“欧洲 OpenAI”杀疯了

易鲸捷否认贴牌 Oracle;鸿蒙进教材:“纯血”版不再兼容安卓应用;大叔们遭AI女友“断崖式分手” | Q 资讯

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-11-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 InfoQ 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档