内容简介:JetBrains 不久前Kotlin/Native 现在支持 Windows 32 位目标(mingw_x86)。此外,macOS 和 Windows 用户可以将 Kotlin/Native 程序交叉编译到 Linux x86-64、arm32、Android 和树莓派等设备上。Kotlin/Native 还为苹果平台带来了一系列改进。针对异常处理,开发者可以在 iOS 崩溃日志中找到未处理的异常,新版的异常回溯功能在调试模式下还包含 iOS 和 macOS 上的符号集。
JetBrains 不久前 发布 了 Kotlin 1.3.30。此版本主要针对 Kotlin 1.3 修复 bug 并更新功能。Kotlin 1.3.30 改进了 Kotlin/Native 和 KAPT,支持更多对无符号类型和数组的操作,并改进了 IntelliJ IDEA 的调试功能,等等。
Kotlin/Native 现在支持 Windows 32 位目标(mingw_x86)。此外,macOS 和 Windows 用户可以将 Kotlin/Native 程序交叉编译到 Linux x86-64、arm32、Android 和树莓派等设备上。
Kotlin/Native 还为苹果平台带来了一系列改进。针对异常处理,开发者可以在 iOS 崩溃日志中找到未处理的异常,新版的异常回溯功能在调试模式下还包含 iOS 和 macOS 上的符号集。
复制代码
苹果开发者还可以使用-Xstatic-framework 命令行参数生成静态框架,或者为跨平台项目生成以下 Gradle 脚本: kotlin{ macosX64{ binaries{ framework{ isStatic=true } } } }
苹果开发者还能用到一项实验性功能,其使用 Gradle 插件提供与 CocoaPods 的集成。此功能可将 Kotlin/Native 项目转换为.podfile 依赖项,可将其包含在 Podfile 中。这样以来,开发者就可以获得与 XCode 的 Swift pod 或 Objective-C pod 相同的体验。此外还可以将 CocoaPods 依赖项导入 Kotlin/Native 项目。提供该功能的 gradle 插件负责处理将框架导入 Kotlin/Native 项目的所有必要配置。
复制代码
// Apply plugins. plugins { id("org.jetbrains.kotlin.multiplatform")version"1.3.30" /// the new plugin for CocoaPods support id("org.jetbrains.kotlin.native.cocoapods")version"1.3.30" } // CocoaPods requires the podspec to have a version. version="1.0" kotlin { cocoapods { summary ="a Kotlin/Native module" homepage ="homepage" pod("AFNetworking","~> 3.2.0") } }
在已有 Xcode 项目中导入 Kotlin/Native 模块需要执行以下步骤:
- 安装 CocoaPods
- 配置 gradle 项目:应用 org.jetbrains.kotlin.native.cocoapods 插件,添加并配置目标,并指定所需的 podspec 字段
- 运行 podspec 任务,生成上文描述的 podspec 文件。
- 在 Xcode 项目的 Podfile 中添加对生成的 podspec 的引用
复制代码
target'my-ios-app'do pod'my_kotlin_library', :path =>'path/to/my-kotlin-library' end
- 为 Xcode 项目运行 pod install。
之前通过 KAPT 编译插件在 Kotlin 中支持的注释处理器( JSR 269 )也得到了改进。KAPT 增加了一项实验性功能,可以实现增量注释处理器;开发者若想尝试该功能,可在 gradle.properties 中添加下面这行代码:
复制代码
kapt.incremental.apt=true
KAPT 的另一个有趣的特性是 Compile Avoidance(避免编译),它只在更改方法主体时跳过注释处理。只有在注释处理类路径中显式声明所有 KAPT 依赖项时才可以避免编译。要启用避免编译,需在 gradle.properties 中添加下面这行代码:
复制代码
kapt.include.compile.classpath=false
Kotlin 1.3.30 支持更多对无符号类型和无符号类型数组的操作:
复制代码
funmain(){ valu1 =2_147_483_649u valu2 =4_000_000_000u println(u1.toDouble()) println(minOf(u1,u2)) valarray: UIntArray = uintArrayOf(u1,u2) println(array.max()) println(array.all { it >Int.MAX_VALUE.toUInt()}) }
由于无符号数组实现了 Collection(例如用于 UIntArray 的 Collection
IntelliJ IDEA 对 Kotlin 1.3.30 的支持也得到了改进。现在可以更容易地调试协程;新增独立的“异步堆栈跟踪”功能显示暂停时存储的变量。
IntelliJ IDEA 调试功能的另一项改进是“Kotlin”模式,它使开发者能够通过 Kotlin 名称而不是辅助 JVM 名称来查看变量:
(图片来自 https://blog.jetbrains.com )
IntelliJ IDEA 的其它重要功能和错误修复包括:
- 新增用来替换 isEmpty/isNotEmpty 方法否定语句的意图。例如,!isEmpty() -> isNotEmpty(),!isNotEmpty() -> isEmpty()
- 新增用.size 替换 Collection.count() 的语法检查和快速修正。例如,listOf(1, 2).count() -> listOf(1, 2).size
- 新增用 Kotlin 的 forEach 替换 Java 8 的 Map.forEach 的语法检查
- 新增有关重复 requireNotNull 和 checkNotNull 用法的警告
- 修复不正确的 KT elvis 表达式调试器评估
- 支持多行 TODO 评论。
要查看完整的更新列表可查阅 更新日志 。若要更新到 Kotlin 1.3.30,IntelliJ IDEA 和 Android Studio 用户应进入工具 > Kotlin> 配置 Kotlin 插件更新,然后单击“立即检查更新”;Eclipse 用户应该使用 Marketplace 安装插件,或者从 maven 获取更新;Gradle 和 npm 用户应使用 1.3.30 作为编译器和标准库的版本号。其它文档 点此 查看。
查看英文原文: Kotlin 1.3.30 Brings Kotlin/Native and KAPT Improvements, and More
以上所述就是小编给大家介绍的《Kotlin 1.3.30 改进汇总》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Beginning Google Maps API 3
Gabriel Svennerberg / Apress / 2010-07-27 / $39.99
This book is about the next generation of the Google Maps API. It will provide the reader with the skills and knowledge necessary to incorporate Google Maps v3 on web pages in both desktop and mobile ......一起来看看 《Beginning Google Maps API 3》 这本书的介绍吧!
Base64 编码/解码
Base64 编码/解码
URL 编码/解码
URL 编码/解码