DoKit:从效率工具到效率工具平台的发展历程与探索

2024-06-08
来源:网络整理

介绍

诞生于滴滴城市交通服务体验技术部,是一个面向泛前端产品开发全生命周期的效率平台。经过两年的发展,目前已经发展成一个比较完整的生态,比如For iOS,For小程序,For Web。同时我们的项目也被BAT、滴滴、字节、快手、京东等头部独角兽企业广泛使用,并获得了良好的口碑。随着平台的上线,标志着从单纯的效率工具正式进入到效率工具平台的阶段。同时,我们从未停下不断探索的精神,在更多的平台领域积极尝试,不给自己设限,我们相信未来充满无限可能。

田野生态学

手动的

进入官方网站,点击“”。

温馨提示:目前所有功能仅针对该环境,该环境尚未经过实际验证,因此请严格按照官方文档进行集成,不建议您在该环境上使用任何功能。如一定要在该环境上使用,请自行进行充分的测试验证,官方不承担任何责任与损失。

变更日志

社区活动

调查问卷亲爱的用户们,请动动小手指,参与我们官方的调查活动,我们渴望听到你们的声音:

开发背景

每一个一定规模的App总是会附带一些离线测试功能代码,比如环境切换功能、帧率查看功能等等,而这些功能的切换入口往往会被放在各个入口,比如一些特殊的手势、双击、双击某个功能块或者在App顶部新建一个等等,而各个App里面的离线附加功能模块很多都是类似的,比如帧率查看、内存和CPU监控等等,但现在基本上每个App都实现了自己的离线测试功能,在经历了上述问题之后,才有它存在的意义。

它是一个功能平台,可以让每一个App快速接入一些常用的或者你还未实现的一些辅助开发工具、测试效率工具、可视化辅助工具等。也可以完美接入一些你已经实现的、与面板中业务耦合紧密的非常用辅助工具,和我们的平台结合起来,可以进行功能延伸,方便接入,方便扩展。

简要摘要

1、可以统一快速管理和关闭您的业务测试代码;

2.内置多种常用工具,避免重复实现,一次访问,拥有强大工具集;

3、通过平台的帮助,一机多控可以让你方便的与他人进行协作,大大提高研发过程的效率。

功能模块

1. 平台工具()

【数据Mock】App接口mock解决方案,提供一套基于App网络拦截的接口mock解决方案,无需修改代码即可完成接口数据的mock。【健康体检】一键操作,多种工具集成,数据可视化,快速精准问题定位,让你对App性能了如指掌。【文件同步助手】通过终端服务,让你的终端空间在平台端得到充分展示,提供强大的文件、数据库操作能力。【一机多控】主从同步,解放人力,让研发、测试效率看得见

2.常用工具

【App信息查看】快速查看手机信息、App基本信息、签名相关、权限信息渠道,免去在手机设置中搜索或查看项目源码的麻烦; 【开发者选项独有】一键跳转到开发者选项,避免因平台差异导致输入不一致 【本地语言】一键跳转到本地语言,避免因平台差异导致输入不一致 【沙盒浏览】App内浏览内部文件功能支持删除、预览,可通过或其他分享方式上传到PC,进行更细致的操作; 【】App可定位全国各地,支持地图定位及手动输入经纬度; 【H5任意门】开发测试同学可以快捷输入H5页面地址查看页面效果; 【查看】便捷打印出本地出现的堆栈; 【子线程UI】快速定位哪些UI操作是在非主线程渲染的,避免不必要的问题;(iOS独有) 【清除本地数据】一键删除沙盒内所有数据; 【】 将所有信息打印到UI界面,避免没有开发证书无法调试的尴尬; 【】 每一条日志信息都在App界面展示,无需导出日志; (仅限iOS) 【】 通过网页方便快捷地操作应用内数据库,让数据库调试变得很优雅; 【模拟弱网】 限制网速,模拟弱网环境下App的运行; (独有) 【JS脚本】 在指定时间运行JS脚本。 (仅限iOS)

3.性能测试

