DivKit 31.6.0版本发布:跨平台UI框架的全面升级
DivKit是一个由Yandex开源的跨平台UI框架,它允许开发者使用声明式的JSON格式来描述复杂的用户界面,并在Android、iOS和Web平台上实现一致的渲染效果。通过DivKit,开发者可以快速构建动态、高性能的UI界面,同时保持代码的可维护性和跨平台一致性。
Android客户端更新
输入控件增强
本次更新中,Android端的input控件新增了对filters属性的支持。这一特性允许开发者对用户输入内容进行更精细的控制,例如限制输入长度、过滤特定字符等。在实际应用中,这对于表单验证、搜索框等场景非常有用。
工具提示管理优化
新增的Div2Context.closeTooltips()方法为开发者提供了集中关闭所有工具提示的能力。这一改进简化了工具提示的管理逻辑,特别是在复杂交互场景中,开发者现在可以更轻松地确保UI状态的正确性。
列表构建逻辑调整
在列表渲染方面,item_builder现在拥有比items更高的优先级。这一变更使Android平台与其他平台的行为保持一致,减少了跨平台开发时的差异性。开发者在使用列表组件时应当注意这一优先级变化,以确保预期的渲染效果。
画廊组件改进
针对gallery组件的滚动位置恢复问题,本次更新修复了两个关键场景:
- 当第一个项目可见时的滚动位置恢复
- 在RTL(从右到左)配置下的滚动行为
这些修复提升了用户体验,特别是在多语言应用中,RTL布局的展示更加可靠。
视觉效果修正
shine效果的渐变角度计算得到了修正。现在角度是相对于水平线逆时针旋转的,这与标准的图形学惯例保持一致。开发者在使用这一视觉效果时可以获得更符合预期的渲染结果。
分页模式优化
修复了paging模式下画廊滚动的问题,使分页浏览体验更加流畅自然。
iOS客户端更新
输入类型与自动校正
iOS端的input控件现在会根据input_type自动调整自动校正行为。这一智能适配减少了开发者的配置工作,同时提供了更符合用户预期的输入体验。例如,在输入电话号码时自动禁用自动校正,而在输入普通文本时保持启用。
类型化动作解析
修复了类型化动作中数组解析的问题,使复杂数据结构的处理更加可靠。这一改进对于使用高级交互逻辑的应用尤为重要。
布局计算优化
layout_provider中的尺寸计算问题得到了修复,确保了布局测量的准确性。这对于依赖精确布局的自定义组件开发者来说是一个重要的改进。
Web客户端更新
滚动动作动画支持
Web端为多种滚动相关动作新增了animated参数,包括:
set_current_itemset_next_itemset_previous_itemscroll_forwardscroll_backwardscroll_to_positionscroll_to_endscroll_to_start
这一增强使开发者能够控制滚动是否以动画形式呈现,从而在需要快速跳转或平滑滚动时提供更灵活的选择。
数据结构解析增强
Web端现在支持从字符串解析array和dict数据结构,包括通过div-action://set_variable协议和variable.set('value')编程API。数据格式采用JSON标准,这大大增强了复杂数据传递的能力。
工具提示交互改进
新增对tap_outside_actions和close_by_tap_outside属性的支持,使工具提示的交互行为更加丰富和可控。开发者现在可以定义点击工具提示外部时的行为,并控制是否允许通过外部点击关闭提示。
RTL布局修复
修复了switch组件在RTL布局下的显示问题,确保从右到左语言的界面元素正确对齐和交互。
动作日志限制
修正了visibility_actions和disappear_actions中动作数量与log_limit相关的错误,使动作日志系统更加可靠。
总结
DivKit 31.6.0版本带来了跨三大平台的全面改进,从基础控件功能增强到布局计算优化,从交互行为完善到国际化支持,每个更新都体现了框架对开发者体验和最终用户体验的关注。这些改进使得DivKit在构建复杂、动态、跨平台的用户界面时更加可靠和高效。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust099- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiMo-V2.5-ProMiMo-V2.5-Pro作为旗舰模型,擅⻓处理复杂Agent任务,单次任务可完成近千次⼯具调⽤与⼗余轮上 下⽂压缩。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
Kimi-K2.6Kimi K2.6 是一款开源的原生多模态智能体模型,在长程编码、编码驱动设计、主动自主执行以及群体任务编排等实用能力方面实现了显著提升。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00