Kotlin 是一门面向 JVM、Android、JavaScript、Wasm 以及原生平台的开源静态类型编程语言。 它是由 JetBrains 开发的。该项目开始于 2010 年并且很早就已开源。 第一个官方 1.0 版发布于 2016 年 2 月。
目前发布的版本是 %kotlinVersion%,发布于 %kotlinReleaseDate%。
You can find more information on GitHub.
是。Kotlin 是免费的,已经免费并会保持免费。它是遵循 Apache 2.0 许可证开发的,其源代码可以在 GitHub 上获得。
Kotlin 既具有面向对象又具有函数式结构。你既可以按 OO 风格也可以按 FP 风格使用,还可以混合使用两种风格。 通过对诸如高阶函数、函数类型和 lambda 表达式等功能的一等支持,Kotlin 是一个很好的选择, 如果你正在进行或探索函数式编程的话。
Kotlin 更简洁。粗略估计显示,代码行数减少约 40%。 它也更安全,例如对不可空类型的支持使应用程序不易发生 NPE。 其他功能包括智能类型转换、高阶函数、扩展函数和带接收者的 lambda 表达式,提供了编写富于表现力的代码的能力以及易于创建 DSL 的能力。
兼容。Kotlin 与 Java 语言可以 100% 互操作,并且主要强调确保你现有的代码库可以与Kotlin 正确交互。你可以轻松地在 Java 中调用 Kotlin 代码以及在 Kotlin 中调用 Java 代码。 这使得采用 Kotlin 更容易、风险更低。内置于 IDE 的自动化 Java 到 Kotlin 转换器可简化现有代码的迁移。
Kotlin 可用于任何类型的开发,无论是服务器端、客户端 Web 还是 Android。随着原生 Kotlin(Kotlin/Native)目前的进展,对其他平台(如嵌入式系统、macOS 和 iOS)的支持即将就绪。人们将 Kotlin 用于移动端和服务器端应用程序、使用 JavaScript 或 JavaFX的客户端、以及数据科学,仅举这几例。
可以。Kotlin 已作为 Android 平台的一等语言而支持。已经有数百种应用程序在使用 Kotlin 用于 Android 开发,比如 Basecamp、Pinterest 等等。更多信息请查看 Android 开发资源。
可以。Kotlin 与 JVM 100% 兼容,因此你可以使用任何现有的框架,如 Spring Boot、 vert.x 或 JSF。另外还有一些 Kotlin 写的特定框架,例如 Ktor。 更多信息请查看服务器端开发资源。
可以。除了用于后端 Web,你还可以使用 Kotlin/Wasm 用于客户端 Web。 Learn how to get started with Kotlin/Wasm.
可以。你可以使用任何 Java UI 框架如 JavaFx、Swing 或其他框架。 另外还有 Kotlin 特定框架,如 TornadoFX。
可以。Kotlin/Native 是 Kotlin 项目的一部分。它将 Kotlin 编译成无需虚拟机(VM)即可运行的原生代码。 可以在主流的桌面与移动端平台甚至某些物联网(IoT)设备上试用。 更多详细信息请查阅 Kotlin/Native 文档。
Kotlin has full out-of-the-box support in IntelliJ IDEA, Android Studio, and JetBrains Fleet with an official Kotlin plugin developed by JetBrains.
Other IDEs and source editors, such as Eclipse, Visual Studio Code, and Atom, have Kotlin community-supported plugins.
You can also try Kotlin Playground for writing, running, and sharing Kotlin code in your browser.
In addition, a command line compiler is available, which provides straightforward support for compiling and running applications.
在 JVM 端,主要构建工具包括 Gradle、Maven、 Ant 和 Kobalt。还有一些可用于构建客户端 JavaScript 的构建工具。
当面向JVM 平台时,Kotlin 生成 Java 兼容的字节码。
当面向 JavaScript 时,Kotlin 会转译到 ES5.1,并生成与包括 AMD 和 CommonJS 在内的模块系统相兼容的代码。
当面向原生平台时,Kotlin 会(通过 LLVM)生成平台相关的代码。
Kotlin 会让你选择用于执行的 JVM 版本。默认情况下,Kotlin/JVM 编译器会生成兼容 Java 8 的字节码。 如果要利用 Java 新版本中提供的优化功能,可以将目标 Java 版本显式指定为 9 到 20。 请注意,这种情况下生成的字节码可能无法在较低版本中运行。 Starting with Kotlin 1.5, the compiler does not support producing bytecode compatible with Java versions below 8.
Kotlin 是受 Java、C#、JavaScript、Scala 以及 Groovy 等现有语言的启发。我们已经努力确保 Kotlin 易于学习, 所以人们可以在几天之内轻松转向、阅读和编写 Kotlin。 学习惯用的 Kotlin 和使用更多它的高级功能可能需要一点时间,但总体来说这不是一个复杂的语言。 For more information, check out our learning materials.
有太多使用 Kotlin 的公司可列,而有些更明显的公司已经公开宣布使用 Kotlin,分别通过博文、Github 版本库或者演讲宣布,包括 Square、 Pinterest、 Basecamp 以及 Corda。
Kotlin 主要由 JetBrains 的一个工程师团队开发(目前团队规模为 100+)。其首席语言设计师是 Roman Elizarov。除了核心团队,GitHub 上还有 250 多个外部贡献者。
最好的起始地方好是本网站(原文是英文官网)。从那里你可以下载编译器、 在线尝试以及访问相关资源。
There are a number of books available for Kotlin. Some of them we have reviewed and can recommend to start with. They are listed on the Books page. For more books, see the community-maintained list at kotlin.link.
You can learn all the Kotlin essentials while creating working applications with the Kotlin Core track by JetBrains Academy.
A few other courses you can take:
- Pluralsight Course: Getting Started with Kotlin by Kevin Jones
- O'Reilly Course: Introduction to Kotlin Programming by Hadi Hariri
- Udemy Course: 10 Kotlin Tutorials for Beginneres by Peter Sommerhoff
You can also check out the other tutorials and content on our YouTube channel.
有!Kotlin 有一个非常有活力的社区。Kotlin 开发人员常出现在 Kotlin 论坛、 StackOverflow 上并且更积极地活跃在 Kotlin Slack (截至 2020 年 4 月有近 30000 名成员)上。
有!现在有很多用户组和集会组专注于 Kotlin。你可以在网站上找到一个列表。 此外,还有世界各地的社区组织的 Kotlin 之夜活动。
有! KotlinConf is an annual conference hosted by JetBrains, which brings together developers, enthusiasts, and experts from around the world to share their knowledge and experience with Kotlin.
In addition to technical talks and workshops, KotlinConf also offers networking opportunities, community interactions, and social events where attendees can connect with fellow Kotliners and exchange ideas. It serves as a platform for fostering collaboration and community building within the Kotlin ecosystem.
Kotlin 也会在全球不同地方举行大会。你可以在 官网上找到即将到来的会谈列表。
上。 Subscribe to the Kotlin YouTube channel and follow Kotlin on Twitter.
网站上有一堆在线资源,包括社区成员的 Kotlin 文摘、 通讯、播客等等。
徽标可以在这里下载。
使用该徽标时,请遵循压缩包中的 guidelines.pdf
以及 Kotlin 品牌使用指南 中的简单规则。
For more information, check out the page about Kotlin brand assets.