网站首页 > 技术文章 正文
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的生态系越趋成熟。
猜你喜欢
- 2024-09-21 除了简洁,与Java互操作,Kotlin超过Java还有哪些优势?
- 2024-09-21 Java老矣!它的继承者在这几年究竟经历了什么
- 2024-09-21 开发一个支持跨平台的 Kotlin 编译器插件
- 2024-09-21 快速上手,使用 Kotlin 把支付宝小程序装进自己的App
- 2024-09-21 Kotlin 1.5新特性大揭秘:编程世界的全新飞跃
- 2024-09-21 SpringNative:把Spring项目编译成原生程序
- 2024-09-21 为什么 Flutter 使用 Dart 而不是另一种“更好”的语言
- 2024-09-21 一个项目,四种方式实现(Flutter、Kotlin、Weex、RN)
- 2024-09-21 AWS SDK for Kotlin 和 AWS SDK for Rust 上线!
- 2024-09-21 Spring Native 中文文档(spring5中文文档)
- 1514℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 564℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 508℃MySQL service启动脚本浅析(r12笔记第59天)
- 486℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 485℃启用MySQL查询缓存(mysql8.0查询缓存)
- 465℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 445℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 442℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- c语言min函数头文件 (68)
- asynccallback (71)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)