微商网站模板,wordpress网站如何迁移,海外代理服务器 免费,大连网页制作作者#xff1a;Tamic 原文链接#xff1a;juejin.im/post/5cd8f9… 谷歌在今年的 I/O 大会上宣布#xff0c;Kotlin 编程语言现在是 Android 应用程序开发人员的首选语言(谷歌宣布 Kotlin 成为安卓开发首选)。 还有一个好消息, Kotlin 1.3.30 正式发布#xff0c;做了对ap…作者Tamic 原文链接juejin.im/post/5cd8f9… 谷歌在今年的 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.apttrue 需要指出的是在现有版本中引入任何非增量编译的注解处理器或者依赖的变化截止目前包括内部声明的修改都会导致该模块的注解处理过程退化为非增量模式。 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 的未来 欢迎交流 扫一扫 关注我的公众号【辉辉代码路】