Meta 宣布加入 Kotlin 基金会,将为 Kotlin 和 Android 生态提供全新支持

近日 Meta 正式宣发加入了 Kotlin 基金会,如果你对 Meta 不熟悉,那么对于开源了 React Native 的 Facebook 应该不陌生了吧?现在它也正式加入了 Kotlin 领导者的阵营:

Kotlin 基金会 是由 Jetbrains 和 Google 共同成立的基金会,而本次 Meta 的加入则是成为了 Gold (金牌)会员,而在此之前,Gradle 也只是 Silver(银牌)会员而已。

当然你要说 Gold 和 Silver 这两者的最大区别,首先肯定就是会员费:

  • Gold 需要缴纳 15 万美金一年
  • Silver 需要缴纳 3 万美金一年

而 Gold 的好处就是在 Silver 所有权益下,还有资格担任秘书职务,并且会固定拥有基金会董事的一个席位,而基金会董事的席位一般会有:

  • 有权参与制定 Kotlin Foundation 的长期战略方向,例如 Kotlin 语言的开发重点、生态系统扩展(如 Kotlin Multiplatform)
  • 监督或参与 Operating、Ecosystem 和 Trademark 等相关工作

而 Meta 加入 Kotlin 基金会,也标志着它对 Kotlin 和更广泛的 Android 开发生态系统的持续承诺的一个重要里程碑,当然,目前还没看到 Meta 关于 KMP 和 CMP 的相关承诺,从历史过往和公告上看,Meta 对于 Kotlin 主要还是集中在 Android 领域。

例如在过去几年,Meta 工程师一直在积极地将他们庞大的 Android 代码库 (包含数千万行代码)从 Java 迁移到 Kotlin,甚至为了推进这一大规模迁移,他们还开发了一款名为 Kotlinator 的内部工具,用于自动完成大部分转换过程,同时确保生成的 Kotlin 代码符合语言习惯并与 Meta 的内部框架兼容。

Kotlinator 主要是基于 IntelliJ 的 J2K(Java-to-Kotlin)转换工具,并通过一系列定制,主要核心有:

  • Kotlinator 将 IntelliJ 的 J2K 转换工具改造成一个 headless 工具,从而支持在远程服务器上运行,而无需依赖图形化界面
  • 通过扩展 IntelliJ 的 ApplicationStarter 类,Kotlinator 直接调用 JavaToKotlinConverter,实现 Java 到 Kotlin 的自动转换

而在运行 J2K 之前,Kotlinator 会对 Java 代码进行分析和调整,例如处理空安全问题、应用已知的 J2K 转换修复(如 JUnit 框架的特殊处理),确保代码适合转换等。

而在转换后的 Kotlin 代码也会经过进一步优化,主要是调整为更符合 Kotlin 的惯用写法(idiomatic Kotlin),包括处理空安全、替换不规范的代码结构(如 isEmpty 的替换)以及修复 J2K 的潜在 bug 等,例如:

  • Kotlinator 会使用静态分析工具(如 Nullsafe 或 NullAway)检测潜在的空指针问题
  • 利用 JetBrains 的 PSI(Program Structure Interface)库进行代码分析和转换
  • 通过解析编译器的错误信息,自动识别和修复转换过程中的问题

另外 Meta 还是企业 Java-to-Kotlin 工作组的成员,这个工作组是 Google、JetBrains 和 Uber 合作,目的在于支持企业将大型 Java 代码库迁移到 Kotlin。

此外,Meta 还支持了 Kotlin 生态系统中的重要基础设施工作,包括在 Buck 中开发 Kotlin 和 Android 构建工具链 ,重点是提高构建速度和可扩展性,以及对 Kotlin 格式化程序等库的贡献,帮助团队更轻松地维护一致且惯用的 Kotlin 代码库。

所以虽然 Meta 之前在 Kotlin 领域貌似没什么"热度",但是其实在该领域的贡献和投入并不少。

而后续,作为 Kotlin 基金会的 Gold 会员,Meta 将为 Kotlin Grants 等重要举措以及 Kotlin 多平台学生竞赛等教育活动继续做出贡献。

不知道在未来 Meta 是否会在 KMP/CMP 有全新的投入支持,毕竟在已经有 React Native 持续投入的情况下,KMP 是否能成为 Meta 的新选择还未可知,不过,这对 Kotlin 来说,肯定是一件好事。

参考链接

相关推荐
我爱挣钱我也要早睡!1 小时前
Java 复习笔记
java·开发语言·笔记
Yang-Never2 小时前
Kotlin协程 -> Job.join() 完整流程图与核心源码分析
android·开发语言·kotlin·android studio
XeonYu3 小时前
Kotlin 协程之 突破 Flow 限制:Channel 与 Flow 的结合之道
kotlin·coroutine·channelflow·callbackflow·receiveasflow·consumeasflow
TomCode先生4 小时前
c#动态树形表达式详解
开发语言·c#
高-老师4 小时前
基于R语言的物种气候生态位动态量化与分布特征模拟
开发语言·r语言·物种气候
大翻哥哥5 小时前
Python 2025:量化金融与智能交易的新纪元
开发语言·python·金融
weixin_437830945 小时前
使用冰狐智能辅助实现图形列表自动点击:OCR与HID技术详解
开发语言·javascript·ocr
鹿鹿学长6 小时前
2025年全国大学生数学建模竞赛(C题) 建模解析|婴儿染色体数学建模|小鹿学长带队指引全代码文章与思路
c语言·开发语言·数学建模
zhousenshan6 小时前
Python爬虫常用框架
开发语言·爬虫·python
m0_641031056 小时前
在选择iOS代签服务前,你必须了解的三大安全风险
ios