FAQ

Kotlin 是什么?

Kotlin 是一门针对 JVM、Android、JavaScript 以及原生平台的开源(OSS)静态类型编程语言。它是由 JetBrains 开发的。该项目开始于 2010 年并且很早就已开源。第一个官方 1.0 版发布于 2016 年 2 月。

Kotlin 的当前版本是多少?

目前发布的版本是 1.2.50,发布于 2018-06-14。

Kotlin 是免费的吗?

是。Kotlin 是免费的,已经免费并会保持免费。它是遵循 Apache 2.0 许可证开发的,其源代码可以在 GitHub 上获得。

Kotlin 是面向对象还是函数式语言?

Kotlin 既具有面向对象又具有函数式结构。你既可以按 OO 风格也可以按 FP 风格使用,还可以混合使用两种风格。通过对诸如高阶函数、函数类型和 lambda 表达式等功能的一等支持,Kotlin 是一个很好的选择,如果你正在进行或探索函数式编程的话。

Kotlin 能给我超出 Java 语言的哪些优点?

Kotlin 更简洁。粗略估计显示,代码行数减少约 40%。它也更安全,例如对不可空类型的支持使应用程序不易发生 NPE。其他功能包括智能类型转换、高阶函数、扩展函数和带接收者的 lambda 表达式,提供了编写富于表现力的代码的能力以及易于创建 DSL 的能力。

Kotlin 与 Java 语言兼容吗?

兼容。Kotlin 与 Java 语言可以 100% 互操作,并且主要强调确保你现有的代码库可以与Kotlin 正确交互。你可以轻松地在 Java 中调用 Kotlin 代码以及在 Kotlin 中调用 Java 代码。 这使得采用 Kotlin更容易、风险更低。内置于 IDE 的自动化 Java 到 Kotlin 转换器可简化现有代码的迁移。

我可以用 Kotlin 做什么?

Kotlin 可用于任何类型的开发,无论是服务器端、客户端 Web 还是 Android。随着原生 Kotlin(Kotlin/Native)目前的进展,对其他平台(如嵌入式系统、macOS 和 iOS)的支持即将就绪。人们将 Kotlin 用于移动端和服务器端应用程序、使用 JavaScript 或 JavaFX的客户端、以及数据科学,仅举这几例。

我可以用 Kotlin 进行 Android 开发吗?

可以。Kotlin 已作为 Android 平台的一等语言而支持。已经有数百种应用程序在使用 Kotlin 用于 Android 开发,比如 Basecamp、Pinterest 等等。更多信息请查看 Android 开发资源

我可以用 Kotlin 进行服务器端开发吗?

可以。Kotlin 与 JVM 100% 兼容,因此你可以使用任何现有的框架,如 Spring Boot、vert.x 或 JSF。另外还有一些 Kotlin 写的特定框架,例如 Ktor。更多信息请查看服务器端开发资源

我可以用 Kotlin 进行 web 开发吗?

可以。除了用于后端 Web,你还可以使用 Kotlin/JS 用于客户端 Web。Kotlin 可以使用DefinitelyTyped 中的定义来获取常见 JavaScript 库的静态类型版,并且它与现有的模块系统(如 AMD 和 CommonJS)兼容。更多信息请查看客户端开发中的资源

我可以用 Kotlin 进行桌面开发吗?

可以。你可以使用任何 Java UI 框架如 JavaFx、Swing 或其他框架。另外还有 Kotlin 特定框架,如 TornadoFX

我可以用 Kotlin 进行原生开发吗?

原生 Kotlin(Kotlin/Native)目前正在准备中。它将 Kotlin 编译为可以无需 VM 运行的原生代码。有一个技术预览发布版,但它还不能用于生产,并且 1.0 我们还没有针对所有平台支持的计划。更多信息请查看 Kotlin/Native 博文公告

哪些 IDE 支持 Kotlin?

