1995 年 5 月 23 日,Sun 公司在 Sun world 會議上正式宣布了 Java 的到來,從此一代編程語言界的翹楚就此誕生。而在不斷地迭代與適配中,今時今日,Java以需要滿足各個層面開發者的需求與橫掃各大編程語言榜單的成績給了 24 歲的自己一張值得驕傲且滿意的答卷。不過與此同時,我們也發現正值本命年之際的 Java,在未來的一段時間內,或將迎來一次大考。
雖然在過去的一些年中,常青藤 Java 一直在被如 C++、C#、Erlang、Python 等其他編程語言挑戰,但最終結果均不一而終。不過,近兩年間,一門新崛起的多用途編程語言——Kotlin,在硅谷科技巨頭之一的 Google 扶持下,開始逐漸蠶食 Java 的應用市場。目前來看,Kotlin 對 Java 雖構不成致命的威脅,但是當未來 Google 的 Kotlin-first 政策完全落實之后,再加上 Oracle 對 Java 放任的態度,一切將變得難以輕易下定論。
而除卻以上外界因素,就 Kotlin 本身而言,其是否有抗衡 Java 的潛力?接下來,我們將從近日 Kotlin 的開發商 JetBrains 最新發布的一份《Kotlin Census 2018》的報告中尋找到答案。
注:該報告基于全球 4300名開發者(不局限于 Kotlin 用戶)。
適用于多平臺應用的 Kotlin 編程語言
何為 Kotlin?
Kotlin 是一門靜態編程語言,可用于開發幾乎所有類型的應用程序,包括服務器端、桌面、移動甚至嵌入式。由 JetBrains 設計和開發,一直以來,Kotlin 獲得了科技巨頭和開發商們的大力支持。
2016 年 Kotlin 1.0 發布;
2017 年,Google 在 I/O 大會上宣布 Kotlin 成為 Android 開發的官方語言;
2018年,Kotlin 擁有 150 萬+ 用戶,并在 GitHub 上擁有超過 96,000 個存儲庫;
2019 年,Google 于 I/O 大會上再次宣布 Google 當前采取的下一個重大步驟是 Kotlin-first,Android 開發將越來越多地以 Kotlin 為主。
那么當前大環境下,有多少開發者在使用 Kotlin?Kotlin 的真實應用現狀又如何?接下來,我們與大家詳細分享。
Kotlin 的商用還處于起始階段
根據調查顯示,有超過一半的受訪者表示,他們在生產代碼中使用了 Kotlin 語言,而這一使用數據相較于去年,也有所增長。當下如 Gradle、Pinterest、Atlassian、Pivotal 以及更多公司和項目在開發中使用了 Kotlin 語言。
不過,有 13 % 的開發者稱,雖當前正在使用 Kotlin,但尚未發布項目。
2018 vs 2017 Kotlin 應用現狀
而基于以上數據,我們也不禁好奇,相較于 Java,Kotlin 還存在哪些挑戰?又是什么阻礙了開發者上手 Kotlin?
對此,JetBrains 列出了幾個主要觀點:
開發者對 Kotlin 技術知識的缺乏;
市場對于該語言的采用率低;
開發者并不想學習新的語言;
Kotlin 并沒有價值;
生態系統薄弱;
......
據以下的數據統計結果,我們發現,阻礙開發者學習 Kotlin 最大的因素源于不少人認為自己缺乏 Kotlin 相關的技術知識,且這一數據占比高達 55%。其次,有 18% 的受訪者表示 Kotlin語言的采用率低。
在此,針對在上手過程中缺乏專業技術知識的開發者,JetBrains 也分享了一份資源匯總,希望對大家有所幫助:
Kotlin 官網:https://kotlinlang.org/docs/reference/
Coursera 上的Kotlin for Java Developers 視頻課程 :https://www.coursera.org/learn/kotlin-for-java-developers
Atomic Kotlin 的書和相關的學習資源:https://www.atomickotlin.com/atomickotlin/
Kotlin Playground 可以探索 Kotlin:https://play.kotlinlang.org/
JetBrains 的 Kotlin Edu,免費工具,用于學習,教授和練習編程:https://www.jetbrains.com/education/
另外,從 Kotlin 的使用來看,距離 Kotlin 1.0 版本至今已有 3 年的發展歷程,但事實上,讓Kotlin 大火起來還是源于 Google 對其的支持。因此對于 Kotlin 使用的年限,根據報告顯示,大多數的開發者還處于 1-2 年之間,這也屬于意料之中。
不過在未來,越來越多的開發者會擁有更加豐富的Kotlin 開發經驗。且如果他們使用 Kotlin 超過一年,看起來他們通常會堅持下去。
Kotlin 支持的平臺有哪些?
Kotlin 最重要的目標之一是在多平臺上共享代碼,當前主要有四種支持環境可以幫助開發者簡化編碼過程,并為跨平臺開發提供更多機會。Kotlin 主要支持 JVM、JavaScript、Android 和 Native。這使得該語言可開發所有類型的應用程序并在流行的操作系統(如 iOS,macOS,Windows 和 Linux)上運行它們的絕佳代碼。
Kotlin 最常被用于哪些平臺中?
Kotlin 最受歡迎的用途是在 JVM 中,占比高達 67%,而在 Android 環境中,Kotlin 以 57% 的使用率排在第二位。
哪種 JDK 版本,開發者最常用?
在這一問題中,一直以來,Java 的長期支持版本都極具優勢。這不在此次調查中,有84% 的 Kotlin 用戶選擇了 JDK 8。而第二個最受歡迎的版本是JDK 11,占 27%;與此同時,JDK 9 和 10 使用率均為 8%。
是否使用 Java 模塊?
在對以 Kotlin 開發者為主的調查中,我們發現有 70% 的開發者表示不會使用 Java 模塊,僅有 18% 的受訪者稱在日常的開發中會用到 Java 模塊。
常用的 Android 版本?
在以下的調查結果中,有 82% 的開發者表示使用的是 Android 8.0 Oreo 版本;其次有 78% 的受訪者表示最常用 Android 7.0 版本,而對于最新的 Android 9.0,其使用率與 Android 6.0 相同,均為 75%。
從中我們也可以看出一個問題,即當前大環境下,Android 的碎片化依舊很嚴重。
在哪里運行從 Kotlin 編譯的 JavaScript 代碼?
有 88% 的開發者表示基于瀏覽器的方式。
常用的開發平臺/操作系統?
相比 2017 年有 48% 的開發者基于 Android 平臺來使用 Kotlin 語言,2018 年,66% 的受訪者表示最常用 Android 平臺。其次,Linux 為第二選擇。
整體而言,越來越多的開發者在基于Kotlin 進行跨平臺開發。
基于 Kotlin 開發的 App 類型有哪些?
據報告顯示,25% 的用戶正在使用 Kotlin 開發 2 種類型的 App。
15% 開發了 3 種類型的 App,但大多數開發者仍然只在一種類型的 App 中使用 Kotlin。
Kotlin 開發了哪些類型的應用程序?
在移動互聯網時代,無論是 Java 還是 Kotlin,大多數會被用于移動應用開發。在本次調查中,有 58% 的受訪者表示,他們正在使用Kotlin 開發移動應用,48% 的開發者稱用其開發 Web 后端。此外,Kotlin 還被用于庫和框架、桌面、工具、Web 前端、游戲開發、數據分析、IoT、機器學習以及嵌入式等場景中。
Kotlin 的跨平臺實踐
在 Kotlin 1.2 版本中,首次引入了多平臺項目特性,可通過多平臺項目支持 JVM 和 JavaScript 平臺的代碼共享,隨后在Kotlin 1.3 版本中,JetBrains 的開發團隊對其進行了大幅改進。彼時它包含了一組特定的庫,可幫助開發者編寫多平臺代碼。
作為 Kotlin 開發者,你是否在 Kotlin 中使用多平臺項目(MPP)功能?
對于這一新功能,有 89% 的受訪者表示并未用過,僅有 11% 的開發者稱使用過。
主要會針對哪個平臺使用 MPP 功能?
基于以上使用了 MPP 功能的開發者,大多數會應用于 JVM 平臺,其次分別是 Android、JavaScript 和 iOS。
MPP 用戶所開發的 App 類型
整體而言,依舊是移動領域使用 MPP 最為廣泛。其次為 Web 后端,占比 56%。
在跨平臺開發過程中,主要共享哪部分的代碼?
“Write once,run anywhere”應該是每位開發者在開發過程中最為期待的一件事。根據調查報告顯示,Kotlin 開發者在跨平臺開發過程中最常共享的代碼為算法和數據架構部分,而這一部分相對而言,也比較復雜。
隨后 JetBrains 也對尚未使用 MPP 功能的開發者進行了深入的調查,其中,有 41% 的受訪者希望可以實現算法和數據結構的代碼共享,32% 的人表示希望數據格式能實現共享。
Kotlin 工具的選型
均出自 JetBrains 之手的 Kotlin 語言和 IntelliJ IDEA,這兩者的匹配應用應該不足為奇。
而 Android Studio 又是 Google 基于IntelliJ IDEA平臺而開發的 Android 開發工具,其為移動開發提供了出色的用戶體驗。
根據調查顯示,有 44% 的受訪者稱正在使用 Android Studio,其次,有 37% 的開發者使用IntelliJ IDEA Ultimate 版本。
使用哪種 IDE 進行 Kotlin 開發?
對于 Kotlin 開發者,基于不同的環境開發,所使用的 IDE 均有所不同。就 JVM 平臺而言,開發者最喜歡使用IntelliJ IDEA Ultimate 版本;
在 Android 平臺下,則有 76% 的受訪者使用 Android Studio。除此之外,在 JS 和 Native 下,開發者最常用的 IDE 均為IntelliJ IDEA Ultimate。
最常用的構建工具
無論是哪個平臺或環境,對于開發者而言,其最常用的工具均為 Gradle,整體占比高達 86%。
庫和框架
最常用的 Kotlin 庫和框架有哪些?
根據調查發現,自 2017 年以來, Kotlin 庫的使用率幾乎翻了一番,而且最常用的庫也繼續受歡迎。其中,開發者最常使用的 Kotlin 庫或者框架為 kotlinx.coroutines。其次,令人詫異的是,有 26% 的開發者沒有使用過任何的 Kotlin 庫和框架。
Kotlin 的生態發展
在此次的調查中,Java 仍是最受歡迎的編程語言,占比高達 42%,不過相比去年,這一數據有所下降。而其中,Kotlin 的發展與其相反,當前有 39% 的受訪者稱 Kotlin 為其主要的編程語言。
而其公司的規模主要為 51-500 人的區間。
簡而言之,當前的 Kotlin 正被各種規模的企業以及組織使用。
Kotlin 的前景
最后,對于 Kotlin 的發展前景,根據調查顯示,Kotlin 在處理數據方面似乎更有前途。有 64% 的開發者表示,正在使用 Kotlin 來進行機器學習、數據分析、BI 等場景中。
-
Google
+關注
關注
5文章
1772瀏覽量
57833 -
編程語言
+關注
關注
10文章
1951瀏覽量
35018 -
kotlin
+關注
關注
0文章
60瀏覽量
4219
原文標題:Java 24歲!Google加持的Kotlin真能取代它?
文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論