(轉(zhuǎn)自IT之家)IT之家 10 月 29 日消息,Facebook 的母公司 Meta 透露其開發(fā) Android 應(yīng)用使用的語言從 Java 遷移到了 Kotlin,這是一種更年輕的編程語言,也依賴于 Java 虛擬機(jī)(JVM)。
Kotlin 由軟件工具制造商 JetBrains 創(chuàng)建,于 2011 年首次亮相,2016 年推出了 1.0 版本。次年,Kotlin 被谷歌采納為安卓開發(fā)的第一類(支持)語言,并被置于自己的基金會管理之下,由 JetBrains 和谷歌資助。
在這之前,大多數(shù)安卓應(yīng)用都是用 Java 編寫的。2019 年 5 月,在其開發(fā)者大會上,谷歌開始鼓勵安卓開發(fā)者青睞 Kotlin 而不是 Java。當(dāng)年年底,谷歌表示,在排名前 1000 位的安卓應(yīng)用中,有 60% 包含 Kotlin 代碼。IT之家了解到,谷歌推薦使用 Kotlin 的理由是,它更簡潔、更安全,支持結(jié)構(gòu)化并發(fā),使異步代碼更容易,并且可以與 Java 互操作。不過這可能也與 Java 管理人甲骨文有關(guān),甲骨文曾花十多年時間就 Android 中使用的 Java API 向谷歌提出侵權(quán)索賠(最終失敗)。
Meta 似乎也對 Kotlin 感興趣,F(xiàn)acebook 軟件工程師 Omer Strulovich 稱,他們已經(jīng)在用 Kotlin 替換其幾個流行的 Android 應(yīng)用中的 Java 代碼,這些應(yīng)用包括 Facebook、Instagram、Messenger、Portal 和 Quest。
Strulovich 說:“Kotlin 被普遍認(rèn)為是一種比 Java 更好的語言,在每年的 Stack Overflow 開發(fā)者調(diào)查中,Kotlin 的好評率高于 Java,”他指出,Kotlin 已經(jīng)成為 Android 開發(fā)的流行語言,“因此,我們將 Meta 的 Android 開發(fā)轉(zhuǎn)向 Kotlin 是合理的。”
但是,除了在安卓生態(tài)系統(tǒng)中的受歡迎程度,Strulovich 承認(rèn),在更廣泛的市場中,其流行度仍然遠(yuǎn)遜于 Java,Java 是世界第二大或第三大流行的語言。
Kotlin 相對于 Java 的優(yōu)勢包括:內(nèi)置為空性(nullability)處理,支持內(nèi)聯(lián)函數(shù)和 lambda 表達(dá)式,代碼更短,能定義 DSL(Domain-specific language)。缺點是需要在很長時間內(nèi)面對混合代碼庫,更難維護(hù),而且 Kotlin 存在的時間比 Java 短,擁有一套不太成熟的工具。
Strulovich 說:“今天,我們的 Facebook、Messenger 和 Instagram 的安卓應(yīng)用都有超過 100 萬行的 Kotlin 代碼,而且轉(zhuǎn)換率還在增加。我們的安卓代碼庫總共有超過 1000 萬行的 Kotlin 代碼。”
Strulovich 沒有說 Meta 是什么時候開始這種轉(zhuǎn)變的,也沒有說其 Android 應(yīng)用代碼的轉(zhuǎn)換比例是多少。
Strulovich 還稱:“平均而言,我們已經(jīng)看到這次遷移的代碼行數(shù)減少了 11%。并且沒有出現(xiàn)性能倒退,所以至少轉(zhuǎn)換后的應(yīng)用程序保持了它們原有的性能。”
Strulovich 說,Meta 的遷移正在進(jìn)行,并在加速,但他同時表示:“Kotlin 仍然缺乏一些我們在與 Java 合作中已經(jīng)習(xí)慣的工具和優(yōu)化。但我們正在努力縮小這些差距。隨著我們?nèi)〉玫倪M(jìn)展和這些工具和庫的成熟,我們也將努力把它們放回給社區(qū)。”
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報,一經(jīng)查實,本站將立刻刪除。