Android 开发者应该从 Java 转到 Kotlin 吗?谷歌告诉你
今年 I/O 大會(huì)上,谷歌宣布正在采取的下一個(gè)重大步驟是Kotlin-first,Android 開(kāi)發(fā)將越來(lái)越多地以 Kotlin 為主,許多新的 Jetpack API 和功能將首先在 Kotlin 中提供。并且當(dāng)天谷歌就開(kāi)源了 Jetpack Compose呼應(yīng)這一戰(zhàn)略。
消息一出來(lái),“Android 開(kāi)發(fā)以后是不是只能用 Kotlin 了”、“Android 開(kāi)發(fā)者應(yīng)該從 Java 轉(zhuǎn)到 Kotlin 嗎”等問(wèn)題困擾了開(kāi)發(fā)者。對(duì)此,谷歌 Android Studio 技術(shù)負(fù)責(zé)人Jeffrey van Gogh 進(jìn)行了回應(yīng)。
“我們將在很多方面繼續(xù)支持 Java 編程語(yǔ)言”,Jeffrey 首先回答了 Android 關(guān)于 Java 支持的問(wèn)題,同時(shí)給出了一張 Java 與 Kotlin 支持對(duì)照表。
表中可以看到,Kotlin 相比 Java,在 Android 開(kāi)發(fā)中確實(shí)獲得了更加重要的地位,“比如在線培訓(xùn)、樣本,我們首先會(huì)在Kotlin 中支持,Java 中將是‘盡力而為’。同時(shí),有一些功能,如多平臺(tái)項(xiàng)目和 Jetpack Compose,只會(huì)在 Kotlin 中提供。”
Jetpack Compose 是一個(gè)非捆綁 UI 工具包,結(jié)合了反應(yīng)式編程模型和 Kotlin 編程語(yǔ)言的簡(jiǎn)潔性和易用性,旨在簡(jiǎn)化 UI 開(kāi)發(fā)。
這樣來(lái)看,很顯然在今后一段時(shí)間內(nèi)Android 開(kāi)發(fā)者并不是只有 Kotlin 一種選擇,Java 同樣可用。而至于這是否只是一個(gè)過(guò)渡,則要聽(tīng)聽(tīng) Jeffrey 是如何回答“是否應(yīng)該從 Java 遷移到 Kotlin?”這一問(wèn)題的。
“不要把‘Kotlin-first’誤解成必須將現(xiàn)有 Java 開(kāi)發(fā)的 Android 使用 Kotlin 重寫(xiě)”,Jeffrey 說(shuō)到,并補(bǔ)充說(shuō)明谷歌自家的應(yīng)用也沒(méi)有這樣做。
Jeffrey 的意思是 Java 與 Kotlin 具有極高的互操作性,所以兩者完全可以共存于同一個(gè)項(xiàng)目中。“看看 Android Studio,它有幾十萬(wàn)行代碼,其中大約有 10% 的 Kotlin 代碼。我們所做的只是使用Kotlin 編寫(xiě)新功能。Kotlin 與 Java 具有很好的互操作性,可以在 Kotlin 中編寫(xiě)單個(gè)類,其余部分使用 Java 編寫(xiě),或者使用 Kotlin 編寫(xiě)99% 的代碼,而剩下的一點(diǎn)點(diǎn)用 Java 來(lái)寫(xiě)。”
而具體應(yīng)該繼續(xù)使用 Java 還是轉(zhuǎn)到 Kotlin,Jeffrey 表示這需要考慮一些因素,比如團(tuán)隊(duì)對(duì)于 Kotlin 的興趣、Kotlin 的學(xué)習(xí)曲線之陡峭,還有能不能接受 Kotlin 本身相比 Java 在開(kāi)發(fā) Android 上的弱點(diǎn),比如軟件構(gòu)建過(guò)程需要更長(zhǎng)的時(shí)間,因?yàn)?Kotlin 編譯器比通用 Java 編譯器要慢,以及 Kotlin 生成的 APK 相對(duì)較大。
此外應(yīng)用開(kāi)發(fā)所處的階段也需要考慮,Jeffrey 表示新項(xiàng)目使用Kotlin 編寫(xiě)是更好的選擇。
總結(jié)
以上是生活随笔為你收集整理的Android 开发者应该从 Java 转到 Kotlin 吗?谷歌告诉你的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 软银8亿美元投金融科技公司Greensi
- 下一篇: 华为回应学生定制机:第三方软件公司开发