【帧率】App帧率信息提供波形查看功能,让帧率监控趋势更加明显; 【CPU】App CPU使用率信息提供波形查看功能,让CPU监控趋势更加鲜明; 【内存】App内存使用率信息提供波形查看功能,让内存监控趋势更加鲜明; 【流量监控】截取App内部流量信息,提供波形展示、流量汇总展示、流量列表展示、流量过滤、流量详情,统一截取流量信息,让其成为我们App中内置的“神器”; 【卡顿】锁定App卡顿的时刻,并打印出对应代码调用堆栈; 【大图检测】通过流量监控,找出所有超出尺寸限制的图片,避免下载大图造成的流量浪费,以及渲染大图造成的CPU消耗。 【启动时间】非侵入式计算App启动过程消耗的总时间; 【UI层级检查】检查各个页面中最深层的元素; 【功能时间】从功能层面分析App的性能瓶颈; 【Load】找出所有的Load方法,并给出时间分析; (仅限 iOS)[内存泄漏] 查找应用程序中的所有内存泄漏问题。

4. 可视化工具

【颜色吸管】帮助设计师在调试UI时检查各个组件的颜色值是否设置正确。【组件检查】可以抓取任意UI控件查看其详细信息,包括控件名称、控件位置、背景颜色、字体颜色、字体大小等。【对齐标尺】指系统自带的测试工具,可以实时抓取屏幕坐标,检查组件是否对齐。【元素边框线】绘制各个UI组件的边框,对组件布局有一定参考价值。

5.Weex 专用工具(CML 专用工具)

【日志视图】方便在客户端查看各个Weex文件中的日志,提供分类、搜索功能; 【缓存视图】可视化展示Weex中各模块的本地缓存数据; 【容器信息】查看每个打开的Weex页面的基本信息、性能数据; 【】快捷打开Weex的扫码入口。

温馨提示:如果你使用我们滴滴优秀的开源跨端解决方案,也可以集成此工具集

6.支持自定义业务工具集成到面板

所有测试模块集中维护管理,详情见接入手册

7. 微信小程序专用工具

查看 mini

相关文件

小程序onhide生命周期_微信小程序开发之生命周期_小程序生命周期回调

技术交流群

项目成员

创始人(益翔)董事肖峰

核心成员有小峰、卡布达、

贡献者列表 ()、()、,、,、,、,、,、,、,、,、,、,、,、,、,、,、csc-,、0xd-cc,、、y500,-ZXW,boai,、、、、HDB-Li,yu-,

如何成为外部贡献者?提交有意义的 PR 并得到接受。

使用提醒

由于SDK目前与平台合作,会产生一些网络数据,我们收集这些信息,绝不会将其用于任何恶意用途。

以下都是涉及网络请求的部分

统计已集成的用户数

: 伊尔#

iOS: il#

各内置套件使用情况统计

:#

iOS:#

上传健康检查数据

: #邮政

iOS: r#

数据模拟相关的网络请求

:涉及接口mock的相关网络请求

iOS:#&

请注意这一点。

链接

,是一款高性能高可用的跨端开发框架,一套代码就可以支持开发iOS应用,现已支持Vue//三种语法,面向大型前端开发人员,总有一款适合你。

,简称CML,中文意思为变色龙,寓意能够像变色龙一样适应不同环境的跨端整体解决方案,真正意义上实现“一套代码,多种终端”的终极目标

它是专为移动应用设计的易用、轻量、可扩展的质量优化框架,主要目标是解决随着APP复杂度不断提升而出现的性能、稳定性、包大小等一系列质量问题,提供了性能检测、多线程优化、资源索引内联、资源去冗余、资源压缩、系统Bug修复等一系列功能模块,可提升稳定性15%~25%,减少包大小1MB~10MB,同时插件底层也基于开发。

AoE,一个设备上的 AI 集成运行时环境

Mand是一个优秀的适用于金融场景的移动UI组件库

欢迎关注我们团队的技术公众号【DiDi】,我们会持续在这里输出团队更深入的技术积累和经验分享,欢迎大家与我们交流。

协议

根据 -2.0 许可证分发和使用。有关更多信息,请参阅许可证文件。

分享