JetBrains官方释出了Kotlin 1.3,同时顺带发布了一套附加的函式库、建构工具以及学习资源。在这次的改版中协同程序(Coroutines)达稳定版本,让非阻塞程序代码更易于读写,另外,可将Kotlin程序代码直接编译成原生二进制文件的Kotlin/Native进入Beta测试阶段。
而Kotlin的多平台功能涵盖所有支持的平台,不同操作系统或是平台可以共享商业逻辑,现在Android和iOS应用程序组件可共享业务逻辑,而服务器、网页和行动客户端也可以互通逻辑,让函式库更容易移植。Kotlin 1.3进入稳定版的协同程序,提供开发者开发更易于理解和后续发展的无阻塞异步程序代码的方法,这个强大的工具从后台工作卸除到实作复杂的网络协议都适用。Kotlinx.coroutines函式库现在发布1.0版本,已足够为管理任何规模的异步操作提供强健的基础,执行组合、取消、例外处理以及对处理特定用户界面的使用案例。
官方也宣布Kotlin/Native进入Beta测试阶段,Kotlin/Native使用LLVM将Kotlin原始码编译成原生二进制文件,无需虚拟机就能执行,适用于各种操作系统和CPU架构,包括iOS、Linux、Windows、macOS甚至WebAssembly和嵌入式系统。Kotlin/Native具有全自动内存管理功能,可以和C、Objective-C、Swift,以及Core Foundation、POSIX等任何公开平台API互通。
Kotlin/Native Runtime强调不可变数据,并禁止线程之间共享未受保护的可变状态,不过,实际上在Kotlin/Native中不具有线程的概念,而是被抽象为低级实作细节,并以Worker取代,官方表示,这是一种安全且易于管理的并行运算的方式。
在多平台项目以及工具支持上,透过支持Android、JavaScript和Native,Kotlin可以处理现代应用程序的所有组件,对重复使用程序代码带来巨大的优势,节省对相同任务还要实作多次的成本。虽然目前Kotlin的多平台功能仍处在测试阶段,不过在Kotlin 1.3往前跨了一大步。
另外,Kotlin 1.3附带了一组多平台函式库,功能涵盖了HTTP、串行化和协同管理等日常事务,这个函式库让使用者可以方便地撰写多平台程序代码,当然开发者也可以创建自己的多平台函式库,将特定平台的相依档案包装进通用API中。
JetBrains官方提到Kotlin今年的采用率大幅度的成长,官方统计数字提到,从2018年1月以来,约有150万用户撰写过Kotlin程序代码,这个数字比去年增加了一倍,而社群在StackOverflow和公开Slack的活动也很活跃。
Kotlin除了是Android官方指定语言外,也大量的被用在GCP、Spring Framework和Gradle,开源社群也建立RxKotlin、mockito-kotlin、TornadoFX、Kodein和ΛRROW等丰富的函式库,而Square的Okio和LibreOffice等专案也正移动到Kotlin上,Kotlin的生态系越趋成熟。
文章转自: