前言
16年,Kotlin官方正式推出該語言第一版,17年,Google倡導開發者使用其作爲Android開發的基本語言。三年過去了,作爲Android開發者的我們,大部分還是維持着Java開發。但是,當前的形勢容不得開發者們再怠慢,猶豫,就會敗北。
一、 爲什麼是Kotlin
這還得從一場官司說起。
我們知道,JDK早先分爲Oracle公司的OracleJDK 和Sun公司的OpenJDK,前者幾乎全部開源,注意是“幾乎”,而後者完全開源,前者存在極少數Java代碼爲Oracle公司商業私有,按照協議,使用者不可用於盈利,這也是爲什麼早先在日常工作開發中,要求我們使用OpenJDK,避免公司被律師函警告。
後來財大氣粗的Oracle花了74億美元收購了Sun,有錢真的可以爲所欲爲啊。
Google的Android使用Java作爲基本開發語言,按照要求,JDK開發的程序需要運行在JVM上,但是,Android中使用的是魔改版JVM——Dalvik虛擬機。不僅如此,Google雖然聲稱Android開源免費(AOSP),但是自己通過Android賺了幾百億廣告費。
忍一時越想越氣,退一步越想越虧,Oracle看見Google發了財,心想自己下血本收購Sun,怎麼能讓你鑽空子,於是律師函警告,向Google索賠88億美金。
Google發現情況不妙,於是時隔幾年宣佈我們要使用備胎——Kotlin。但是,仔細推敲一下這背後的利益關係:Google官方建議Android開發者使用Android Studio,AS本質上是基於IntelliJ IDEA套了層殼,IDEA是JetBrains公司的產品,Kotlin由JetBrains俄羅斯團隊開發誕生。因此我們可以大膽猜測:Google跟JetBrains合作,商討開發一套全新的編程語言,以代替Java,作爲Android開發的首選語言,並逐漸替換掉Java,避免今後因爲商業盈利又被控告。
二、 Kotlin有哪些特點
作爲一門新的編程語言,其誕生結合了多種已有的語言的優點,對於熟悉前端的開發者而言,很明顯地能看到腳本語言JavaScript的影子。
- 語法上,Kotlin和Java互不兼容,但是二者可以混合編譯,即Kotlin目前仍是基於JVM運行,也可相互調用,即互操作性。
- 簡化一些基本數據類型,甚至可以省略基本類型的關鍵字,由編譯器自動識別,即類型推斷。
- 廣泛使用函數式編程。
- 解決了Java代碼臃腫的問題,開發者儘可能關注於業務本身。
其餘特點待開發者學習時自行感受,此處不再贅述。
三、 Kotlin VS Java
四、 新手上路
- 學習 Kotlin
- 使用 Kotlin 開發 Android 應用
- 另外建議無函數式編程經驗的初學者先掌握Java下的函數式編程:Java函數式編程