Kotlin 2.3.20已成为JetBrains构建的编程语言的最新版本,新增了C或Objective-C库的互操作模式以及基于属性名称的解构声明功能。开发者现在还可以在JavaScript和TypeScript中使用Kotlin接口。
这项Java竞争语言的更新于3月16日发布。开发者可以在Kotlin官网找到入门指南。通过2.3.0版本中的Kotlin Native技术,开发者可以将Kotlin代码编译为原生二进制文件,并尝试针对Objective-C和C库的实验性互操作模式。这项功能面向在Kotlin多平台库或应用程序中使用C或Objective-C库的开发者。
一般来说,Kotlin Native支持将C和Objective-C库导入到Kotlin中。然而,对于KMP库而言,该功能目前受到KMP与旧编译器版本兼容性问题的影响。因此,如果使用某个Kotlin版本编译的KMP库被发布,导入C或Objective-C库可能会导致该Kotlin库无法在使用早期Kotlin版本的项目中使用。为了解决这个问题和其他相关问题,Kotlin团队一直在修订互操作机制。从Kotlin 2.3.20开始,开发者可以通过编译器选项尝试新模式。
Kotlin 2.3.20还引入了基于名称的解构声明,通过匹配变量与属性名称来工作,而不是依赖基于位置的componentN()函数。JetBrains表示,此前解构声明使用的是基于位置的解构。
该更新解除了在JavaScript和TypeScript端实现Kotlin接口的限制。JetBrains说,以前只能将Kotlin接口导出为TypeScript接口,而从TypeScript实现这些接口是被禁止的。此外,从Kotlin 2.3.20开始,Kotlin/JS支持基于Rust的SWC编译平台。这有助于将较新版本的JavaScript和TypeScript代码转译为较旧且更兼容的JavaScript代码。
Kotlin 2.3.20是继2025年12月发布的Kotlin 2.3.0和2月发布的Kotlin 2.3.10之后的最新版本。Kotlin 2.3.20的其他更新包括:
在Java互操作性方面,编译器现在可以识别Vert.x @Nullable注解进行空值检查。该版本还增加了对Java @Unmodifiable和@UnmodifiableView注解的支持,将注解集合在Kotlin中视为只读。
在Maven构建工具项目中设置Kotlin变得更加容易。现在,Kotlin支持源根目录和Kotlin标准库的自动配置。
Kotlin 2.3.20与Gradle构建工具7.6.3至9.3.0版本完全兼容。开发者也可以使用最新Gradle发布版本,但这样做可能会导致弃用警告,某些新的Gradle功能可能无法正常工作。
用于生成和使用Java Lombok声明的Lombok编译器插件已升级至Alpha状态。计划让这项功能达到生产就绪状态,但目前仍在开发中。
引入了Map.Entry.copy()扩展函数,用于创建Map.Entry的不可变副本。该函数允许通过首先复制条目来重用从Map.entries获得的条目,然后修改映射。
Q&A
Q1:Kotlin 2.3.20新增了什么重要的互操作功能?
A:Kotlin 2.3.20新增了C或Objective-C库的实验性互操作模式,主要面向在Kotlin多平台库或应用程序中使用C或Objective-C库的开发者。同时解除了在JavaScript和TypeScript端实现Kotlin接口的限制,开发者现在可以从TypeScript实现Kotlin接口。
Q2:什么是基于名称的解构声明功能?
A:基于名称的解构声明是通过匹配变量与属性名称来工作,而不是依赖基于位置的componentN()函数。这改变了此前解构声明使用基于位置的解构方式,使得变量匹配更加直观和灵活。
Q3:Kotlin 2.3.20对构建工具的兼容性如何?
A:Kotlin 2.3.20与Gradle构建工具7.6.3至9.3.0版本完全兼容,也可以使用最新的Gradle发布版本。在Maven方面,现在支持源根目录和Kotlin标准库的自动配置,使得在Maven项目中设置Kotlin变得更加容易。
好文章,需要你的鼓励
Replit与RevenueCat达成合作,将订阅变现工具直接集成至Replit平台。用户只需通过自然语言提示(如"添加订阅"),即可完成应用内购和订阅配置,无需离开平台。RevenueCat管理超8万款应用的订阅业务,每月处理约10亿美元交易。此次合作旨在让"氛围编程"用户在构建应用的同时即可实现商业变现,月收入未达2500美元前免费使用,超出后收取1%费用。
LiVER是由北京大学、北京邮电大学等机构联合提出的视频生成框架,核心创新是将物理渲染技术与AI视频生成结合,通过Blender引擎计算漫反射、粗糙GGX和光泽GGX三种光照图像构成"场景代理",引导视频扩散模型生成光影物理准确的视频。框架包含渲染器智能体、轻量化编码器适配器和三阶段训练策略,支持对光照、场景布局和摄像机轨迹的独立精确控制。配套构建的LiVERSet数据集含约11000段标注视频,实验显示该方法在视频质量和控制精度上均优于现有方法。
所有人都说AI需要护栏,但真正在构建它的人寥寥无几。SkipLabs创始人Julien Verlaguet深耕这一问题已逾一年,他发现市面上多数"护栏"不过是提示词包装。为此,他打造了专为后端服务设计的AI编程智能体Skipper,基于健全的TypeScript类型系统与响应式运行时,实现增量式代码生成与测试,内部基准测试通过率超90%。他认为,编程语言的"人类可读性时代"正走向终结,面向智能体的精确工具链才是未来。
这项由蒙特利尔学习算法研究所(Mila)与麦吉尔大学联合发布的研究(arXiv:2604.07776,2026年4月)提出了AGENT-AS-ANNOTATORS框架,通过模仿人类数据标注的三种角色分工,系统化生成高质量网页智能体训练轨迹。以Gemini 3 Pro为教师模型,仅用2322条精选轨迹对90亿参数的Qwen3.5-9B模型进行监督微调,在WebArena基准上达到41.5%成功率,超越GPT-4o和Claude 3.5 Sonnet,并在从未见过的企业平台WorkArena L1上提升18.2个百分点,验证了"数据质量远比数量重要"这一核心结论。