所有主要的 Java IDE 都支持 Kotlin,包括 IntelliJ IDEAAndroid StudioEclipseNetBeans。另外,有一个命令行编译器可用,为编译和运行应用程序提供了直接的支持。

哪些构建工具支持 Kotlin?

在 JVM 端,主要构建工具包括 GradleMavenAntKobalt。还有一些可用于构建客户端 JavaScript 的构建工具。

Kotlin 会编译成什么?

当针对JVM 平台时,Kotlin 生成 Java 兼容的字节码。当针对JavaScript 时,Kotlin 会转译到 ES5.1,并生成与包括 AMD 和 CommonJS 在内的模块系统相兼容的代码。当针对原生平台时,Kotlin 会(通过 LLVM)生成平台相关的代码。

Kotlin 只针对 Java 6 吗?

不是。Kotlin 可以让你选择生成 Java 6 或者 Java 8 兼容的字节码。可以为较高版本的平台生成更优化的字节码。

Kotlin 难吗?

Kotlin 是受 Java、C#、JavaScript、Scala 以及 Groovy 等现有语言的启发。我们已经努力确保 Kotlin 易于学习,所以人们可以在几天之内轻松转向、阅读和编写 Kotlin。学习惯用的 Kotlin 和使用更多它的高级功能可能需要一点时间,但总体来说这不是一个复杂的语言。

哪些公司使用 Kotlin?

有太多使用 Kotlin 的公司可列,而有些更明显的公司已经公开宣布使用 Kotlin,分别通过博文、Github 版本库或者演讲宣布,包括SquarePinterest 还有 Basecamp

谁开发 Kotlin?

Kotlin 主要由 JetBrains 的一个工程师团队开发(目前团队规模为 40+)。其首席语言设计师是Andrey Breslav。除了核心团队,GitHub 上还有 100 多个外部贡献者。

在哪里可以了解关于 Kotlin 更多?

最好的起始地方好是本网站(原文是英文官网)。从那里你可以下载编译器、在线尝试以及访问资源、参考文档教程

有没有关于 Kotlin 的书?

已经有一些关于 Kotlin 的书籍。其中包括由 Kotlin 团队成员 Dmitry Jemerov 和 Svetlana Isakova 合著的 Kotlin in Action、针对 Android 开发人员的 Kotlin for Android Developers

Kotlin 有没有在线课程?

有一些 Kotlin 的课程,包括 Kevin Jones 的 Pluralsight Kotlin Course、Hadi Hariri 的 O’Reilly Course 以及 Peter Sommerhoff 的 Udemy Kotlin Course

在 YouTube 和 Vimeo 上也有许多 Kotlin 演讲 的录像。

有没有 Kotlin 社区?

有。Kotlin 有一个非常有活力的社区。Kotlin 开发人员常出现在 Kotlin 论坛StackOverflow 上并且更积极地活跃在 Kotlin Slack(截至 2017 年 5 月有近 7000 名成员)上。

有没有 Kotlin 活动?

有。现在有很多用户组和集会组专注于 Kotlin。你可以在网站上找到一个列表。此外,还有世界各地的社区组织的 Kotlin 之夜活动。

有没有 Kotlin 大会?

有。第一个官方 KotlinConf 将于 2017 年 11 月 2-3 日在旧金山举行。Kotlin 也会在全球不同地方举行大会。你可以在网站上找到即将到来的会谈列表

Kotlin 上社交媒体吗?

上。最活跃的 Kotlin 帐号是 Twitter 上的。还有一个 Google+ 群组

其他在线 Kotlin 资源呢?

网站上有一堆在线资源,包括社区成员的 Kotlin 文摘通讯播客等等。

在哪里可以获得高清 Kotlin 徽标?

徽标可以在这里下载。请遵循压缩包内 guidelines.pdf 中的简单规则。

原文: https://hltj.gitbooks.io/kotlin-reference-chinese/content/txt/faq.html