網易雲音樂的 Kotlin 樂章 | Android 開發者故事

https://www.bilibili.com/vide...併發

"音樂是靈魂之間的美好交流,是帶着情緒的藝術品。網易雲音樂要作的,就是幫助用戶發現和分享好音樂,用音樂鏈接用戶和音樂人,讓用戶去感覺音樂人想表達的情緒,讓更多的人用音樂取暖、發光、得到力量。"

—— 郭元,網易雲音樂產品經理異步

網易雲音樂是網易旗下一款專一於發現和分享的音樂產品,依託專業音樂人、DJ、好友推薦及社區功能,爲用戶打造全新的音樂生活。目前,網易雲音樂用戶數已超過 8 億,曲庫數超 4,000 萬 (近期更新數據),入駐原創音樂人超 20 萬,是中國最活躍的音樂社區和中國最大的原創音樂平臺。ide

△ 用網易雲音樂和好友分享音樂

△ 用網易雲音樂和好友分享音樂學習

Android 客戶端開發團隊 2019 年 8 月引入 Kotlin 以後,很快就發現學習 Kotlin 是一件比較輕鬆的事情: 剛開始的一段時間,常常能夠在團隊成員的週報中看到對 Kotlin 特性的討論,團隊中也不時會有同事撰寫 Kotlin 的學習總結文章併發出來分享。你們基本均可以很快上手開發。並且經過 Kotlin 官方網站、Github 上 Kotlin 項目中的文檔,以及 Android Studio 提供的將 Kotlin 代碼反編譯爲 Java 代碼的功能,均可以幫助團隊成員們更加深刻地瞭解 Kotlin 語言。網站

"Kotlin 做爲 Android 開發的新語言新技術,集成了不少其它語言中的先進設計思想。與 Java 代碼兼容和互相調用的特性,也極大地減小了咱們在內部推廣 Kotlin 的阻力。"

—— 賈斌,網易雲音樂資深 Android 開發工程師spa

目前在網易雲音樂的 Android 工程中,Kotlin 文件比例大約佔 23%,並且新增的功能大部分都是使用 Kotlin 進行編寫。團隊也同時引入了 KTX 和協程等庫來提升開發效率,讓工程師更專一於功能自己的實現。線程

使用 Kotlin 帶來的第一個直觀好處是簡潔。團隊本身有作過統計:設計

"相比 Java 平均每一個文件有 138 行代碼,Kotlin 平均每一個文件只有 82 行代碼,代碼量平均減小了 40%,使用 Kotlin 要更加簡潔、高效。"

—— 展智泉,網易雲音樂高級 Android 開發工程師, 網易雲音樂 Kotlin 佈道者協程

Kotlin 協程提供了很是方便的線程切換功能,並且經過引入結構化併發機制,使得對異步任務的追蹤和取消變得很是簡單。協程還能夠與 ViewModel 結合使用,利用 viewModelScope,可讓異步任務和 ViewModel 的生命週期保持一致,有助於防止泄漏。blog

△ 頗受歡迎的 Kotlin 協程

△ 頗受歡迎的 Kotlin 協程

團隊統計到的線上崩潰中出現的 NPE 幾乎全都發生在 Java 代碼中,在 Kotlin 代碼中出現的則很是少。

更簡潔、更高效、更穩定、更輕鬆,這就是網易雲音樂的 Kotlin 樂章。用戶們在這個音樂平臺上找到驚喜,而開發者則在新技術的推進下找到了持續探索的新方向。

您的做品中有多少用到了 Kotlin 呢?歡迎在下方評論區和你們分享。

相關文章
相關標籤/搜索