Kotlin 1.3 正式发布:Coroutine 『毕业』、Kotlin/Native 达成 1.0 Beta

Kotlin 1.3 在今天正式发布,伴随而来的还有一系列框架、构建工具和学习资料~

我们致力于将 Kotlin 打造成一个适用于不同场景,各种规模以及多个平台的优秀工具。在 Kotlin 1.3 当中,Coroutine 终于『毕业』了,异步非阻塞代码的可读性更高,且更易于维护。可扩展性更是如此唾手可得!同时 Kotlin/Native 也随着该版本的发布达到了 1.0Beta。跨平台开发已登陆所有被支持的平台,在跨平台框架的帮助下, Android 和 iOS 之间共享业务逻辑,服务端与前端、移动端共享逻辑,都将变得易如反掌。

1_3_banner_dark

社区和生态

今年,Kotlin 的应用率出现了史无前例的增长。从 2018年1月开始,约 150 万用户使用 Kotlin 编写程序,这个数字高于去年的两倍。StackOverflow 和 Slack 上的活跃度也令人十分惊喜,感谢大家这些年的大力支持和帮助!

我们也非常高兴能看到 Kotlin 生态的快速成长和日益成熟。Kotlin 与 Google Cloud PlatformSpring Framework 以及 Gradle 的关系非同一般,更别提被官方指定的 Android 『头等舱』地位。开源社区也创造出了许多优秀的『轮子』,例如 RxKotlinmockito-kotlinTornadoFXKodeinΛRROW等等。其他诸如 Square’s Okio 和 LibreOffice 这样的项目要么已经迁移到 Kotlin 上,要么就在迁移的路上。我们非常欢迎大家加入 Kotlin 大家庭,并贡献出自己的创意和产品!

很多来自 JetBrains 以外的开发者通过 pull request、bug 报告以及各类反馈的形式为 Kotlin 1.3 贡献了自己的力量,感谢大家为 Kotlin 的成长做出的努力!

Coroutine 稳定发布

Coroutine 是非阻塞异步程序的一种现代化的写法,它可以让程序更加易于理解和上手。简单之于切换任务到后台,复杂之于实现网络协议,它都能完美胜任。kotlinx.coroutines 框架的 1.0 版本也正式发布,为实现诸如组合、取消协程,异常处理,UI 相关之类的异步需求提供了坚实的基础。

详细请参考kotl.in/coroutines。您也可以在 这里订阅我们的 Webinar。

Kotlin/Native Beta

Kotlin/Native 使用 LLVM 将 Kotlin 源码编译成独立的不依赖任何 VM 的二进制程序,目前已经支持了非常多的操作系统和 CPU 架构包括 iOS、Linux、Windows、Mac 甚至 WebAssembly,以及嵌入式系统例如 STM32。它支持自动内存管理,可以与 C、Objective-C(Swift)互相调用,并且可以公开诸如 Core Foundation、POSIX 以及任何你喜欢的 Native 库的 API。

Kotlin/Native 运行时优化了不可变数据,并禁止了在线程间共享任何未受保护且可变的状态。实际上,在 Kotlin/Native 的并发设计当中,线程作为更底层的实现而被更安全可控的 workders 替代。

详细资料请参考 kotl.in/native
您也可以在 这里订阅我们的 Webinar。

跨平台项目

横跨全平台是 Kotlin 的明确目标,不过在各个平台间共享代码则显得尤为重要。得益于对 JVM、Android、JavaScript 以及 Native 的支持,Kotlin 可以胜任现在业务系统的所有模块的开发工作,开发者也将在代码复用和专业提升上受益匪浅。Kotlin 1.3 在跨平台特性上取得了很大的进步,尽管该特性仍处于实验阶段。

Kotlin 1.3 提供了一系列跨平台框架包括 HTTPserialization 和 coroutines,开发跨平台项目最简单的途径就是直接使用这些『轮子』。当然,您也可以将平台特有的依赖进行封装并实现自己的跨平台框架。

详细资料请参考 kotlin/native
您也可以在 这里订阅我们的 Webinar。

Kotlin/Native 和跨平台特性开发工具的支持

Kotlin 1.3为 Kotlin/Native 和跨平台项目提供了基于开发工具的支持,包括代码高亮、补全、跳转以及重构等功能,这些功能适用于 IntelliJ IDEA Community Edition、IntelliJ IDEA Ultimate 和 Android Studio。我们将持续开发更多高级特性以及集成商业工具。

Ktor 1.0 Beta

Ktor,我们用于连接一切应用的框架,基于协程实现了完整的 HTTP 协议栈,目前已经进入 Beta 阶段,您可以在ktor.io获得更多详细的信息。

其他提升

除以上所述更新之外,该版本还包括了以下提升:

  • inline classes 实验性质的支持,以用于性能优化和类型安全。
  • 无符号整型的实验性质的支持,以便于支持字节层面的操作以及更底层的代码。
  • when表达式参数支持声明变量以减少冗余代码。
  • 引入Contracts以增强对函数调用的静态分析。
  • 支持无参主函数入口以提供更简单的入门体验。
  • 提供Sequence 调试器 令懒序列的运算图形化。
  • Scratch 文件、REPL 以及 对脚本支持的优化令脚本和代码片段的开发体验更加平滑。
  • 标准库扩展到 Kotlin/Native, 优化了对 Kotlin/JS 的支持,全平台支持了 Random 以及其他优化和 bug 修复。
  • Kotlin/JS 支持实验性质的增量编译。

详细信息请参见 新特性。更新日志请参见 这里。兼容性指南参见这里

KotlinConf

KotlinConf 2018 的所有视频我们都已经发布,这其中覆盖了 1.3 的所有热门话题。请收看主题演讲以及其他议题的回放:

在 JetBrains TV 收看更多 KotlinConf 2018 的视频

学习 Kotlin

我们致力于让 Kotlin 的学习简单而有趣。除了这里的 大量学习资料 以外,您也可以重点关注以下内容:

  • Svetlana Isakova 和 Andrey Breslav 主讲的新课将在 Coursera上线。
  • 《Atomic Kotlin》,Bruce Eckel 和 Svetlana Isakova 为初学者编著的书籍已经开放预览
  • 全薪的play.kotl.in mini-web-IDE 包括 Koans,案例以及可嵌入的代码片段。
  • EduTools 插件可以帮助大家在 IDE 当中轻松学习 Kotlin。
  • 来自世界各地的结构提供了认证 Kotlin 教学

The Kotlin 1.3 webinars 为所有人提供了一个良好的起点。

如何更新

一如既往地,您可以在play.kotl.in直接体验最新版 Kotlin

  • Maven, Gradle 和 npm: 修改编译器和标准库的版本号为 1.3.0。文档请参考这里
  • IntelliJ IDEA: 2018.3 内置了 Kotlin 1.3,其他版本则需要将 Kotlin 插件版本更新到 1.3。
  • Android Studio: 通过插件管理器更新插件到 1.3 即可。
  • Eclipse: 通过Marketplace更新插件到 1.3。
  • 命令行编译器 可以从 Github release 页面下载。

Let’s Kotlin!

翻译自:Kotlin 1.3 Released with Coroutines, Kotlin/Native Beta, and more

此条目发表在官方博客分类目录。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注