Kotlin/Native入门教程

Viewed 0

Kotlin/Native 入门

本教程将指导您如何创建Kotlin/Native应用程序。您可以选择最适合自己的工具,并使用以下方式之一进行开发:

  • 使用IDE:通过版本控制系统克隆项目模板,并在IntelliJ IDEA中使用。
  • 使用Gradle构建系统:手动创建项目构建文件,以更好地理解底层工作原理。
  • 使用命令行编译器:利用Kotlin标准发行版中的Kotlin/Native编译器,直接在命令行中创建应用。

命令行编译虽然简单直接,但对于包含数百个文件和库的大型项目来说扩展性不佳,因此建议使用IDE或构建系统处理复杂项目。

Kotlin/Native支持编译到不同目标平台,包括Linux、macOS和Windows。虽然可以进行跨平台编译(即在一个平台上编译到另一个平台),但本教程将假设您针对与编译环境相同的平台。如果您使用Mac并希望为macOS或其他Apple目标创建和运行应用程序,需要先安装Xcode命令行工具,启动并接受许可条款。

使用IDE创建项目

本节介绍如何使用IntelliJ IDEA创建Kotlin/Native应用程序,适用于社区版和终极版。

创建项目

  1. 下载并安装最新版本的IntelliJ IDEA。
  2. 在IntelliJ IDEA中选择“文件”->“新建”->“来自版本控制的项目”,克隆项目模板,使用URL:https://github.com/Kotlin/kmp-native-wizard
  3. 打开gradle/libs.versions.toml文件,这是项目依赖的版本目录。创建Kotlin/Native应用需要Kotlin Multiplatform Gradle插件,其版本与Kotlin相同。请确保使用最新Kotlin版本,例如在文件中设置kotlin = "2.1.21"
  4. 按照提示重新加载Gradle文件。

有关这些设置的更多信息,请参阅Multiplatform Gradle DSL参考文档。

构建和运行应用程序

打开src/nativeMain/kotlin/目录中的Main.kt文件。该文件包含使用println()函数输出“Hello, Kotlin/Native!”的代码。点击侧边栏的绿色运行图标执行代码,IntelliJ IDEA将使用Gradle任务运行代码,并在“运行”选项卡中显示结果。首次运行后,IDE会在顶部创建相应的运行配置。

IntelliJ IDEA终极版用户可以安装Native Debugging Support插件,以调试编译的原生可执行文件,并为导入的Kotlin/Native项目自动创建运行配置。

您可以配置IntelliJ IDEA自动构建项目:进入“设置”->“构建、执行、部署”->“编译器”,在“编译器”页面选中“自动构建项目”,应用更改。之后,当您修改类文件或保存文件时,IDE会自动执行增量构建。

更新应用程序功能

让我们为应用程序添加一个功能,以计算姓名中的字母数量。

  1. Main.kt文件中,添加代码读取输入。使用readln()函数读取输入值并赋值给name变量。
  2. 为了使用Gradle运行此应用,需要在build.gradle.kts文件中指定System.in作为输入,并重新加载Gradle更改。
  3. 消除空格并计算字母数:使用replace()函数移除姓名中的空格,结合let作用域函数在对象上下文中运行操作,并使用字符串模板插入姓名长度。
  4. 运行应用程序,输入姓名查看结果。

接下来,计算姓名中唯一字母的数量。

  1. Main.kt中声明新的扩展函数String.countDistinctCharacters():将姓名转换为小写,再转换为字符列表,使用distinct()筛选唯一字符,最后用count()计数。
  2. 使用该函数计算唯一字母数,并更新主函数以输出结果。
  3. 运行应用程序,输入姓名即可看到字母总数和唯一字母数。

使用Gradle手动创建项目

本节介绍如何使用Gradle手动创建Kotlin/Native应用程序。Gradle是Kotlin/Native和Kotlin Multiplatform项目的默认构建系统,也广泛用于Java、Android等生态系统。

创建项目文件

  1. 首先安装兼容版本的Gradle,请参考兼容性表检查Kotlin Gradle插件与可用Gradle版本的兼容性。
  2. 创建一个空项目目录,在其中创建build.gradle.ktsbuild.gradle文件,内容根据Kotlin或Groovy DSL配置插件、仓库和Kotlin多平台目标。例如,对于macOS,使用macosArm64("native"),Linux使用linuxArm64("native"),Windows使用mingwX64("native"),并在binaries中配置executable()
  3. 在项目目录中创建空的settings.gradle.ktssettings.gradle文件。
  4. 创建src/nativeMain/kotlin目录,并在其中放置hello.kt文件,内容为打印“Hello, Kotlin/Native!”的main函数。

按照约定,所有源文件位于src/<目标名称>[Main|Test]/kotlin目录中,其中Main用于源代码,Test用于测试。

构建和运行项目

  1. 从根项目目录运行构建命令:./gradlew nativeBinaries。该命令会在build/bin/native目录中创建debugExecutablereleaseExecutable文件夹,包含相应的二进制文件。
  2. 运行项目:执行build/bin/native/debugExecutable/<项目名称>.kexe,终端将输出“Hello, Kotlin/Native!”。

在IDE中打开项目

您现在可以在支持Gradle的任何IDE中打开项目。如果使用IntelliJ IDEA,选择“文件”->“打开”,选择项目目录并点击“打开”,IDE会自动检测为Kotlin/Native项目。如果遇到问题,IDE会在“构建”选项卡中显示错误信息。

使用命令行编译器

本节介绍如何使用命令行工具中的Kotlin编译器创建Kotlin/Native应用程序。

下载和安装编译器

  1. 访问Kotlin的GitHub发布页面,找到适合您操作系统的kotlin-native预构建文件并下载。
  2. 将存档解压到所选目录。
  3. 打开shell配置文件,将编译器的/bin目录路径添加到PATH环境变量中,例如:export PATH="/<编译器路径>/kotlin-native/bin:$PATH"

注意:编译器输出无依赖或虚拟机要求,但编译器本身需要Java 1.8或更高运行时环境,支持JDK 8或更高版本。

创建程序

选择一个工作目录并创建名为hello.kt的文件,添加打印“Hello, Kotlin/Native!”的代码。

从控制台编译代码

使用下载的编译器执行命令:kotlinc-native hello.kt -o hello-o选项指定输出文件名,在macOS和Linux上生成hello.kexe二进制文件(Windows上为hello.exe)。有关完整编译器选项,请参阅Kotlin编译器参考文档。

运行程序

在命令行工具中导航到包含二进制文件的目录,并运行相应命令:在macOS和Linux上执行./hello.kexe,在Windows上执行./hello.exe。应用程序将向标准输出打印“Hello, Kotlin/Native!”。

下一步做什么?

  • 完成“使用C互操作和libcurl创建应用”教程,了解如何创建原生HTTP客户端并与C库互操作。
  • 学习如何为实际Kotlin/Native项目编写Gradle构建脚本。
  • 在文档中阅读更多关于Gradle构建系统的内容。
0 Answers