摘要:還有一個(gè)好消息正式發(fā)布,做了對的支持。支持的目標(biāo)平臺有位。該版本也增加了對工程的實(shí)驗(yàn)性質(zhì)的支持。于此同時(shí)微軟也在大力發(fā)展自己的語言的跨平臺,并且也在支持開發(fā)語言的各種工具,其實(shí)是在對和提出了挑戰(zhàn)。
點(diǎn)擊上方“開發(fā)者技術(shù)前線”,選擇“星標(biāo)” 來源:開發(fā)者技術(shù)前線 作者:Tamic | 編輯: 可可
谷歌在今年的 I/O 大會上宣布,Kotlin 編程語言現(xiàn)在是 Android 應(yīng)用程序開發(fā)人員的首選語言(谷歌宣布 Kotlin 成為安卓開發(fā)首選)。 還有一個(gè)好消息, Kotlin 1.3.30 正式發(fā)布,做了對apple的支持。離上次發(fā)布1.3 時(shí)間過去半年。本次的該版本主要覆蓋 1.3 版本的問題修復(fù)和工具完善。版本更新的主要范圍為 Kotlin/Native、KAPT 的性能優(yōu)化以及對 IntelliJ IDEA 的支持優(yōu)化。 我們來回顧下 1.3的 新特性 穩(wěn)定的協(xié)程 Kotlin/Native Beta 多平臺項(xiàng)目和工具 用于 Kotlin/Native 和多平臺的工具 Ktor 1.0 Beta
本次版本帶來的牛逼特性主要對1.3完善,并且做了工具上的支持。
KAPT 支持注解處理器增量編譯KAPT 已經(jīng)支持注解處理器增量編譯,該特性仍處灰度實(shí)驗(yàn)階段,你可以通過在gradle.properties中添加以下配置來啟用它: kapt.incremental.apt=true 需要指出的是,在現(xiàn)有版本中引入任何非增量編譯的注解處理器或者依賴的變化(截止目前,包括內(nèi)部聲明的修改)都會導(dǎo)致該模塊的注解處理過程退化為非增量模式。 KAPT: 其他提升
引入了兩個(gè)配置來提升編譯性能。其一是使用 Gradle workers:
這個(gè)版本也對它做了優(yōu)化。另一個(gè)是 1.3.20 引入的,開啟 Compile Avoidance,就是說依賴如果只有方法體發(fā)生變化,那么就跳過注解處理。只有在所有的注解處理器都顯式的在注解處理的 classpath 聲明的情況下,Compile Avoidance 才會生效。
無符號數(shù)組的擴(kuò)展方法從 1.3 開始我們可以在開發(fā)模式下使用無符號數(shù)值類型。這個(gè)版本我們對無符號類型以及其數(shù)組做了更多的支持:
需要注意的是,我們之前就可以在無符號數(shù)組上使用函數(shù)式操作例如 filter 和 map ,這是因?yàn)闊o符號類型的數(shù)組實(shí)際上是實(shí)現(xiàn)了 Collection 接口的,例如 UIntArray 實(shí)現(xiàn)了 Collection 接口。 不過這樣就涉及到了性能問題,因?yàn)樵?UIntArray 被當(dāng)作 Collection的實(shí)例使用時(shí)會額外 創(chuàng)建 一個(gè)對象出來?,F(xiàn)在好了,所有新增的擴(kuò)展函數(shù)都使用無符號數(shù)組類型作為 receiver 以消除額外的對象創(chuàng)建開銷。因此不用擔(dān)心,現(xiàn)在無符號數(shù)組和常規(guī)數(shù)值類型的數(shù)組從使用的角度來講沒有什么兩樣,不會有任何額外的開銷了。
Kotlin/NativeKotlin/Native 支持的目標(biāo)平臺有: Windows 32 位(mingw_x86)。除此之外,Windows 和 macOS 用戶也可以混合編譯 Kotlin/Native 程序到 Linux x86-64、arm32 以及 Android 和 Raspberry PI 環(huán)境上。 Kotlin/Native 對 Apple 平臺的支持
對 Apple 平臺的支持也有提升。iOS 上未處理的異常信息會被輸出到 iOS 崩潰日志當(dāng)中,iOS 和 macOS 上的異常堆棧(調(diào)試模式)也會包含符號信息。 現(xiàn)在也可以使用命令行參數(shù) -Xstatic-framework 或者以下 Gradle 腳本來構(gòu)建靜態(tài)庫: 需要注意的一點(diǎn),現(xiàn)階段官方表示拉取和編譯這些依賴仍然需要一個(gè) Xcode 工程。
Kotlin/Native IDE 支持接下來我們同步下我們的 IDE 對 Kotlin/Native 的支持工作的進(jìn)展。 除 IntelliJ IDEA 之外,我們也將發(fā)布 Kotlin/Native 插件支持 CLion 2019.1、AppCode 2019.1。C interop 描述文件 (.def) 后續(xù)也會得到所有 IDE 的支持,盡管目前代碼補(bǔ)全功能還沒有上線。 對于 CLion and AppCode, 我們也支持了異常堆棧跳轉(zhuǎn)源碼的支持。 IntelliJ IDEA 支持
調(diào)試功能的提升
當(dāng)你在調(diào)試協(xié)程代碼時(shí),你可以看到有一個(gè)多帶帶的異步堆棧 “Async stack trace” 顯示掛起時(shí)的變量。 當(dāng)程序在 suspend 函數(shù)或者 Lambda(例子的第 13行)中的斷點(diǎn)停止時(shí), “Async stack trace” 顯示了變量在上一次掛起時(shí)的狀態(tài)(12行)。你可以瀏覽 suspend 函數(shù)在當(dāng)前協(xié)程中從上一個(gè)掛起點(diǎn)的全部的堆棧 (第12、4行)并確認(rèn)變量的值: 這會幫助你更方便的理解當(dāng)前協(xié)程的運(yùn)行狀態(tài)。 在調(diào)試 Kotlin 代碼時(shí),可以選擇 “Kotlin” 模式來查看變量。 Eclipse IDE 插件更新
Eclipse 插件 0.8.14 主要包含以下更新:Kotlin 1.3.30 編譯器支持, 大量的問題修復(fù)和整體穩(wěn)定性的提升。該版本也增加了對 Gradle 工程的實(shí)驗(yàn)性質(zhì)的支持。你可以用 Eclipse Buildship 導(dǎo)入工程,你會發(fā)現(xiàn) Kotlin 會被正常配置。
指定 JVM 版本如果你的程序運(yùn)行在 JVM 9, 10, 11, 或者 12 等版本下,你可以設(shè)置 jvmTarget到對應(yīng)的版本了。這個(gè)設(shè)置會影響編譯的 class 文件的字節(jié)碼版本,但它們不是后向兼容的。相比之下,新目標(biāo)版本不會有任何字節(jié)碼優(yōu)化也不會有任何新特性,期待后續(xù)Kotlin繼續(xù)更新。 寫在最后 無論 Google 對Kotlin 賦予什么期望,總而言之,Google提出新的系統(tǒng)和跨平臺方案,意味著Andorid 生態(tài)已經(jīng)向不同領(lǐng)域發(fā)力,最近微軟的反擊也預(yù)示者,google的跨端計(jì)劃已經(jīng)對微軟形成了火力壓制,坐等大安卓起飛,移動開發(fā)下一春不遠(yuǎn)了。 于此同時(shí)微軟也在大力發(fā)展自己的.net語言的跨平臺,并且也在支持 Pyhon開發(fā)語言的各種工具,其實(shí)是在對 Flutter和Kotlin 提出了挑戰(zhàn)。 大家如何看待 Kotlin 的未來? 歡迎交流
更多原創(chuàng): Flutter 1.5 來襲,支持Web , 桌面,嵌入式開發(fā) juejin.im/post/5cd3ab…
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/7379.html
摘要:官方定義項(xiàng)目介紹長期目標(biāo)是使用開發(fā)一個(gè)完整的應(yīng)用,目前搭建了最小量的腳手架。測試程序和都提供了強(qiáng)大的測試套件,能夠很好的和集成,進(jìn)行集成測試和單元測試。編寫一些基本的集成測試,檢查接口是否正常。 showImg(https://segmentfault.com/img/remote/1460000008751790); kotlin是由IntelliJ IDEA的開發(fā)商Jetbrain...
摘要:發(fā)布本周正式發(fā)布,包含了一系列的特性提升與問題修復(fù),同時(shí)也在不斷致力于將打造地更為輕巧與高性能。當(dāng)然,姜振勇老師還會介紹的多種服務(wù),包括大數(shù)據(jù)網(wǎng)絡(luò)和安全,展現(xiàn)彈性安全和高可擴(kuò)展性的全方位能力。 showImg(http://upload-images.jianshu.io/upload_images/1647496-2ce7598e6987d9af.jpg?imageMogr2/aut...
閱讀 1919·2021-11-22 15:25
閱讀 4151·2021-11-17 09:33
閱讀 2603·2021-10-12 10:12
閱讀 1882·2021-10-09 09:44
閱讀 3303·2021-10-08 10:04
閱讀 1387·2021-09-29 09:35
閱讀 2016·2019-08-30 12:57
閱讀 1376·2019-08-29 16:22