簡介
這系列文章以一個簡單 Demo 項目爲核心,每介紹一個知識點,都會將其應用到這個 Demo 裏,理論與實戰相結合。文章既包含入門內容,也涵蓋咱們團隊三年來 Kotlin Jetpack 開發的踩坑經驗,但願對你們有用。git
另外,最近有想換工做的小夥伴,能夠加我微信: GrabSky。github
第一部分:快速入門 Kotlin
若是你習慣經過實戰來學習,能夠直接從第二部分開始,遇到不明白的再回過頭看文檔或者 Google。面試
第二部分:實戰--用 Kotlin 重構 Demo App
這是我用 Java 寫的一個極其簡單的 MVC 架構 App,讓咱們一步步將其重構成 Kotlin 工程吧!編程
《使用 Kotlin DSL 重構 Gradle 腳本》
《使用 Kotlin 重構 Java 代碼》
《入門 Kotlin 高階函數》
《運用標準函數:let, apply, run, also 簡化邏輯》
《Kotlin Java 混編注意事項》
《入門 Kotlin Coroutines》
《Coroutines + Retrofit + Moshi 替代 Volley + Gson》
《Coroutines + Retrofit + Moshi 的那些「坑」》
《理解 Kotlin 泛型》
《架構演進:MVC --> MVP》
《「Convert Java file to Kotlin file」 的那些坑》
《這些 Kotlin 面試題,目前還沒人所有答對過》
第三部分:Kotlin Jetpack 下的架構演進
MVC,MVP,MVVM,MVI 等架構它們之間並無絕對的優劣,不一樣架構有不一樣的適用場景。微信
《使用 Navigation 重構 App 爲單 Activity 架構》
《Navigation 的那些「坑」》
《理解 LifeCycles》
《掌握 ViewModel + LiveData》
《ViewModel 的那些「坑」》
《掌握 Data Binding》
《Data Binding 的那些「坑」》
《使用 Room 進行數據持久化》
《架構演進:MVP --> MVVM》
《架構演進:MVVM --> MVVM & Clean》
《入門 Kotlin 函數式編程》
《Coroutines Flow》
《架構演進:MVVM vs MVI》
第四部分:精益求精
《錦上添花:內聯函數,內聯類》
《避開 Kotlin 的性能陷阱》
《如何寫出更優雅的 Kotlin 代碼》
《依賴注入:Dagger Hilt or Koin?》
《爲何 Android 開發須要 「單元測試」》
《單元測試如何落地?》
《關於 Kotlin 函數式編程的思考》
寫做本系列文章最初的目的實際上是:組內新人培訓,爲的是讓新人快速適應咱們這個 Kotlin + Jetpack + Coroutines + MVVM 的開發模式。不過新人遲遲招不到,我文章寫的也沒什麼動力,因此乾脆把文章整理一下分享出來得了(歡迎催更)。架構