爲什麼現在才學Kotlin
在學習Kotlin之前,
有人問我:(他是Kotlin的擁護者,所在的公司也在使用Kotlin)
你瞭解Kotlin嗎?
爲什麼Kotlin有那麼多優勢,你不用呢?
我回答:
其實,在Google採納Kotlin之後,我就學習了一遍Kotlin。
但,Kotlin即便被Google採納作爲官方語言,即便有那麼多的App採用了Kotlin,我依舊不急着採用Kotlin作爲編碼語言。
我認爲,語言是需要進化的,Kotlin被採納後,會迎來一定的關注度,更新速度相信會提升。
學習 新語言,需要時間成本,需要一個契機;
所以,不要急着衝進去體驗,做技術的先驅。
放眼全世界,有幾家公司是因爲開創了某技術,而發家的;倒是失敗了很多,比如,中國的互聯網先驅 瀛海威,先驅很多時候是霧裏看花,摸着前進。
我想現在時機成熟了。時間是檢驗語言最好的工具。
時機到了,Kotlin現在已經更新至1.3,在2017年被google採納已有2年。國內App已有趨勢。
前言
後續的講解,將以1.3版本進行講解。
Kotlin被描述爲Android的swift。
- 創建一種兼容 Java的語言
- 編譯速度至少同 Java 一樣快
- 比 Java 更安全
- 比 Java 更簡潔
- 比最成熟的競爭者Scala 還簡單
怎麼學呢
大部分的文章給出了問題,帶着問題前進更好。
圍繞 What(是什麼)、How(怎麼用)、Difference(與java的區別)、Intent(意圖是什麼)四個方面來闡述。
其實學習的渠道很多,kotlincn、runnoob,站在一個初學者的角度,我採用了 runnoob學一遍,自己寫一遍,kotlincn再學一遍,糾正錯誤的方式。
學習 -》記錄 -》覆盤
當然,筆者已經整理了一些核心問題,帶着問題去學習 -》練習(在線練習)
產物:Kotlin整理後的Xmind(更新在 github上)
[技能檢驗]
[基礎篇]
Kotlin入門-萬物皆對象,基礎類型
Kotlin入門-被拆分了實例化,類與構造函數篇
Kotlin入門-label升級循環控制的自由跳動
Kotlin入門-更靈活的條件控制
Kotlin入門-被簡化的 枚舉類(與java的差異)
Kotlin入門-數據類與密封類 的解脫,由繁至簡
Kotlin入門-必會,接口
Kotlin入門-必會,屬性篇
Kotlin入門-父子身份更分明,繼承篇
Kotlin入門-程序員的福利,擴展篇
Kotlin入門-解決8個問題,就解決了 委託
Kotlin入門-嗯,我有別名,什麼名稱都變短
Kotlin入門-帶着問題,理解 對象表達式和對象聲明
Kotlin入門-似曾相識的泛型
[進階理解]
5招鮮-Kotlin這樣處理NPE
Kotlin-多變的類型_檢測與轉換
Kotlin進階-註解(與java有點變化)
Kotlin-反射看這篇就夠了
kotlin-let,run,with,apply,also作用域函數詳解
[其他篇]
Kotlin入門-與java的差異【入門級】
Kotlin入門-沒有分號是個有趣的事情
Kotlin-集合
Kotlin-講解 實驗性API
Kotlin-this略有不同