Meta 旗下 Android 应用改用 Kotlin 编程语言 ,称比 Java 更好用
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 合作中已经习惯的工具和优化。但我们正在努力缩小这些差距。随着我们取得的进展和这些工具和库的成熟,我们也将努力把它们放回给社区。”
相关文章
- 《王者荣耀》七周年庆新活动上线:今日登陆免费送史诗级皮肤
- 小米服务门店“361 服务”上线:360° 闭环服务加 1° 温度
- 冲击400公里时速!成渝中线高铁马上开工 投资733亿元
- 谷歌 Chrome 已经准备在 110 版本中弃用 JPEG-XL 标准
- 乘联会崔东树:乘用车碳达峰基本实现,预估今年新能源渗透率将达 28%
- 微软斯宾塞:Xbox 收购动视暴雪主要是看重 King 的移动业务,有信心获得批准
- IBM 印度允许员工“兼职”,但仅限于正当理由且需获得许可
- SpaceX 宣布涨价:猎鹰 9 号约 4.8 亿元一发,猎鹰重型火箭约 7 亿元
- 历史性的一刻,曝高通骁龙 8 Gen2 GPU 极限性能已胜过苹果 A16 仿生芯片
- TikTok 想在伦敦开设新办公室,商讨租赁超 1 万平米物业
- 长城汽车布局菲律宾市场,未来将推出 SUV、皮卡等品类及旗舰车型
- 北京联通携手华为发布全球最大规模5G 200MHz大带宽城市网络
- 微软透露 GitHub 年重复性收入达 10 亿美元,月活用户 9000 万人
- 台积电第二代 3nm 工艺到来,N3E 芯片已流片
- Counterpoint:台积电 7/6nm 产能利用率将下滑 10~20%
- 苹果:Apple Music、Apple TV + 和 Apple One 即日起涨价