Kotlin 1.3.50 发布了,此版本除了质量和工具改进之外,还有以下更新亮点:

本文作者: youngxhui

Kotlin 开发中文周报

  • 设计了一个新的持续时间和时间测量 API(预览功能)。
  • 改进 Java-to-Kotlin 转换器。
  • Gradle Kotlin/JS 项目中生成 npm 依赖项的外部声明(使用
    Dukat,实验性功能)。
  • 引入一个用于在 IntelliJ IDEA Ultimate 中调试 Kotlin/Native
    代码的单独的插件。
  • 多平台项目中的 Java 编译支持。

本文链接:
http://youngxhui.github.io/2017/12/02/Kotlin-1-2-平台之间共享代码/

  1. 对比 Java,Kotlin 中我最喜欢的功能

  2. Kotlin 自定义委托属性(Custom Property
    Delegates)Delegates.observable 与 Delegate 的一些简单的 Demo

  3. Kotlin
    从零开始:高级属性和类其中有介绍:延时属性,内联属性,扩展属性,数据,枚举,嵌套和密封类。推荐
    『Kotlin 从零开始』系列文章。

  4. Android Architecure Components 中的一些陷阱 – 第 1 部分 LiveData 和
    Fragment 生命周期

  5. Kotlin 功能编程 I:Monad Stack

  6. List asyncMap() for lazy Kotliniers

  7. 改进 Kotlin 在 Android 的测试

  8. 静态代码分析工具的 by Koltin 在 Android 中在本文中学习如何为多模块
    Android Kotlin
    项目添加一个静态分析工具,以及如何设置它来应用一组规则来检查样式,代码风格等。

详情查看:

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0
许可协议。转载请注明出处!

https://blog.jetbrains.com/kotlin/2019/08/kotlin-1-3-50-released

前言

这是一个尝试,之前没有翻译过任何技术文章,做一个尝试,也算是学习,尽管现在这个译文在网上已经是满天飞了。

原文地址Kotlin 1.2 Released: Sharing Code between
Platforms

  1. Kotlin 介绍关于 Kotlin 语法的 GDGMumbai 开发者大会
    的幻灯片,其中包含如何用 Kotlin 创建一个简单的后端和前端的步骤。

  2. KΛTEGORY 介绍

(文/开源中国)    

正文

今天,我们将要发布 Kotlin
1.2。这是一个重要的新版本和一个大的步伐在我们朝着使用 Kotlin
在现代应用程序中的道路上。

在 Kotlin 1.1 中,我们正式的发布了 JavaScript 目标,允许你去编译
Kotlin 代码成为 JS 并且运行在浏览器上。在 Kotlin 1.2
中,我们将要添加 JVM 和 JavaScript
的代码重用成为可能。现在你可以写一次应用程序的逻辑代码,而在你的应用程序中所有层重用它——后端,浏览器前端和Android移动应用。我们也会在库上进行工作,帮助你重用更多的代码。比如跨平台库。

image

Kotlin 1.2 是已经绑定在 IntelliJ IDEA
2017.3中,将会在本周发布。如果你正在使用的是
Android Studio 或者 一个旧版本的 Intellij IDEA,你可以从 Tools | Kotlin
| Configure Kotlin Plugin 更新框中安装新的版本。

这个版本包括了大量外部贡献者的工作,并且我们想感谢向我们反馈,提交问题和尤其是提交了PR的每个人。

多平台项目

一个多平台项目允许你编译在你的应用程序的多层 —— 后端,前端和Android应用
—— 在相同的代码基础上。这样的一个项目包含了
相同模块,与平台无关以及特定平台的模块,包含了特定平台的代码( JVM
或者 JS
)和使用了特定平台的库。从通用模块调用特定平台的代码,你可以指定预期的声明——所有平台特定模块需要提供实际实现声明。

澳门新葡萄京所有网站,image

有关该功能的更多信息,请查看这个文档

如前所述,我们也在编写一组公共库允许你将更多的逻辑代码转移到公共代码:

  • kotlin.test,包括开箱即用的Kotlin1.2,让你写一次测试并且运行在JVM
    和 JS 下;

  • kotlin.html支持
    同构渲染 — 用相同的代码渲染 HTML 在后端和在前端;

  • kotlinx.serialization允许你轻松的对
    Kotlin对象编组在你的应用程序的不同的层之间,使用 JSON 或者 ProtoBuf
    进行序列化格式化。

请注意,多平台项目目前是一个实验性功能;这意味着这个功能是准备使用,但是我们也许需要去改变设计在之后的版本(并且如果我们这样做,我们将会提供代码迁移工具)。

  1. AztecEditor-AndroidAztec,一种基于 Kotlin 的富文本组件。

