DivKit 31.7.0版本发布:跨平台UI框架的全面升级
DivKit是一个开源的跨平台UI框架,它允许开发者使用声明式的JSON格式来构建动态用户界面。该框架支持Android、iOS和Web三大平台,通过统一的JSON描述文件,开发者可以快速构建出高性能、可动态更新的用户界面。本次发布的31.7.0版本带来了多项重要改进和功能增强,涵盖了动画控制、输入处理、性能优化等多个方面。
Android客户端更新详解
动画生命周期控制增强
新版本为shine动画添加了pauseShineObservable功能,使得客户端能够更精细地控制动画的生命周期。这一改进特别适用于需要暂停和恢复动画的场景,比如当应用进入后台或页面不可见时,开发者现在可以方便地暂停动画以节省资源,并在适当时机恢复动画。
输入处理优化
在之前的版本中,点击任何div元素都会导致键盘隐藏,这在表单交互场景中可能会造成不便。31.7.0版本修复了这一问题,现在点击div元素不会自动隐藏键盘,提供了更好的用户体验。
变量访问修复
本次更新修复了两个重要的变量访问问题:
- 修复了在
state中访问局部变量的问题 - 修复了在由
item_builder构建的项目中访问变量的问题
这些修复使得变量访问更加可靠,减少了潜在的错误。
视频播放器缓存改进
视频播放器的缓存机制得到了优化,提升了视频内容的加载速度和播放流畅度,特别是在网络条件不佳的环境下。
可见性动作跟踪分离
实现了visibility_actions和disappear_actions的独立跟踪机制。这一改进使得这两种动作的触发更加准确,避免了之前可能出现的相互干扰问题。
列表性能优化
通过支持基于reuse_id的元素比较,优化了item_builder数据更新的性能。这一改进特别适用于大型列表场景,能够显著减少不必要的UI更新,提升滚动流畅度。
构建工具升级
将Gradle升级到了8.13版本,Android Gradle Plugin升级到了8.8.2版本,带来了更好的构建性能和最新的开发工具支持。
iOS客户端重要更新
工具提示管理增强
修复了DefaultTooltipManager.reset()方法,确保它能够正确关闭当前显示的所有工具提示。这一改进使得工具提示的管理更加可靠。
输入框主题适配
带有掩码的输入框现在能够在颜色主题变化时自动更新文本颜色,提供了更好的主题适配能力。
可见性动作分离与优化
对iOS客户端也实现了visibility_actions和disappear_actions的存储分离。同时修复了当这两种动作使用相同id时的log_limit问题,并添加了针对这种情况的警告提示,帮助开发者避免潜在问题。
工具提示动画支持
新增了对div-tooltip的animation_in和animation_out属性支持,使得工具提示的显示和隐藏可以带有动画效果,提升了用户体验。
密码输入类型支持
现在iOS客户端支持将keyboard_type设置为password,方便开发者创建密码输入框。
Web客户端功能扩展
输入掩码增强
新增了对phone类型input掩码的支持,使得在Web端创建电话号码输入框更加方便。
滑块范围支持
为slider组件添加了ranges支持,允许开发者定义滑块的范围区间,丰富了滑块组件的功能。
滚动动作新增
实现了scroll_to和scroll_by动作的支持,使得开发者可以通过JSON配置实现精确的滚动控制,增强了交互能力。
总结
DivKit 31.7.0版本在三个平台上都带来了显著的改进和新功能。Android端的动画控制和性能优化,iOS端的工具提示管理和输入增强,以及Web端的组件功能扩展,都使得这个跨平台UI框架更加强大和易用。特别是对可见性动作的分离处理和对各种输入场景的优化,体现了框架对实际开发需求的深入理解。这些改进将帮助开发者构建更加流畅、交互更丰富的动态用户界面。
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 StartedRust0148- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
auto-devAutoDev 是一个 AI 驱动的辅助编程插件。AutoDev 支持一键生成测试、代码、提交信息等,还能够与您的需求管理系统(例如Jira、Trello、Github Issue 等)直接对接。 在IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。Kotlin03
Intern-S2-PreviewIntern-S2-Preview,这是一款高效的350亿参数科学多模态基础模型。除了常规的参数与数据规模扩展外,Intern-S2-Preview探索了任务扩展:通过提升科学任务的难度、多样性与覆盖范围,进一步释放模型能力。Python00
skillhubopenJiuwen 生态的 Skill 托管与分发开源方案,支持自建与可选 ClawHub 兼容。Python0111