當談到 Android 應用程式開發時,哪種程式語言會首先出現在你的腦海呢?我猜你會立刻想到 Java,畢竟大多數的 Android 應用程式都是用 Java開發的。
推薦教學:Java教學。
但自從在兩年前的Google I/O 大會推出 Kotlin 以來,如今的 Kotlin 也在 Android 應用程式開發領域中佔據一席之地。
Kotlin 是什麼呢?它的前景到底如何呢?
Kotlin
Kotlin 是靜態類型的開源程式語言,可以有效地運行在 Java虛擬機器(JVM)上。 Kotlin 由 JetBrains 開發,並得到Google的強力支持。
在最近的 Jexenter 調查中,Kotlin 在最熱門的技術發展趨勢榜上位居第六位。 App brain 最新的統計數據顯示,Kotlin 語言在 2018 年的頂級應用程式中佔據了25.30%的市場份額,佔新應用程式安裝量的40.76%。如今Pivotal、Atlassian、Pinterest、Evernote 和 Uber 等商業巨頭都在使用 Kotlin進行 Android 應用程式開發。
Kotlin 的優點
1. 效率極高
Kotlin 語法簡潔直觀,編寫和部署程式所需的程式碼量更少,時間也更短,大大提高了開發團隊的開發效率。因此,開發者可以快速開發出 Android 應用程式。
2. 能夠呼叫 Java 程式碼
該功能不僅讓開發者受益,對於擁有大量 Java 程式碼庫的公司來說也是利好。
3. 易於維護
Kotlin 得到多種 IDE 的強大支撐,例如 Android studio 等,這方便了開發者對程式碼的維護。
4. 可靠
最新版的 Kotlin 相容之前所有舊版本,這解決了 Android 開發人員最大的痛點:需要處理多個版本。
5. 簡單易學
由於它不需要依賴太多行動應用程式開發的背景知識,開發者可以更輕鬆地上手學習 Kotlin。
6. Android Studio 支援
Android Studio 提供多種擴充工具的強大支持,開發人員可以同時使用這兩種語言。
Kotlin 的缺點
1. 編譯速度緩慢
很多開發者都提到Kotlin 程式碼編譯速度的飄忽不定,有時候它編譯得很快,有時候又很慢。
2. 社群支持有限
Kotlin 開發者社群規模比較小,因此提供的學習資源有限,開發者將面臨許多疑問無法解答的局面。
3. 開發人員稀缺
Kotlin 的開發人員數量比較少,因此用 Kotlin 開發的熱門 Android 應用程式數量有限。
Java
Java 被認為是開發應用程式最好的程式語言之一,2018年12月的TIOBE 指數顯示Java 在程式語言排行榜中位居第一。
Java 相比Kotlin 的優勢
1. 可移植性
Java 幾乎可以在任何系統上運行,因此Java 寫出大部分Android 應用程式。
2. 龐大的社區
借助 GitHub 和 Stack Overflow 等大型技術社區,開發人員差不多可以從中獲得所有關於 Java 程式碼問題的解決方案。
3. 跨平台
Java 不僅限於 Android 應用程式開發,也支援跨平台應用程式開發。
4. 豐富的資源
Android 開發者可以藉助 Java 豐富的函式庫和 SDK 來提升自己的開發效率。
Java 的短板
1. 運行速度緩慢
與其他語言相比,Java 運行需要更多的記憶體和速度要慢得多。
2. 笨重
和其他語言相比,如果要實現相同的功能,Java 所需的程式碼量更多。這不僅耗費更多的開發時間,也更容易出現Bug。
為什麼需要kotlin?
空白類型安全性
Lambda表達式
#擴充方法
類型推導
可勝任java能做的所有事,還要更難
沒有分號! ! ! !
媽媽在也不用擔心我的NullPointerExpection了,因為一般情況下,如果你專案有空指針,是在運行後報錯,而用了kotlin,編譯直接會不通過,不過缺少了NullPointerExpection,編碼是不是少了很多樂趣呢? Lambda表達式不知道是啥?我也不知道! ! !不過有了Kotlin你就不要擔心你不會Lambda了,當時我是因為看不懂所以放棄的,但是在Kotlin裡面,你要是看不懂,來和我講,看我不打死你! !哼~~~
Androidstudio 3.0自動適應了Kotlin,當然現在你可以裝插件,或者直接用IntellJ也好,這個我們後面在說,我們可以把我們項目的所有的java文件直接轉化成Kotlin文件,最後Kotlin有一個優勢,沒有分號! !沒有分號! !沒有分號! !重要的事說三遍,在也不用擔心括號太多,分號往哪添的問題了~~~
Java 與Kotlin 對比
Java |
Kotlin |
#靜態成員 |
字串範本 |
非類別的原始型別 |
|
非私有域 |
通配符類型
#擴充函數
###########檢查異常######智能Casts#########################總結:###########kotlin實質是Java的另一種表現型態,照目前的發展情況是跟著Java的旗幟走,未來幾年應該會混著用比較多,但是取代不了###以上是kotlin能取代java嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!