當前位置:
首頁 > 最新 > Appetizer Kotlin 來了,對測試意味著什麼?

Appetizer Kotlin 來了,對測試意味著什麼?

5.18是 Google I/O 2017 大會第一日。 Kotlin 成為了 Android 的官方開發語言。谷歌安卓團隊今天在 Google I/O 2017 大會 上宣布對 Kotlin 提供 first-class 的支持。

Kotlin歷史

值得注意的還有,2013年的Google IO宣布了Android Studio,也就是說 Google和JetBrains有一定年頭了。但是Kotlin還是比較年輕,下面是Github上用Kotlin寫的項目的數量,和右邊其他主流語言比比還是有非常漫長的路要走。

關於 Kotlin,先了解這些

Kotlin 是一個基於 JVM 的新編程語言,用 JetBrains 的話來說是「更現代化、更強大」的語言。

Kotlin 由 JetBrains 在 2010 年開發,2011 年開源了: https://github.com/JetBrains/kotlin 。2016 年發布 1.0 版,2017 年 4 月發布 1.1.2 版。

谷歌安卓團隊和 JetBrains 的關係不一般。Android Studio 就是基於 JetBrains 開發的 IntelliJ IDEA 社區版;

谷歌和 JetBrains 將為 Kotlin 成立一個非盈利基金會。Kotlin 語言的開發,還是 JB 為主導。

Kotlin 語言的開發團隊,目前大約 40 人。會繼續往常那樣運作。Andrey Breslav 還是 Kotlin 語言的首席設計師。

JetBrains 對 Kotlin 的願景是:用同一種語言,橋接多平台的不同應用的端對端開發。包括全棧 Web 應用、Android 和 iOS 客戶端、嵌入式/物聯網等等。

Kotlin 與 Java 100% 互通,並具備諸多 Java 尚不支持的新特性。

Android Studio 3.0 預覽版已支持 Kotlin。下載 AS 3.0 預覽版後,打開現有的 Java 文件,在「Code」菜單中選擇「Convert Java File to Kotlin File」。AS 會添加 Kotlin 依賴,然後把 Java 代碼轉成同等功能的 Kotlin 代碼。

Kotlin 易於上手,可以逐步引入到現有項目中。這意味著安卓開發者目前現有的技能和技術積累/投資並沒有浪費。

Kotlin語言對測試工具的影響

Kotlin最終會被編譯成Java bytecode,然後變成APK。如果APP部分或者全部使用Kotlin開發,是否會對現在的測試體系有影響呢?這個是大家做測試時候關心的。以下是質量保障體系裡面的幾類工具:

靜態代碼分析工具,比如findbugs, Android Lint, Sonar這類,這些工具的影響是最大的,因為有些是直接和源代碼打交道的,但是不用擔心,Kotlin的開發工具已經慢慢開始,包括語法檢查,各種靜態分析也會慢慢抓上來

UI自動化工具,例如Appium, Calabash, Robotium:只要Java一天不死,這些工具總是能用,無論Kotlin怎樣,最終還是可以直接和原生Java代碼銜接的,以前的Robotium Java用例照樣能跑,Appium之類的直接從Uiautomator這種點擊View的,更是沒有關係。

SDK工具:bugly, LeakCanary等:完全不受到影響,只要是Java的庫Kotlin可以無縫連接,這點要表揚下Kotlin的兼容性。

插樁工具:Appetizer, JaCoCo, Emma,插樁工具向APP中添加測量代碼來完成任務,JaCoCo/Emma的代碼覆蓋率和Appetizer的崩潰、性能、Http、卡頓監控等都是這樣。Appetizer是直接在Dalvik代碼上插樁的,所以和源代碼是用什麼語言開發的沒有關係;JaCoCo是在Gradle中間,對Javac產生的bytecode插樁,也是一樣,和源代碼沒關係,所以繼續能用。

APK啟動後的工具,包括Proxy工具,Mock工具,弱網模擬:都沒事

Kotlin 學習資源

Getting Started Guide:https://kotlinlang.org/docs/tutorials/getting-started.html


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 bugzero無缺 的精彩文章:

「無缺」定製化解決方案,將「騎巴APP」測試成本降至20%
《只有你可以改變自己》-泰國又一逆天創意好廣告
未來5年AI在銀行業的5大應用,AI已成為生活不可分割一部分

TAG:bugzero無缺 |

您可能感興趣

Crytek的多人射擊遊戲Hunt:Showdown關閉alpha測試
測試精品 Suunto Spartan Sport Wrist HR Baro
谷歌搜索正在測試新的Material Design布局,你注意到了嗎?
Mac 福音,Radeon ProRender插件Mac測試版來了!
微軟正在iOS和Android上的Outlook中測試Cortana
python介面測試之token&session的處理
Linux下使用Speedtest測試網速
python下的測試利器pytest
使用 BenchmarkDotnet 測試代碼性能
關於PWA-Progressive Web App的一些測試思考
陸續測試了九個月之後,Supercell還是將《Brawl Stars》推翻重做了
CyberFlood Fuzzing-照明系統里的網路測試
Facebook 在美測試 Downvote 新功能,幫助檢舉惡意留言
Google Chrome測試版支持原生Windows10通知
Mozilla在Firefox中測試DNS over HTTPS
從論文到測試:Facebook Detectron開源項目初探
蘋果HomePod智能音箱測試:回答準確率遜於Google Home
如何用 Python 測試 Android 應用
全球匯款公司Western Union測試Ripple技術
Golem發布Golem Brass Beta測試版本