首页
/ DivKit 31.7.0版本发布:跨平台UI框架的全面升级

DivKit 31.7.0版本发布:跨平台UI框架的全面升级

2025-06-20 10:55:33作者:蔡怀权

DivKit是一个开源的跨平台UI框架,它允许开发者使用声明式的JSON格式来构建动态用户界面。该框架支持Android、iOS和Web三大平台,通过统一的JSON描述文件,开发者可以快速构建出高性能、可动态更新的用户界面。本次发布的31.7.0版本带来了多项重要改进和功能增强,涵盖了动画控制、输入处理、性能优化等多个方面。

Android客户端更新详解

动画生命周期控制增强

新版本为shine动画添加了pauseShineObservable功能,使得客户端能够更精细地控制动画的生命周期。这一改进特别适用于需要暂停和恢复动画的场景,比如当应用进入后台或页面不可见时,开发者现在可以方便地暂停动画以节省资源,并在适当时机恢复动画。

输入处理优化

在之前的版本中,点击任何div元素都会导致键盘隐藏,这在表单交互场景中可能会造成不便。31.7.0版本修复了这一问题,现在点击div元素不会自动隐藏键盘,提供了更好的用户体验。

变量访问修复

本次更新修复了两个重要的变量访问问题:

  1. 修复了在state中访问局部变量的问题
  2. 修复了在由item_builder构建的项目中访问变量的问题

这些修复使得变量访问更加可靠,减少了潜在的错误。

视频播放器缓存改进

视频播放器的缓存机制得到了优化,提升了视频内容的加载速度和播放流畅度,特别是在网络条件不佳的环境下。

可见性动作跟踪分离

实现了visibility_actionsdisappear_actions的独立跟踪机制。这一改进使得这两种动作的触发更加准确,避免了之前可能出现的相互干扰问题。

列表性能优化

通过支持基于reuse_id的元素比较,优化了item_builder数据更新的性能。这一改进特别适用于大型列表场景,能够显著减少不必要的UI更新,提升滚动流畅度。

构建工具升级

将Gradle升级到了8.13版本,Android Gradle Plugin升级到了8.8.2版本,带来了更好的构建性能和最新的开发工具支持。

iOS客户端重要更新

工具提示管理增强

修复了DefaultTooltipManager.reset()方法,确保它能够正确关闭当前显示的所有工具提示。这一改进使得工具提示的管理更加可靠。

输入框主题适配

带有掩码的输入框现在能够在颜色主题变化时自动更新文本颜色,提供了更好的主题适配能力。

可见性动作分离与优化

对iOS客户端也实现了visibility_actionsdisappear_actions的存储分离。同时修复了当这两种动作使用相同id时的log_limit问题,并添加了针对这种情况的警告提示,帮助开发者避免潜在问题。

工具提示动画支持

新增了对div-tooltipanimation_inanimation_out属性支持,使得工具提示的显示和隐藏可以带有动画效果,提升了用户体验。

密码输入类型支持

现在iOS客户端支持将keyboard_type设置为password,方便开发者创建密码输入框。

Web客户端功能扩展

输入掩码增强

新增了对phone类型input掩码的支持,使得在Web端创建电话号码输入框更加方便。

滑块范围支持

slider组件添加了ranges支持,允许开发者定义滑块的范围区间,丰富了滑块组件的功能。

滚动动作新增

实现了scroll_toscroll_by动作的支持,使得开发者可以通过JSON配置实现精确的滚动控制,增强了交互能力。

总结

DivKit 31.7.0版本在三个平台上都带来了显著的改进和新功能。Android端的动画控制和性能优化,iOS端的工具提示管理和输入增强,以及Web端的组件功能扩展,都使得这个跨平台UI框架更加强大和易用。特别是对可见性动作的分离处理和对各种输入场景的优化,体现了框架对实际开发需求的深入理解。这些改进将帮助开发者构建更加流畅、交互更丰富的动态用户界面。

登录后查看全文
热门项目推荐