天天看點

Kotlin,竟然這麼香!|極客時間

自 2017 年 Kotlin 被 Google 認證為 Android 開發官方程式設計語言後,最常提及的一個問題:是否應該學習 Kotlin 進行 Android 開發?相比傳統 Java 語言有什麼優勢?

如今答案十厘清晰了 —— 這幾年,Google 大力發展基于 Kotlin 的 Androidx 庫、Jetpack 庫、Compose 庫,很多新特性都是為 Kotlin 優化的。可以說,不懂 kotlin,今後在 Android 開發領域标準庫的發展上将很受阻礙,Android 開發由 Java 轉 Kotlin 早已勢不可擋。

相比起 Java 語言,Kotlin 的優勢确實非常明顯:

第一,極高的生産效率。Kotlin 是一種跨平台的靜态類型語言,具有現代簡潔的文法,關鍵特性包括 null 安全性、協程、資料類型、擴充函數等;這讓開發者會用得很爽:前期開發效率更高,中期線上問題更少,後期代碼更容易維護。而這正是 Java 做不到的。

第二,強大的相容性。Kotlin 可以與 Java 混合程式設計(說實話,這點影響很大),我們能夠以漸進的方式将項目工程從 Java 遷移到 Kotlin,而不必擔心是不是要一次性重寫很多代碼,進而産生新的問題。

第三,用 Kotlin 編寫代碼比 Java 更友好、更快捷。Kotlin 吸收了衆多程式設計語言的精髓,它的文法不像 Java 那麼複雜,而且允許開發者在不使用備援類的情況下定義函數和靜态對象,這會讓代碼更容易閱讀和調試。

為此,各個大廠的 Android 部門都在積極轉型,目前市面上主流的 App 和庫,大都是使用 Kotlin 語言開發的,在 Play Store 的前 1000 個應用程式中有 80% 以上使用 Kotlin。

随便打開一個招聘網站,看看大廠的 Android 招聘需求,基本都有“要求熟悉 Kotlin”或“熟悉 Kotlin 語言者優先”,而且薪資總體上也略高一籌(相比之下,Java 開發的用人成本在 Kotlin 的招聘方那裡是可以接受的,畢竟市面上實在有太多 Java 程式員,可以根據項目需求在招聘中讨價還價)。

Kotlin,竟然這麼香!|極客時間

當然,有的公司目前還是把 Kotlin 當做加分項。但不得不說,同等條件下,會 Kotlin 的候選人勝率更大。

高效掌握 Kotlin 的方法

Kotlin 是門典型的易學難精的語言:文法簡潔,極容易入門,但又擁有許多的新特性,不容易掌;即使掌握了 Kotlin 的文法,想要寫出優雅的代碼,也不容易,更别提 Kotlin 特性的應用場景、底層實作原理了。

大部分的學習路徑可能是這樣的

當然,有 Java 基礎可能會更容易些,但它本身是助力,也是阻力,畢竟兩種語言在不變性思維、空安全思維、表達式思維、函數思維、協程思維等撰寫代碼的思維方式上,都不一樣。

尤其是Kotlin 協程,全是一堆新概念:協程、作用域、上下文、launch、async、Channel、Flow、異常處理... 讓人毫無頭緒。

我當初啃協程時,也是一邊研究協程源碼、一邊在工作中實踐,踩着坑磕磕絆絆的學,找到靠譜的資料非常不容易(市面上太多花把勢,能實打實講透、提升學習者能力的少之又少)。

看過不少資料,從體系化層面,我推薦圈裡的大佬朱濤,他最近出了個專欄《朱濤 · Kotlin 程式設計第一課》。迫不及待地分享其中一張學習圖譜

Kotlin,竟然這麼香!|極客時間

朱濤有多牛,一會下面詳細介紹,但這個專欄,應該是你離頂尖技術人的思維過程最近的一次了,剛上線,看了更新的幾篇,非常驚豔,不說教、不枯燥,配合動圖展示,零基礎也能拿下。一句話概括就是:基礎 + 實戰 + 源碼,手把手帶你吃透 Kotlin 文法與協程。

整個專欄對比 Kotlin 和 Java 文法的差異,結合案例詳解 Kotlin 新特性的使用場景。順便帶你一起來用 Kotlin 寫一個簡單的 Android App。據說後期還有不定期的加餐,分享 Kotlin 在各個領域的最新實踐,進一步擴充你的 Kotlin 知識面。

現在僅需 89,立省 40,購買後永久有效,推薦給你。若你是新使用者,交個朋友,來 59拿去。

掃碼免費試讀

早鳥 + 密碼「kotlin666」

到手僅 89,原價 ¥129

網上一抓一大把,為什麼推薦這門課?

建議你再看一眼作者,那可是朱濤啊。

朱濤是國内第一批探索 Kotlin 的 Android 開發者,部落格《Kotlin Jetpack 實戰》的作者,Google 認證的“谷歌開發者專家” (Android & Kotlin GDE)。此認證專家現在全球有 27 位,但在中國隻有 2 位。

像朱濤這樣的大佬能把自己多年經驗毫無保留分享出來,讓普通人可以接觸并學習到,真的是多少錢都買不來的。

好學嗎?會不會是“教做人”和“催眠課”?

好學。

我很佩服朱濤的一點,就是能把“枯燥的内容講得生動有趣”,用動圖的形式,力求簡單易懂,比如,為了讓你了解 Kotlin 的擴充函數的使用場景,老朱精心制作了普通函數與擴充函數的轉換動畫:

Kotlin,竟然這麼香!|極客時間

一套獨創的協程思維模型

協程一直都是 Kotlin 學習的難點,老朱獨創的模型展示了協程、線程與程序之間的關系,幫你在大腦裡建立一個清晰、具體的協程模型。

Kotlin,竟然這麼香!|極客時間

深入剖析協程挂起函數

為了讓你看到協程代碼背後挂起與恢複的細節,精心制作了這個視訊。

個人認為學習一門新技術最快的方式:就是幹,直接撸項目比看多少篇文章都靠譜些。而這門課裡設計了大量實戰項目,且融合朱濤獨創的協程思維模型,讓你能直覺地體驗 Kotlin 的魅力,并快速上手。

我順手把目錄也貼在這了

Kotlin,竟然這麼香!|極客時間

想入手《朱濤 · Kotlin 程式設計第一課》注意了,再強調一遍優惠,手慢無

到手僅 89,立省 ¥40

新同學到手 59

當然,推薦 Kotlin 并不代表 Java 不好,程式設計語言之于開發者,就好比兵器之于武将。我們隻是結合自己的實際需求,選擇最适合自己的兵器,盡可能做到事半功倍。

協程等“思想金條”被朱濤時刻埋在專欄裡的字裡行間,你需要反複讀、琢磨,才能獲得經驗值的增長。

繼續閱讀