Kotlin 1.3 RC 来啦:快迁移您的协程代码吧!

现在我们非常自豪地发布 Kotlin 1.3-RC,这将是 1.3 之前的最后一个预览版本。这个版本修复了绝大多数的新功能相关的关键 bug,除此之外,还有一些其他的更新值得一提:

  • Ktor 的 API 已经完善,期待大家的使用体验和反馈。Ktor 是一个基于协程的框架,使用它我们可以优雅的构建 Web 应用、Http 服务、移动应用和网页。
  • 所有的新项目都已经采用官方代码规范 ,我们也非常鼓励大家也这样做。
  • 程序入口 main 函数支持无参数的形式,它也可以是一个 suspend 函数。
  • 1.2.50 引进的对脚本的支持如今也得到了更新和完善。
  •  kotlinx.serialization 的插件已经合入 Kotlin 主工程,并且被集成到编译器插件当中。
  • 我们废弃了一些标准库当中的 API,当然对于过去就已经废弃的 API 这次我们直接报错。
  •  org.jetbrains.annotations 当中的注解从标准库中独立出来,成为一个新的构件方便开发者自由选择依赖。

RC

感谢来自社区的贡献者们,这个版本合入了以下开发者的代码提交:Toshiaki KameyamaCuihtlauac ALVARADOkenji tomitaMartin PetrovDenis VnukovshirajiPaul de VriezeRaluca SauciucIvan Gavrilovic.

完整的更新内容请参见 更新日志

如果您在试用 1.3 版本的新功能和特性时遇到了问题,请及时与我们联系,我们非常期待和感谢您的反馈。Kotlin 1.3.0 的最终版本即将到来,请抓紧时间分享您的使用体验吧!

继续阅读

发表在 官方博客 | 留下评论

Kotlin 1.2.70 发布

我们非常高兴地给大家带来了 Kotlin 1.2.70 的更新,这个版本主要修复了一些 Kotlin 1.2 的 bug 并优化了开发工具,主要包括:

  • Kotlin/JS 的增量编译性能得到了显著的提升
  • 使用 @OptionalExpectation对 kotlin-stdlib-common 中的一些注解进行了标注
  • Kotlin 编译器包含了使用 Excelsior JET 编译的二进制版本
  • IntelliJ IDEA 插件添加了新的用于重构、代码审查、代码提示等特性
  • 修复了很多编译器以及 IDE 中广为人知的问题,并进行了性能优化

这次更新兼容 IntelliJ IDEA 2017.3 – 2018.3 以及 Android Studio 3.1, 3.2 RC 和 3.3 Canary。

我们非常感谢这个版本中的外部的贡献者: Toshiaki KameyamaLucas SmairaRaluca SauciucDenis VnukovJonathan LermitageJake WhartongenTakasyBloderArtem ZinnatullinKenji TomitaNico Mandery, Juan Chen

完整的更新内容请参考 更新日志。下面是本次更新的一些重点内容。

继续阅读

发表在 官方博客 | 留下评论

Native v0.8 released

我们很高兴地宣布Kotlin/Native 0.8版本正式发布,这个版本的重点如下:

  • 更安全的协程编写方式
  • 扩展了标准库功能
  • 更好地支持IOS开发

此外该版本还修复了大量的bug及优化了性能。
继续阅读

发表在 官方博客 | 留下评论

Kotlin 1.2.50 is out!

我们很高兴地正式发布Kotlin 1.2.50,一个针对Kotlin 1.2的bug修复和功能性更新的版本。

该正式版的主要更新内容:

  • Eclipse IDE的Kotlin插件得到了更新
  • 在标准库的公共及JS部分添加了新函数
  • 我们为kotlin.test带来了最新的JUnit 5
  • 改善了对实验性脚本的支持
  • 在IntelliJ IDEA中引入了可运行Kotlin scratch文件
  • 现在kapt及使用Gradle构建Android项目时的速度变得更快了
  • 通过二进制兼容模式以支持实验性的\@JvmDefault
  • 引入了渐进编译模式
  • 修复编译器及IDE插件大量已知的问题,同时其性能也有所提升

继续阅读

发表在 官方博客 | 留下评论

构建Recyclerview DSL

作者:RetroX
原文链接:https://github.com/life2015/RecyclerViewDSL/blob/master/README_ZH.md

接文章 DSL in action

上一篇文章说了如何把DSL用在项目的布局中,而这篇文章来讲讲怎么把DSL用在Recyclerview中。此框架已经在我的项目中大规模使用,并且极大地提高了Recyclerview列表构建效率和复用能力。
继续阅读

发表在 转载文章 | 标签为 | 留下评论

Embedding Kotlin Playground Tips

在文章Embedding Kotlin Playground中,我们可以看到很多可以运行的Kotlin代码。然而文中我们只能看到实际应用的效果,到底该怎么去应用这个功能呢,下面作简单的介绍。
继续阅读

发表在 官方博客附加品 | 标签为 | 2条评论

Extension In Action

去年的Google IO大会让Kotlin语言大火,大量开发者尝试使用Kotlin进行开发,然而很多人抱怨道:“Kotlin有什么好的啊?没有什么感觉啊?不就是一些语法糖吗?”… 究其原因,很多人依然在写着Java Style的Kotlin,并没有尝试着去感悟kotlin的语法糖背后的设计思维,以及如何将那些语法特性运用在生产环境的项目中。

最近的一些时间,我们在使用Kotlin对项目基础架构进行重新设计,于是在这篇文章写下我们的心得体会~

导读:

继续阅读

发表在 转载文章 | 标签为 | 留下评论

DSL In Action

伴随着Kotlin的发展,有一个神奇的框架anko-layout,一直存在于我们的视野却又一直因为各种原因无法用于生产环境中。最近在写项目时,再次拿出anko这个框架,思考它在UI小组件上的可用性。

PS: Anko != Anko_Layouts ,但是为了表述方便,文中一部分Anko是代指这Anko Layouts框架,大家自己理解一下~

概述

关于Anko-Layouts框架的好处和局限性,网上已经有大部分文章在讲,它好在用DSL的方式来描述View,而缺点在于无法即时预览,在这方面导致Anko DSL的开发效率不及XML传统方式。经过大家的一些踩坑,以及开发上的试用,一致表示,Anko Layouts无法用在成熟的项目之中,还是老老实实用XML吧…

Anko Layouts的DSL设计那么棒… 就要这么放弃了吗
继续阅读

发表在 转载文章 | 标签为 | 一条评论

Embedding Kotlin Playground

没错,这是一段可以嵌入到博客中独立运行的kotlin代码。要注意的是,您还能修改其中的代码,而不只是让它运行起来。

这很酷,不是吗?让上述代码也顺利工作起来吧。
继续阅读

发表在 官方博客 | 2条评论