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