Multiplatform

欢迎使用带有 Kotlin Multiplatform Tooling 的 Fleet

Read this post in other languages:

Kotlin Multiplatform (KMP) 是 JetBrains 构建的开源技术,允许跨多个平台共享代码,同时保留了原生编程的优势。 支持的平台包括 iOS、Android、桌面、Web 等。

今天,我们在 Fleet 中推出 Kotlin Multiplatform 支持预览版,这将简化多平台应用程序开发,进一步丰富 Fleet 中广泛的 Kotlin 支持。 请注意,如果您的目标是 iOS 和 macOS,则需要 Xcode。

开始

我们来看看其中部分功能。

简洁

打开多平台项目时,Fleet 将自动为 Android 和/或 iOS 平台创建运行配置,如项目构建文件中所声明。 您可以使用它们在 Android 虚拟设备或 iOS 模拟器上执行应用程序。

Fleet 中的 Kotlin Multiplatform Tooling:为 Android 和/或 iOS 自动生成的运行配置

多语言编程

Fleet 是多语言 IDE,因此,在多平台项目中使用原生代码时,无需切换到不同的编辑器或牺牲实用性。 编辑 Swift 代码时,您将获得与 Kotlin 和 Java 相同的丰富功能,以及对 Xcode 项目的完整支持。

Fleet 中的 Kotlin Multiplatform Tooling:多语言编程

代码导航

Fleet 支持 Swift 与 Kotlin 之间的跨语言导航。 例如,在 Kotlin 函数上使用 Show Usages(显示用法)操作时,Swift 代码中的任何调用都会在结果中显示。 如果存在单个匹配项,则显示关联文件。

Swift-Kotlin 跨语言导航

重构

Fleet 中的重构也是跨语言的。 在下面的示例中,如果我们在 MainViewController 类型上使用 Rename(重命名)重构,那么重构将同时应用于 Kotlin 和 Swift 模块。

Swift-Kotlin 跨语言重构

调试

Fleet 中的调试也是跨语言的。 您可以在 Swift 代码中设置断点,查看该环境中的值和调用堆栈,步入 Kotlin 调用,然后根据需要继续。

Swift-Kotlin 跨语言重构

单一 IDE

如您所知,创建 Kotlin Multiplatform 应用程序通常需要组合使用多个 IDE。 以移动端为目标时,情况相同,因为需要 Android Studio 和 Xcode。 不过,我们在 Fleet 上的目标是提供一个单一 IDE,让您可以在其中开发应用程序而无需切换工具(以 Apple 设备为目标时仍需安装 Xcode,日常工作则不需要)。

定价模型

预览期间,Fleet(包括 Kotlin Multiplatform Tooling)将保持免费。 发布 Kotlin Multiplatform Tooling 时,我们预计定价模型将与 Fleet 本身的定价模型保持一致。 我们将在接近发布日期时提供更多信息。

我们对 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 中受支持。

如何开始

要开始 Kotlin Multiplatform 开发并尝试我们的炫酷功能,您可以通过 JetBrains Toolbox App 安装最新版本的 Fleet。 我们还有一个全新的在线 Web 向导,用于创建 Kotlin Multiplatform 项目。

请务必查看适用于 Kotlin Multiplatform 开发的 Fleet 教程,获取创建您的第一个应用程序的分步指南。 您还可以查看我们准备的一些 KMP 示例应用程序

开始

我们需要您的反馈

Fleet 中的 Kotlin Multiplatform Tooling 还处于非常早期的阶段,我们希望听到您的反馈。 让我们知道什么有效、什么无效、缺少什么,以及您不能没有什么。 请在这篇博文下留言或使用我们的问题跟踪器。 您还可以在 Kotlin Slack 的 #fleet 频道上分享您对 Kotlin Multiplatform(包括 Kotlin Multiplatform Tooling)的任何反馈。

谢谢!

本博文英文原作者:

Sue

Hadi Hariri

image description

Discover more