標籤:func xcode script 串連 選擇 function 前端 nic io大會
蘋果用 swift 作為官方語言替代 object-c ; Google 剛開完io大會 也宣布 用 kotlin 作為官方語言 替代java。工具還是xcode ,android studio。
來自於著名的 IDE IntelliJ IDEA(Android Studio 基於此開發) 軟體開發公司 JetBrains(位於東歐捷克)起源來自 JetBrains 的聖彼得堡團隊,名稱取自聖彼得堡附近的一個小島 (Kotlin Island)。
介紹:
Kotlin 這是一種基於 JVM 的靜態類型程式設計語言,擁有實用與高效等特徵,由 JetBrains 開發。
Kotlin可以編譯成Java位元組碼,也可以編譯成JavaScript,方便在沒有JVM的裝置上運行。
JetBrains,作為目前廣受歡迎的Java IDE IntelliJ 的供應商,在 Apache 許可下已經開源其Kotlin 程式設計語言。
Kotlin已正式成為Android官方開發語言。
文法及特點:
類似ES6, 用類似java文法 和 前端技術文法 來開發。。。。
(React Native和Weex和ionic3 都是這樣混合開發)
Kotlin 支援類型推斷,沒有 Java 那樣的囉嗦。
另外用 var 表示變數,val 表示常量更加的簡潔
方法也很簡單,連 function 都縮寫成了 fun,平添了幾分雙關之意。
類的繼承和實現很簡單,使用:即可
Kotlin 每個句子都不需要加分號 (;)
在 Kotlin 中null 指標異常得到了很好的解決。
支援方法擴充 this
Lambda, 高階函數,Streams API, 函數式編程支援
所謂的高階函數就是:可以接受函數作為參數也可以返回函數作為結果
字串模板
與 Java 互動性好(Kotlin 和 Java 都屬於基於 JVM 的程式設計語言)
(Kotlin 和 Java 的互動性很好,可以說是無縫串連。這表現在:
Kotlin 可以自由的引用 Java 的代碼,反之亦然。
Kotlin 可以現有的全部的 Java 架構和庫
Java 檔案可以很輕鬆的藉助 IntelliJ 的外掛程式轉成 kotlin
Kotlin 應用廣泛:
Kotlin 對 Android 應用開發支援廣泛,諸多工具,比如 kotterknife(ButterKnife Kotlin 版),RxKotlin,Anko 等等,當然還有已經存在的很多 Java 的庫都是可以使用的。
除此之外,Kotlin 也可以編譯成 Javascript。最近使用 Kotlin 寫了一段抓取 proxy 的代碼,實現起來非常快捷。甚至比純 JavaScript 實現起來要快很多。)
效能:
Kotlin 的執行效率和 Java 代碼的執行效率理論上一致的。有時候 Kotlin 可能會顯得高一些,比如 Kotlin 提供了方法的 inline 設定,可以設定某些高頻方法進行 inline 操作,減少了運行時的進棧出棧和儲存狀態的開銷。
它簡潔的文法,彙集諸多特性,高效率實現等等,已經在國外風生水起,國外的 Pintereset, Square, Flipboard 等公司已經開始應用到生產中。
關於轉向 Kotlin:
是不是選擇了 Kotlin 就意味著放棄 Java 呢,冷靜下來想一想,其實並不 是那麼回事,因為 Kotlin 與 Java 文法太相近,以及在 Kotlin 中無時無 刻不在和 Java 相關的東西打交道,所以這點顧慮不是問題的。
例子:https://github.com/xiehui999/KotlinForAndroid項目結構:
Kotlin 語言作為Android新的官方語言