自從 2011 年發佈以來,Kotlin 憑藉強大的功能在開發者中的歡迎程度與日俱增。且在一年前,Google 宣佈 Kotlin 正式成爲 Android 官方開發語言,由此引起了從 Java 遷移到 Kotlin 的一股熱潮,根據 StackOverflow 上超過 10 萬名受訪者的調查顯示,Kotlin 成爲第二大受歡迎的語言,第一名是 Mozilla 開發的系統編程語言 Rust 。編程
可是隨着技術的逐漸深刻,很多開發者也發出從 Java 到 Kotlin,再到 Java 的無奈感嘆,那麼 Kotlin 現狀究竟如何?後端
對此,國外一家名爲 Pusher 的公司在今年 1 月至 3 月期間基於 Kotlin 對世界範圍內的 2744 名 IT 人員進行了深刻地調查,並於昨日正式發佈了《The State of Kotlin 2018》報告,分享了現在 Kotlin 的使用狀況,以及生態系統的發展趨勢。安全
接下來,將爲你們一一介紹。數據結構
年輕的開發者更鐘愛 Kotlin編程語言
超過 70% 的受訪者是僱員,11% 是企業家和開發商。函數
他們主要從事技術工做,其次是金融、教育和數字代理。Kotlin 的應用領域中保險和政府最爲保守。工具
超過一半的受訪者表示其做爲開發人員工做的時間不到 5 年,2-5 年工做經驗的佔 33.9%,1-2 年的佔 15.2%。本報告受訪者的工做經驗比參加 StackOverflow 調查的開發者要少一些。然而,「開發者數量每 5 年翻一番」的傳統理念依舊存在,將來 Kotlin 的開發者只會愈來愈多。性能
企業中使用 Kotlin 的開發者人數差別較大,大約三分之一的人表示,他們公司裏 2-5 人使用 Kotlin 進行開發。這大體與開發 Android App 的團隊規模相匹配。學習
Kotlin 使用率迅猛增加,但不是開發者的首選語言網站
Kotlin 的增加率每一年都在翻倍,到了 2015 年,其使用量首次出現大幅飆升,從上一年的 1.4% 激增到 7.7%。對於增加的緣由,想必和同年間 Android 大神 Jake Wharton 發佈的文檔(https://docs.google.com/docum...)有關,該文檔旨在主張使用 Kotlin 進行開發,並建立了一些流行的 Android 開源庫。這就致使了不少的 Android 開發者效仿,並使用了 Kotlin 開始建立項目。
而 2017 年 5 月,Google 宣佈 Kotlin 正式支持 Android,由此看出,大量 Android 開發者開始使用 Kotlin,佔比達到了 46.8%。這其中不乏有因 Google 品牌吸引而投身於 Kotlin 開發的學生,據調查顯示,早期,Kotlin 主要由經驗豐富的專業開發者使用,現在大批年輕的開發者及學生開始涌入。
不過,目前 Java 仍佔主要地位,同時也有不少開發者使用其餘的編程語言,諸如 JavaScript、Python、Swift、C# 等等,所以大多數的開發者並無將 Kotlin 做爲其第一編程語言。
Kotlin 更多的是用於我的項目,而非企業項目
受訪者中,有超過 60% 的開發者正在工做項目中使用 Kotlin。相比之下,有三分之一的受訪學生將其用於工做和輔助項目。 也就是說,他們中有近一半的人表示打算在將來開始使用它。
據調查顯示,官方網站是 Kotlin 入門的首選資源,其次很多開發者經過 YouTube 和 Udemy 的課程、線上大會等方式進行學習。
Kotlin 更多的是被用於私人項目,而非工做項目中。
Android 是 Kotlin 的殺手級應用。當涉及到後端應用程序時,經驗豐富的開發者纔會使用 Kotlin,而新手和學生通常不會選擇。
最愛的特性
對於每位 Android 開發者來講,只要使用過 Java 的 NullPointerException 的特性都會喜歡上 Kotlin 的安全性能,其次分別是擴展函數、Java 的互操做性。有 77% 的受訪者表示,Kotlin 擴展功能每每使代碼更具可讀性,尤爲是在函數編程環境中或建立 DSL 時。
此外,超過 87% 的受訪者將現有的 Java 代碼轉換成 Kotlin 代碼。不過也有超過四分之一的開發者在將 Java 遷移到 Kotlin 以後因技術以及企業等緣由後悔了。其中技術緣由主要包括 Kotlin 的反射和生成代碼工具,以及如下等緣由:
跨平臺 Kotlin 正在復甦,但速度較爲緩慢。只有約四分之一的受訪者提到他們運用了一些跨平臺支持,大多數選擇 Kotlin / Native,其次是 KotlinJS。
對於 Kotlin 的一些新功能及特性,如協同程序(Coroutines)、KotlinC、DSL 等也只有少數的受訪者纔會使用,他們表示畢竟這些功能目前還不完善。
Kotlin 的將來
Kotlin 總體的發展速度仍是讓很多開發者爲之興奮。同時鑑於 JetBrains 和Google 的大力支持,以及開發者社區的熱捧,咱們也相信它會愈來愈流行。但現在主要的問題是,它在將來是否會成功地入主 Android 之外的應用?
現在 JetBrains 正在大肆推進 Kotlin 的多平臺應用,它是否會獲得你們的承認也仍未可知。可是想要它成爲 Web、iOS 以及後端開發者新的標準,想必也還須要數年的時間來擴展。根據調查報告顯示,越多越多的開發者邁出了 Kotlin 編程的第一步,也能夠在面向對象、函數、腳本之間穿梭。這就足以說明,Kotlin 正在滲入到整個開發的生態系統中。
閱讀更多
在這裏得到的不只僅是技術!