![](https://oscimg.oschina.net/oscnet/34d34a69-0c6b-4707-8aaf-d6aadb6b3d82.png)
记得加关注, Kotlin 之路不迷路!
Kotlinlang.org
Kotlin Multiplatform (KMP) 是 JetBrains 构建的开源技术,允许跨多个平台共享代码,同时保留了原生编程的优势。支持的平台包括 iOS、Android、桌面、Web 等。
现在,我们在 Fleet 中推出 Kotlin Multiplatform 支持预览版,这将简化多平台应用程序开发,进一步丰富 Fleet 中广泛的 Kotlin 支持。请注意,如果您的目标是 iOS 和 macOS,则需要 Xcode。
由此开始 Fleet 中的 Kotlin Multiplatform 项目:
https://www.jetbrains.com.cn/en-us/help/kotlin-multiplatform-dev/fleet.html
我们来看看其中的部分功能。
简洁
打开多平台项目时,Fleet 将自动为 Android 和/或 iOS 平台创建运行配置,如项目构建文件中所声明。您可以使用它们在 Android 虚拟设备或 iOS 模拟器上执行应用程序。
![](https://oscimg.oschina.net/oscnet/9a4b619d-4c02-4f6a-be57-936ee1dd0673.png)
多语言编程
Fleet 是多语言 IDE,因此,在多平台项目中使用原生代码时,无需切换到不同的编辑器或牺牲实用性。编辑 Swift 代码时,您将获得与 Kotlin 和 Java 相同的丰富功能,以及对 Xcode 项目的完整支持。
![](https://oscimg.oschina.net/oscnet/5507a1e6-80fb-4767-80a8-273863eea3a6.png)
代码导航
Fleet 支持 Swift 与 Kotlin 之间的跨语言导航。例如,在 Kotlin 函数上使用 Show Usages(显示用法)操作时,Swift 代码中的任何调用都会在结果中显示。如果存在单个匹配项,则显示关联文件。
![](https://oscimg.oschina.net/oscnet/23ef65b1-e657-4f85-b984-6c159563fc8e.gif)
重构
Fleet 中的重构也是跨语言的。在下面的示例中,如果我们在 MainViewController 类型上使用 Rename(重命名)重构,那么重构将同时应用于 Kotlin 和 Swift 模块。
![](https://oscimg.oschina.net/oscnet/f824138a-7238-4875-bf96-7eac80cd2df5.gif)
调试
Fleet 中的调试也是跨语言的。您可以在 Swift 代码中设置断点,查看该环境中的值和调用堆栈,步入 Kotlin 调用,然后根据需要继续。
![](https://oscimg.oschina.net/oscnet/b2105c54-0b6a-45b0-b389-439305f3d6a8.gif)
![](https://oscimg.oschina.net/oscnet/d2fa58f1-a075-427e-9dd1-57d1330762e7.png)
单一 IDE
如您所知,创建 Kotlin Multiplatform 应用程序通常需要组合使用多个 IDE。以移动端为目标时,情况相同,因为需要 Android Studio 和 Xcode。不过,我们在 Fleet 上的目标是提供一个单一 IDE,让您可以在其中开发应用程序而无需切换工具(以 Apple 设备为目标时仍需安装 Xcode,日常工作则不需要)。
![](https://oscimg.oschina.net/oscnet/d2fa58f1-a075-427e-9dd1-57d1330762e7.png)
定价模型
预览期间,Fleet(包括 Kotlin Multiplatform Tooling)将保持免费。发布 Kotlin Multiplatform Tooling 时,我们预计定价模型将与 Fleet 本身的定价模型保持一致。我们将在接近发布日期时提供更多信息。
![](https://oscimg.oschina.net/oscnet/d2fa58f1-a075-427e-9dd1-57d1330762e7.png)
我们对 IntelliJ IDEA
和 IntelliJ 平台的承诺
Fleet 使用适用于 Swift 的 IntelliJ 代码处理引擎和我们所有的 Kotlin 支持,因此,我们将继续在 IntelliJ IDEA 和 IntelliJ 平台(因此也包括 Android Studio)上提供对 Kotlin 的支持。此外,在 IntelliJ IDEA 中使用 Kotlin 的开发者数量不断增加,我们向您保证,我们将继续推动对此平台的创新和支持。
话虽如此,IntelliJ IDEA 的目标受众仍将主要是以 JVM 为目标的服务器端开发者。虽然可以在 IntelliJ IDEA 和 Android Studio 中打开、导航和构建 Kotlin Multiplatform 项目,但其他功能(例如针对特定平台的运行配置、Compose Multiplatform 功能以及其他促进多平台开发的功能)将仅在 Fleet 中受支持。
![](https://oscimg.oschina.net/oscnet/d2fa58f1-a075-427e-9dd1-57d1330762e7.png)
如何开始
要开始 Kotlin Multiplatform 开发并尝试我们的炫酷功能,您可以通过 JetBrains Toolbox App1 安装最新版本的 Fleet。我们还有一个全新的在线 Web 向导2,用于创建 Kotlin Multiplatform 项目。
请务必查看适用于 Kotlin Multiplatform 开发的 Fleet3教程,获取创建您的第一个应用程序的分步指南。您还可以查看我们准备的一些 KMP 示例应用程序4。
由此开始 Fleet 中的 Kotlin Multiplatform 项目:
https://www.jetbrains.com.cn/en-us/help/kotlin-multiplatform-dev/fleet.html
![](https://oscimg.oschina.net/oscnet/d2fa58f1-a075-427e-9dd1-57d1330762e7.png)
我们需要您的反馈
Fleet 中的 Kotlin Multiplatform Tooling 还处于非常早期的阶段,我们希望听到您的反馈。让我们知道什么有效、什么无效、缺少什么,以及您不能没有什么。请在这篇博文下留言或使用我们的问题跟踪器5。您还可以在 Kotlin Slack 的 #fleet6 频道上分享您对 Kotlin Multiplatform(包括 Kotlin Multiplatform Tooling)的任何反馈。
谢谢!
相关链接:
1. JetBrains Toolbox App:
https://www.jetbrains.com.cn/fleet/download/
2. 在线 Web 向导:
https://kmp.jetbrains.com/
3. 适用于 Kotlin Multiplatform 开发的 Fleet:
https://www.jetbrains.com.cn/help/kotlin-multiplatform-dev/fleet.html
4. KMP 示例应用程序:
https://kotlinlang.org/docs/multiplatform-mobile-samples.html
5. 问题跟踪器:
https://youtrack.jetbrains.com/issues/FL
6. #fleet:
https://slack-chats.kotlinlang.org/c/fleet
本博文英文原作者:
Hadi Hariri
这就是 Kotlin 编程语言
简洁、跨平台、且有趣!
![](https://oscimg.oschina.net/oscnet/da9c722b-a4ec-41ad-934c-525407224327.png)
本文分享自微信公众号 - JetBrains(JetBrainsChina)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。