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