ITBear旗下自媒體矩陣:

Meta 旗下 Android 應(yīng)用改用 Kotlin 編程語言 ,稱比 Java 更好用

   時(shí)間:2022-10-30 08:30:00 來源:IT之家編輯:茹茹 發(fā)表評(píng)論無障礙通道

10 月 29 日消息,F(xiàn)acebook 的母公司 meta 透露其開發(fā) Android 應(yīng)用使用的語言從 Java 遷移到了 Kotlin,這是一種更年輕的編程語言,也依賴于 Java 虛擬機(jī)(JVM)。

Kotlin 由軟件工具制造商 JetBrains 創(chuàng)建,于 2011 年首次亮相,2016 年推出了 1.0 版本。次年,Kotlin 被谷歌采納為安卓開發(fā)的第一類(支持)語言,并被置于自己的基金會(huì)管理之下,由 JetBrains 和谷歌資助。

在這之前,大多數(shù)安卓應(yīng)用都是用 Java 編寫的。2019 年 5 月,在其開發(fā)者大會(huì)上,谷歌開始鼓勵(lì)安卓開發(fā)者青睞 Kotlin 而不是 Java。當(dāng)年年底,谷歌表示,在排名前 1000 位的安卓應(yīng)用中,有 60% 包含 Kotlin 代碼。

IT之家了解到,谷歌推薦使用 Kotlin 的理由是,它更簡(jiǎn)潔、更安全,支持結(jié)構(gòu)化并發(fā),使異步代碼更容易,并且可以與 Java 互操作。不過這可能也與 Java 管理人甲骨文有關(guān),甲骨文曾花十多年時(shí)間就 Android 中使用的 Java API 向谷歌提出侵權(quán)索賠(最終失敗)。

meta 似乎也對(duì) Kotlin 感興趣,F(xiàn)acebook 軟件工程師 Omer Strulovich 稱,他們已經(jīng)在用 Kotlin 替換其幾個(gè)流行的 Android 應(yīng)用中的 Java 代碼,這些應(yīng)用包括 Facebook、Instagram、Messenger、Portal 和 Quest。

Strulovich 說:“Kotlin 被普遍認(rèn)為是一種比 Java 更好的語言,在每年的 Stack Overflow 開發(fā)者調(diào)查中,Kotlin 的好評(píng)率高于 Java,”他指出,Kotlin 已經(jīng)成為 Android 開發(fā)的流行語言,“因此,我們將 meta 的 Android 開發(fā)轉(zhuǎn)向 Kotlin 是合理的?!?/p>

但是,除了在安卓生態(tài)系統(tǒng)中的受歡迎程度,Strulovich 承認(rèn),在更廣泛的市場(chǎng)中,其流行度仍然遠(yuǎn)遜于 Java,Java 是世界第二大或第三大流行的語言。

Kotlin 相對(duì)于 Java 的優(yōu)勢(shì)包括:內(nèi)置為空性(nullability)處理,支持內(nèi)聯(lián)函數(shù)和 lambda 表達(dá)式,代碼更短,能定義 DSL(Domain-specific language)。缺點(diǎn)是需要在很長(zhǎng)時(shí)間內(nèi)面對(duì)混合代碼庫(kù),更難維護(hù),而且 Kotlin 存在的時(shí)間比 Java 短,擁有一套不太成熟的工具。

Strulovich 說:“今天,我們的 Facebook、Messenger 和 Instagram 的安卓應(yīng)用都有超過 100 萬行的 Kotlin 代碼,而且轉(zhuǎn)換率還在增加。我們的安卓代碼庫(kù)總共有超過 1000 萬行的 Kotlin 代碼?!?/p>

Strulovich 沒有說 meta 是什么時(shí)候開始這種轉(zhuǎn)變的,也沒有說其 Android 應(yīng)用代碼的轉(zhuǎn)換比例是多少。

Strulovich 還稱:“平均而言,我們已經(jīng)看到這次遷移的代碼行數(shù)減少了 11%。并且沒有出現(xiàn)性能倒退,所以至少轉(zhuǎn)換后的應(yīng)用程序保持了它們?cè)械男阅??!?/p>

Strulovich 說,meta 的遷移正在進(jìn)行,并在加速,但他同時(shí)表示:“Kotlin 仍然缺乏一些我們?cè)谂c Java 合作中已經(jīng)習(xí)慣的工具和優(yōu)化。但我們正在努力縮小這些差距。隨著我們?nèi)〉玫倪M(jìn)展和這些工具和庫(kù)的成熟,我們也將努力把它們放回給社區(qū)?!?/p>

舉報(bào) 0 收藏 0 打賞 0評(píng)論 0
 
 
更多>同類資訊
全站最新
熱門內(nèi)容