编译性能

在1.2的发展过程中,我们花费了很多精力来使编译过程更快。我们已经比Kotlin1.1提高了大约
25% 并且我们看见进一步改进的巨大潜力,它将会在发布在 1.2.x的更新中。

下方的图片展示了两个用Kotlin的大型JetBrains项目不同的编译时间:

image

其他语言和库的改进

我们也做了许多小的改进在语言和标准库:

  • 更简洁的语法
    用于将多个参数传递给注解(数组 文字(literals)) 不知如何翻译literals
    译者注

  • 支持 lateinit 修饰在全局属性和局部属性,以及检查一个 lateinit
    是否被初始化;

  • 更加聪明的智能推导和改进的类型推断在一些情况下。

  • 标准库和 Java9 中引入的分包限制的兼容;

  • 新的 kotlin.math包在标准库中;

  • 新的标准库函数在处理序列和集合,包含了一组函数
    为了拆分集合和序列为可能重叠的固定大小的组。

更多的信息和代码示例,请看
Kotlin1.2中新功能

  1. Time类型安全的 Kotlin 时间工具类

  2. CatchUpAn app for catching up on things.

  3. GitterChatAndroid Chat application using Kotlin and sockets.io

  4. android-gif-exampleGif RecyclerView Example in MVP using Dagger 2 +
    Retrofit 2 + Moshi + RxJava 2 + Glide 4 with JUnit and Espresso
    tests written in Kotlin + Kotlin DSL!

世界各地的Kotlin

自从今年3月发布的Kotlin1.1以来,Kotlin已经取得了巨大的收获在世界各地。这是
KotlinConf
的高潮,我们第一次全球会议,有着1200参会者在11月2,3日的旧金山。我们已经记录了所有的会谈,并且视频已经可以看。

Kotlin现在是一个Android开发官方支持的语言,开箱即用的Android Studio
3.0,已经谷歌发布了官方示例和风格指南。结果是,在Android
Studio中超过了 17% 的项目使用
Kotlin,包含来自很多热门的创业公司以及财富500强公司的许多应用程序。

image

在服务器端,Spring
5.0
已经发布,有着许多Kotlin支持的功能,而且
vert.x
已经支持Kotlin在3.4.0后。当然,Gradle支持开箱即用Kotlin
DSL,而且 Gradle Kotlin DSL 项目正在迅速的接近1.0版本。

在Github上,开源的Kotlin代码行数已经超过了2.5亿。而在 Stack
Overflow,Kotlin是增长最快的语言之一和最不反感的语言之一

image

围绕Kotlin的社区建立同样也是令人吃惊的,已经有超过100用户组在全世界,我们很难追踪到所有的人
——
但是针对我们所知道的,这个会谈地图给了你一个很好的想法,kotlin是多么广泛的使用。

image

对于刚刚学习Kotlin的人来说,书籍的数量是不断的增长(包含我们自己的
“Kotlin in
Action”,现在有英文,俄语,日语,中文和葡萄牙语),线上课程,教程和其他资源

十分感谢你阅读本文,如果你觉得对你有帮忙,请推荐给其他用户并点赞。

团队见面:网络研讨会和Reddit AMA

分享你更多的信息关于新版本,我们计划组织一个网络研讨会关于Kotlin1.2多平台项目在12月7日,18:00
CET。请注册;空间有限。

Kotlin团队也将会举办 AMA(Ask Me Anything) 在 Kotlin
Reddit
上在12月5号。我们将开始中午开始(CET),并且我们接下来的24小时和你在一起。

参考文章:

如何升级

一如既往,你可以在线尝试Kotlin在try.kotlinlang.org


  • Maven,Gradle和npm中:使用1.2.0作为编译器和标准库的版本号。看这里

  • IntelliJ
    IDEA
    :2017.3已经和Kotlin1.2绑定,在早期版本中安装或者升级 Kotlin
    插件到1.2.0版本。

  • Android Studio:安装或者升级插件通过 Plugin Manager

  • Eclips:安装插件在
    MarketPlace。

  • 命令行编译可以从Github发布页面上下载。

兼容性
在Kotlin1.2的语言和标准库是向后兼容的(模块错误):如果一些编译和运行在1.0或者1.1,将会继续在1.2上运行。帮助逐渐共享的打团队,我们将提供不使用新特性的编译开关。这里是一个包含可能的缺陷文档

  1. Kotlin Weekly Update — 14

  2. kotlin-weekly-65

  3. androidweekly

关于我:微博,简书,Github。