|
一年一度的 Google I/O 大會在山景城露天劇場如期開幕。對開發(fā)者來說,最值得一提的大事就是:谷歌在I/O 2017開發(fā)者大區(qū)會上宣布了安卓開發(fā)全面支持Kotlin編程語言。 Kotlin語言 對Java和安卓開發(fā)者來說,最值得一提的大事就是:谷歌在I/O 2017開發(fā)者大區(qū)會上宣布了安卓開發(fā)全面支持Kotlin編程語言。其實在之前這個語言就已經(jīng)支持了安卓平臺開發(fā),但是直到今天谷歌開發(fā)者大會上才宣布對該語言的全面支持和維護。 Kotlin的簡介 Kotlin背后的公司為JetBrains,著名的IDE IntelliJ IDEA便是這家公司開發(fā)的。Kotlin這種語言100%支持Java,而Java也是安卓應用開發(fā)最主要的語言之一。 Kotlin和Java一樣都是基于JVM的語言,Kotlin是一門非常現(xiàn)代化的編程語言,谷歌稱它是更高效且智能的語言。除了其簡潔(減少 40% 的代碼行數(shù))、安全、簡單的特性外,Kotlin 還可以方便的與現(xiàn)有的 Java 代碼相互調用,也可以與 JavaScript 互操作,非常易于上手。 目前已有大量的安卓開發(fā)者在使用 Kotlin 做為開發(fā)語言。 相信很多人都會問:為什么Kotlin可以加入Android家族?它和java相比,在語法,可用性,UI性能和異步性方面雙方孰好孰壞?接下來咱家就為您探討探討 Kotlin VS Java 語法簡單不啰嗦 Kotlin的一個主要優(yōu)點是它的簡潔。 你用更少的代碼獲得更多的功能。 ① Kotlin 支持類型推斷,沒有 Java 那樣的啰嗦。 ② 用 var 表示變量,val 表示常量更加的簡潔 ③ 方法也很簡單,連 function 都縮寫成了 fun ④ 類的繼承和實現(xiàn)很簡單,使用:即可 ⑤ Kotlin 每個句子都不需要加分號 (;) 避免空指針異常 在許多編程語言中最大的痛苦 - 空指針異常。 但是使用Kotlin,這個問題得到了很好的解決 ① 在類型上的處理,即在類型后面加上?,即表示這個變量或參數(shù)以及返回值可以為 null,否則不允許為變量參數(shù)賦值為 null 或者返回 null ② 對于一個可能是 null 的變量或者參數(shù),在調用對象方法或者屬性之前,需要加上?,否則編譯無法通過。 支持方法拓展 Kotlin有一個聰明的解決方案 - 擴展功能 ,幫助你擺脫所有的util類一勞永逸。擴展函數(shù)幾乎是一個通常的Kotlin函數(shù)。 但是當你聲明它,你需要指定的實例將具有擴展功能的類。 注意:Kotlin 的方法擴展并不是真正修改了對應的類文件,而是在編譯器和 IDE 方面做得處理。使我們看起來像是擴展了方法。 高階函數(shù), 函數(shù)式編程支持 所謂的高階函數(shù)就是:可以接受函數(shù)作為參數(shù),也可以返回函數(shù)作為結果。 Kotlin 支持了 Streams API 和方法引用,這樣函數(shù)式編程更加方便。比如下面的代碼就是我們結合 Jsoup,來抓取某個 proxy 網(wǎng)站的數(shù)據(jù),代碼更加簡單,實現(xiàn)起來也快速。 關于性能 Kotlin 的執(zhí)行效率和 Java 代碼的執(zhí)行效率理論上一致的。有時候 Kotlin 可能會顯得高一些。比如 Kotlin 提供了方法的 inline 設置,可以設置某些高頻方法進行 inline 操作,減少了運行時的進棧出棧和保存狀態(tài)的開銷。 與Java互操作 Kotlin 在設計時就考慮了 Java 互操作性??梢詮?Kotlin 中自然地調用現(xiàn)存的 Java 代碼,并且在 Java 代碼中也可以 很順利地調用 Kotlin 代碼。 總結 Kotlin的特性有很多,總的來說, Kotlin這門語言簡化了Java , 完全是從一個是實用派的角度,而不是學院派的角度。 相比于JRuby , Jython這些一移植到JVM上的語言, Kotlin 和Java 和互操作感覺更加自然。 每個語言的流行都需要一個引爆點,就像Ruby on Rails 引爆了Ruby 一樣, Android 也許就是之前不那么流行的Kotlin的引爆點。 最后附上Kotlin學習資源: 1.kotlin官方中文翻譯文檔網(wǎng)址: https://www./docs/reference/ 2.Kotlin官網(wǎng) http:/// 3.kotlin中文官網(wǎng) https://www./ 4.kotlin的gitbook網(wǎng)址 https://www./book/hltj/kotlin-reference-chinese/details
●本文編號397,以后想閱讀這篇文章直接輸入397即可。 ●輸入m獲取文章目錄 安卓開發(fā) 更多推薦《15個技術類公眾微信》 涵蓋:程序人生、算法與數(shù)據(jù)結構、黑客技術與網(wǎng)絡安全、大數(shù)據(jù)技術、前端開發(fā)、Java、Python、Web開發(fā)、安卓開發(fā)、iOS開發(fā)、C/C++、.NET、Linux、數(shù)據(jù)庫、運維等。 |
|
|
來自: 西北望msm66g9f > 《文件夾1》