您现在的位置是:亿华云 > 系统运维
Kotlin新版来了,支持跨平台!
亿华云2025-10-09 03:51:48【系统运维】8人已围观
简介谷歌在今年的 I/O 大会上宣布,Kotlin 编程语言现在是 Android 应用程序开发人员的***语言(谷歌宣布 Kotlin 成为安卓开发***)。还有一个好消息, Kotlin 1.3.30
谷歌在今年的新版 I/O 大会上宣布,Kotlin 编程语言现在是支持 Android 应用程序开发人员的***语言(谷歌宣布 Kotlin 成为安卓开发***)。还有一个好消息,跨平 Kotlin 1.3.30 正式发布,做了对apple的新版支持。离上次发布1.3 时间过去半年。支持本次的跨平该版本主要覆盖 1.3 版本的问题修复和工具完善。版本更新的新版主要范围为 Kotlin/Native、KAPT 的支持性能优化以及对 IntelliJ IDEA 的支持优化。我们来回顾下 1.3的跨平 新特性稳定的协程 Kotlin/Native Beta 多平台项目和工具用于 Kotlin/Native 和多平台的工具 Ktor 1.0 Beta
本次版本带来的牛逼特性主要对1.3完善,并且做了工具上的新版支持。
KAPT 支持注解处理器增量编译
KAPT 已经支持注解处理器增量编译,支持该特性仍处灰度实验阶段,跨平你可以通过在gradle.properties中添加以下配置来启用它: kapt.incremental.apt=true 需要指出的新版是,在现有版本中引入任何非增量编译的支持注解处理器或者依赖的变化(截止目前,包括内部声明的跨平修改)都会导致该模块的高防服务器注解处理过程退化为非增量模式。 KAPT: 其他提升
引入了两个配置来提升编译性能。其一是使用 Gradle workers:
这个版本也对它做了优化。另一个是 1.3.20 引入的,开启 Compile Avoidance,就是说依赖如果只有方法体发生变化,那么就跳过注解处理。只有在所有的注解处理器都显式的在注解处理的 classpath 声明的情况下,Compile Avoidance 才会生效。无符号数组的扩展方法
从 1.3 开始我们可以在开发模式下使用无符号数值类型。这个版本我们对无符号类型以及其数组做了更多的支持:
需要注意的是,我们之前就可以在无符号数组上使用函数式操作例如 filter 和 map ,这是因为无符号类型的数组实际上是实现了 Collection 接口的,例如 UIntArray 实现了 Collection 接口。 不过这样就涉及到了性能问题,因为在 UIntArray 被当作 Collection的实例使用时会额外 创建 一个对象出来。企商汇现在好了,所有新增的扩展函数都使用无符号数组类型作为 receiver 以消除额外的对象创建开销。因此不用担心,现在无符号数组和常规数值类型的数组从使用的角度来讲没有什么两样,不会有任何额外的开销了。
Kotlin/Native
Kotlin/Native 支持的目标平台有: Windows 32 位(mingw_x86)。除此之外,Windows 和 macOS 用户也可以混合编译 Kotlin/Native 程序到 Linux x86-64、arm32 以及 Android 和 Raspberry PI 环境上。 Kotlin/Native 对 Apple 平台的支持
对 Apple 平台的支持也有提升。iOS 上未处理的异常信息会被输出到 iOS 崩溃日志当中,iOS 和 macOS 上的异常堆栈(调试模式)也会包含符号信息。现在也可以使用命令行参数 -Xstatic-framework 或者以下 Gradle 脚本来构建静态库:需要注意的一点,现阶段官方表示拉取和编译这些依赖仍然需要一个 Xcode 工程。
Kotlin/Native IDE 支持
接下来我们同步下我们的 IDE 对 Kotlin/Native 的支持工作的进展。除 IntelliJ IDEA 之外,我们也将发布 Kotlin/Native 插件支持 CLion 2019.1、AppCode 2019.1。C interop 描述文件 (.def) 后续也会得到所有 IDE 的源码下载支持,尽管目前代码补全功能还没有上线。对于 CLion and AppCode, 我们也支持了异常堆栈跳转源码的支持。 IntelliJ IDEA 支持
调试功能的提升
当你在调试协程代码时,你可以看到有一个单独的异步堆栈 “Async stack trace” 显示挂起时的变量。当程序在 suspend 函数或者 Lambda(例子的第 13行)中的断点停止时, “Async stack trace” 显示了变量在上一次挂起时的状态(12行)。你可以浏览 suspend 函数在当前协程中从上一个挂起点的全部的堆栈 (第12、4行)并确认变量的值:这会帮助你更方便的理解当前协程的运行状态。在调试 Kotlin 代码时,可以选择 “Kotlin” 模式来查看变量。 Eclipse IDE 插件更新
Eclipse 插件 0.8.14 主要包含以下更新:Kotlin 1.3.30 编译器支持, 大量的问题修复和整体稳定性的提升。该版本也增加了对 Gradle 工程的实验性质的支持。你可以用 Eclipse Buildship 导入工程,你会发现 Kotlin 会被正常配置。
指定 JVM 版本
如果你的程序运行在 JVM 9, 10, 11, 或者 12 等版本下,你可以设置 jvmTarget到对应的版本了。这个设置会影响编译的 class 文件的字节码版本,但它们不是后向兼容的。相比之下,新目标版本不会有任何字节码优化也不会有任何新特性,期待后续Kotlin继续更新。写在***无论 Google 对Kotlin 赋予什么期望,总而言之,Google提出新的系统和跨平台方案,意味着Andorid 生态已经向不同领域发力,最近微软的反击也预示者,google的跨端计划已经对微软形成了火力压制,坐等大安卓起飞,移动开发下一春不远了。于此同时微软也在大力发展自己的.net语言的跨平台,并且也在支持 Pyhon开发语言的各种工具,其实是在对 Flutter和Kotlin 提出了挑战。大家如何看待 Kotlin 的未来? 欢迎交流。
很赞哦!(74146)
相关文章
- 网站页面结构改版,仅是页面样式发生变化,不会对排名、收录有影响;只有涉及到页面URL改变,才会对网站排名、收录有影响。
- 摩尔定律的终结对数据中心行业意味着什么?
- 数据中心布线管理需进行端口复制的五个主要原因
- vivo 手机云服务建设之路-平台产品系列04
- 因为域名解析需要同步到DNS根服务器,而DNS根服务器会不定时刷,只有DNS根服务器刷新后域名才能正常访问,新增解析一般会在10分钟左右生效,最长不会超过24小时,修改解析时间会稍微延长。
- 七个常见数据中心迁移挑战
- 2024年的数据中心及其基础设施的格局将发生什么变化?
- 原生算力强势登场,护航数字经济可持续发展
- 旧域名的外链是否会对新建站点产生影响?
- 布线在数据中心中的作用:确保可靠性与效率
热门文章
站长推荐
用户邮箱的静态密码可能已被钓鱼和同一密码泄露。在没有收到安全警报的情况下,用户在适当的时间内不能更改密码。在此期间,攻击者可以随意输入帐户。启用辅助身份验证后,如果攻击者无法获取移动电话动态密码,他将无法进行身份验证。这样,除非用户的电子邮件密码和手机同时被盗,否则攻击者很难破解用户的邮箱。
Nginx的负载均衡实现,你学会了吗?
首届超互联新算力产业暨第三届中国IDC行业DISCOVERY大会圆满召开:院士专家创业者齐聚 热议智算时代AI新趋势
能源危机:建筑如何推动能源转型
其次,一般域名注册有一个获取密码的按钮,域名注册商点击后会向您发送密码。在得到域名注册商发送的密码后,将其传输到域名服务提供商网站,然后输入密码,此时域名呈现申请状态。提交申请后,原注册人通常会向您发送一封电子邮件,询问您是否同意转让。此时,您只需点击同意转移按钮,域名注册商就可以成功转移。
传统企业数据中心会过时吗?
荣誉加身,共创未来 朝亚推出全新Ingenuity高密度数据中心解决方案
提高数据中心能效和降低能源成本的五种方法