1 回答

TA貢獻(xiàn)1790條經(jīng)驗 獲得超9個贊
Kotlin的優(yōu)勢
因此,您可能需要考慮切換到設(shè)計為在JVM上運(yùn)行的許多現(xiàn)代編程語言之一。盡管編譯為Java字節(jié)碼的語言不乏,但有一些因素使Kotlin脫穎而出:
與Java的互換性
Kotlin作為Java的潛在替代品的最大優(yōu)勢之一是Java和Kotlin之間的互操作性水平 - 您甚至可以在同一個項目中并行存在Java和Kotlin代碼,并且所有內(nèi)容仍將完美編譯。下面,您可以看到由Java Activity和Kotlin Activity組成的項目示例。
事實上,一旦你的混合的Kotlin和Java項目被編譯,用戶將無法知道您的項目的哪些部分是用Java編寫的,哪些部分是用Kotlin編寫的。
由于Kotlin和Java類可以并行存在于同一個項目中,所以您可以開始使用Kotlin,而無需像Kotlin一樣將整個項目轉(zhuǎn)換為Kotlin,或者專門開始一個新項目,以便您可以在Kotlin嘗試您的手。
由于這種互操作性水平,如果您有一個您已經(jīng)開始工作的項目,您可以在該項目的一小部分中試用Kotlin,而不會影響其余的代碼庫。而且,如果您確定要繼續(xù)使用Kotlin,則可以將項目現(xiàn)有的Java代碼一次遷移到Kotlin一個文件,也可以將項目的舊Java代碼保持原樣,并且只能使用Kotlin來實現(xiàn)新的類和功能。
由于Kotlin可以與Java完全互操作,您還可以使用Kotlin項目中的大多數(shù)Java庫和框架,甚至依賴于注釋處理的高級框架。
簡單學(xué)習(xí)曲線
Kotlin旨在加強(qiáng)Java,而不是完全重寫,所以您在Java職業(yè)生涯中獲得和磨練的許多技能仍然適用于您的Kotlin項目。
Kotlin也被設(shè)計為Java開發(fā)人員有一個溫和的學(xué)習(xí)曲線。 Java開發(fā)人員應(yīng)該發(fā)現(xiàn),Kotlin的大部分語法都很熟悉;例如,用于在Kotlin中創(chuàng)建一個新類的代碼與Java非常相似:
1
class
MainActivity : AppCompatActivity() {
Kotlin也被設(shè)計為直觀易讀,所以即使你遇到一些截然不同的代碼,你仍然可以得到這個代碼的作用。
結(jié)合最好的功能和程序編程
目前有一些廣泛使用的編程范例,但是當(dāng)涉及到“哪種方法是最好的”的時候,沒有簡單的答案。每個編程范例都有自己的優(yōu)點和缺點,因此盡管功能編程有優(yōu)勢的場景不乏,但程序方法更有效的問題也很多。
那么為什么要在功能和程序之間選擇呢?像許多現(xiàn)代編程語言一樣,Kotlin旨在通過結(jié)合程序和功能編程的概念和元素,為您帶來最好的兩個世界。
一流的Android Studio支持
Kotlin是由JetBrains開發(fā)的,該公司是Android Studio所基于的IntelliJ-IDE的公司。那么,Android Studio對Kotlin有很好的支持并不奇怪。一旦您安裝了Kotlin插件,Android Studio就可以在您的項目中配置Kotlin,就像打開幾個菜單一樣簡單。
一旦您為Android Studio設(shè)置了Kotlin插件,您的IDE將無需理解,編譯和運(yùn)行Kotlin代碼。 Android Studio還為Kotlin提供調(diào)試,自動完成,代碼導(dǎo)航,單元測試和完全重構(gòu)支持。
一旦您的Android Studio項目配置為支持Kotlin,您甚至可以將整個Java源文件轉(zhuǎn)換為Kotlin文件,只需點擊幾下鼠標(biāo)。
更簡潔的代碼
如果比較產(chǎn)生相同結(jié)果的Java類和Kotlin類,則寫入Kotlin的類通常比使用Java編寫的一樣簡潔和緊湊。 而且每個開發(fā)者都知道,代碼減少意味著更少的錯誤!
有什么收獲?
沒有編程語言是完美的,所以雖然Kotlin有很多提供Android開發(fā)人員,但您需要注意一些缺點:
額外的運(yùn)行時大小
Kotlin標(biāo)準(zhǔn)庫和運(yùn)行時將增加您的.apk的大小。雖然這只相當(dāng)于大約800KB,如果您的應(yīng)用程序已經(jīng)在很大的一邊,那么額外的800KB可能會提示它在邊緣,并讓用戶在下載你的應(yīng)用程序之前思考兩次。
代碼的初始可讀性
雖然Kotlin的簡潔語法是語言最大的優(yōu)點之一,但是最初可能會發(fā)現(xiàn)一些Kotlin很難解讀,因為在這么少的代碼中有很多事情要做。 Java可能更冗長,但是上面的一切都是明確的,這意味著不熟悉的Java代碼比不熟悉的Kotlin更容易破譯。
另外,如果使用不當(dāng),Kotlin的操作員重載會導(dǎo)致難以閱讀的代碼。
缺乏官方支持
Kotlin可能在Android Studio中有很好的支持,但值得一提的是,Kotlin沒有得到Google的正式認(rèn)可。
此外,與純Java項目相比,當(dāng)您使用Kotlin時,Android Studio的自動完成和編譯往往運(yùn)行速度稍慢。
更小的社區(qū)和更少的可用幫助
由于Kotlin是一種相對較新的語言,所以Kotlin社區(qū)仍然相對較小,特別是與圍繞更為成熟的Java語言的社區(qū)相比。如果您切換到Kotlin,那么您可能無法訪問相同數(shù)量的教程,博客文章和用戶文檔,并且可能會在論壇和堆棧溢出等場合遇到較少的社區(qū)支持。在撰寫本文時,在Stack Overflow上搜索Kotlin只返回標(biāo)簽為Kotlin的4,600個帖子,而包含Java標(biāo)簽的高達(dá)1,000,000個帖子。
- 1 回答
- 0 關(guān)注
- 735 瀏覽
添加回答
舉報