全球今熱點(diǎn):Meta 旗下 Android 應(yīng)用改用 Kotlin 編程語(yǔ)言 ,稱比 Java 更好用
Facebook 的母公司 Meta 透露其開發(fā) Android 應(yīng)用使用的語(yǔ)言從 Java 遷移到了 Kotlin,這是一種更年輕的編程語(yǔ)言,也依賴于 Java 虛擬機(jī)(JVM)。
Kotlin 由軟件工具制造商 JetBrains 創(chuàng)建,于 2011 年首次亮相,2016 年推出了 1.0 版本。次年,Kotlin 被谷歌采納為安卓開發(fā)的第一類(支持)語(yǔ)言,并被置于自己的基金會(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 更好的語(yǔ)言,在每年的 Stack Overflow 開發(fā)者調(diào)查中,Kotlin 的好評(píng)率高于 Java,”他指出,Kotlin 已經(jīng)成為 Android 開發(fā)的流行語(yǔ)言,“因此,我們將 Meta 的 Android 開發(fā)轉(zhuǎn)向 Kotlin 是合理的。”
但是,除了在安卓生態(tài)系統(tǒng)中的受歡迎程度,Strulovich 承認(rèn),在更廣泛的市場(chǎng)中,其流行度仍然遠(yuǎn)遜于 Java,Java 是世界第二大或第三大流行的語(yǔ)言。
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 萬(wàn)行的 Kotlin 代碼,而且轉(zhuǎn)換率還在增加。我們的安卓代碼庫(kù)總共有超過 1000 萬(wàn)行的 Kotlin 代碼。”
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>
標(biāo)簽: 編程語(yǔ)言 生態(tài)系統(tǒng) 普遍認(rèn)為