• Stars
    star
    20,108
  • Rank 1,258 (Top 0.03 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created about 6 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

一款面向泛前端产品研发全生命周期的效率平台。

简介

DoraemonKit







DoKit诞生于滴滴城运服体验技术部,是一款面向泛前端产品研发全生命周期的效率平台。经过两年的发展,当前DoKit已经发展成了一个相对完整的生态,比如DoKit For Android、DoKit For iOS、DoKit For 小程序、DoKit For Flutter、DoKit For Web。同时我们的项目被BAT以及滴滴、字节、快手、京东等等头部独角兽企业广泛使用并获得良好的口碑。随着dokit.cn平台端的推出,标志着DoKit已经从单纯的效率工具正式进入了效率工具平台的阶段。与此同时我们一直都未停下持续探索的精神,积极地在更多平台领域进行尝试,不给自己设限。我们相信DoKit的未来充满无限可能。

English Readme

领域生态

DoKit 首页效果演示

使用手册

访问DoKit官网,点击"使用中心"。

新用户重点关注:受集团影响当前DoKit平台端不支持新用户注册,老用户不受影响,新用户开放注册时间以官方消息为准!!!另外只有平台端的相关功能需要申请productId,假如不需要相关功能可以不填或者填空。

温馨提示:当前DoKit的所有功能都只针对Debug环境,Release环境未经过实际验证,所以请大家严格按照官方文档来集成,也不建议大家在Release环境上使用DoKit的任何功能。如果大家一定要在Release环境上使用,请自行进行充分的测试和验证,DoKit官方将不承担任何责任和损失。

更新日志

社区活动

DoKit调研问卷 亲爱的DoKit用户,动动你的小手指参与一下我们的官方调研活动吧。我们极度渴望听到你们的声音:

链接:https://page.juyanwenjuan.com/jy_0CMpJzlu.html

DoKit 首页效果演示

开发背景

每一个稍微有点规模的 App,总会自带一些线下的测试功能代码,比如环境切换功能、帧率查看功能等等,这些功能的切换入口往往放在各式各样的入口中,比如一些特殊的手势,双击 statusBar,双击某一个功能区块,或者新建一个 keyWindow 始终至于 App 最上方等等,而且每一个 App 里面的线下附带功能模块很多是相似的,比如帧率查看、内存和 CPU 监控等等,但是现在基本上都是每个 App 都是自己实现了一份,经历了以上的问题之后,DoKit 就有了它存在的意义。

DoKit 是一个功能平台,能够让每一个 App 快速接入一些常用的或者你没有实现的一些辅助开发工具、测试效率工具、视觉辅助工具,而且能够完美在 Doraemon 面板中接入你已经实现的与业务紧密耦合的一些非通有的辅助工具,并搭配我们的dokit平台,让功能得到延伸,接入方便,便于扩展。

简单总结

1、DoKit 能够快速让你的业务测试代码能够在这里统一管理,统一收口;

2、DoKit 内置很多常用的工具,避免重复实现,一次接入,你将会拥有强大的工具集合;

3、搭配dokit平台,借助接口Mock健康体检文件同步助手一机多控让你方便和他人协同,极大的提升研发过程中的效率。

功能模块

一、平台工具(www.dokit.cn)

  1. 【数据Mock】 App接口Mock解决方案,提供一套基于App网络拦截的接口Mock方案,无需修改代码即可完成对于接口数据的Mock。
  2. 【健康体检】 一键式操作,整合DoKit多项工具,数据可视化,快速准确定位问题,让你对app的性能了如指掌。
  3. 【文件同步助手】 通过终端服务,让你的终端空间在平台端完整的展现并提供强大的文件以及数据库操作能力。
  4. 【一机多控】 主从同步,释放人力,让研发测试效率提升看得见

二、常用工具

  1. 【App 信息查看】 快速查看手机信息,App 基础信息、签名相关、权限信息的渠道,避免去手机设置查找或者查看项目源代码的麻烦;
  2. 【开发者选项 Android特有】 一键跳转开发者选项,避免安卓由于平台差异导致的入口不一致
  3. 【本地语言】 一键跳转本地语言,避免安卓由于平台差异导致的入口不一致
  4. 【沙盒浏览】 App 内部文件浏览的功能,支持删除和预览, 并且能通过 AirDrop 或者其他分享方式上传到 PC 中,进行更加细致的操作;
  5. 【MockGPS】 App 能定位到全国各地,支持地图地位和手动输入经纬度;
  6. 【H5任意门】 开发测试同学可以快速输入 H5 页面地址,查看该页面效果;
  7. 【Crash查看】 方便本地打印出出现 Crash 的堆栈;
  8. 【子线程UI】 快速定位哪一些 UI 操作在非主线程中进行渲染,避免不必要的问题;(iOS独有)
  9. 【清除本地数据】 一键删除沙盒中所有数据;
  10. 【NSLog】 把所有 NSLog 信息打印到UI界面,避免没有开发证书无法调试的尴尬;
  11. 【Lumberjack】 每一条 CocoaLumberjack 的日志信息,都在在 App 的界面中显示出来,再也不需要导出日志这么麻烦;(iOS独有)
  12. 【DBView】 通过网页方便快捷的操作应用内数据库,让数据库的调试变得非常优雅;
  13. 【模拟弱网】 限制网速,模拟弱网环境下App的运行情况;(android独有)
  14. 【JS脚本】 在指定WebView运行JS脚本。(iOS独有)

三、性能检测

  1. 【帧率】 App 帧率信息提供波形图查看功能,让帧率监控的趋势更加明显;
  2. 【CPU】 App CPU 使用率信息提供波形图查看功能,让 CPU 监控的趋势更加形象;
  3. 【内存】 App 内存使用量信息提供波形图查看功能,让内存监控的趋势更加鲜明;
  4. 【流量监控】 拦截 App 内部流量信息,提供波形图展示、流量概要展示、流量列表展示、流量筛选、流量详情,对流量信息统一拦截,成为我们 App 中自带的 "Charles";
  5. 【卡顿】 锁定 App 出现卡顿的时刻,打印出对应的代码调用堆栈;
  6. 【大图检测】 通过流量监测,找出所有的大小超标的图片,避免下载大图造成的流量浪费和渲染大图带来的CPU消耗。
  7. 【启动耗时】 无侵入的统计出App启动过程的总共耗时;
  8. 【UI层级检查】 检查出每一个页面中层级最深的元素;
  9. 【函数耗时】 从函数级别分析app性能瓶颈;
  10. 【Load】 找出所有的Load方法,并给出耗时分析;(iOS独有)
  11. 【内存泄漏】 找出App中所有的内存泄漏的问题。

四、视觉工具

  1. 【颜色吸管】 方便设计师 UI 捉虫的时候,查看每一个组件的颜色值是否设置正确;
  2. 【组件检查】 可以抓取任意一个UI控件,查看它们的详细信息,包括控件名称、控件位置、背景色、字体颜色、字体大小;
  3. 【对齐标尺】 参考 Android 系统自带测试工具,能够实时捕获屏幕坐标,并且可以查看组件是否对齐;
  4. 【元素边框线】 绘制出每一个 UI 组件的边框,对于组件布局有一定的参考意义。

五、Weex专项工具(CML专项工具)

  1. 【console日志查看】 方便在端上查看每一个Weex文件中的console日志,提供分级和搜索功能;
  2. 【storage缓存查看】 将Weex中的storage模块的本地缓存数据可视化展示;
  3. 【容器信息】 查看每一个打开的Weex页面的基本信息和性能数据;
  4. 【DevTool】 快速开启Weex DevTool的扫码入口。

tips : 如果使用我们滴滴优秀的开源跨端方案 chameleon 也可以集成该工具集合

六、支持自定义的业务工具集成到面板中

统一维护和管理所有的测试模块,详见接入手册

七、微信小程序专项工具

详见 Doraemon mini program debugger

相关文档

微信交流群(一群满员,已开二群)

搜索justdokit加我微信好友,注意请添加备注:昵称-DoKit社区用户,否则你的申请将不会被验证通过。 51640263734_ pic


QQ 交流群

QQ 交流群


















项目成员

创始人 yixiangboy(易翔) 负责人 小枫

内部核心成员 小枫ChasonTangAdamCaoQAQfangyeqing123RealOnlyoneHeyCFarmeryFeii卡布达maxieezhugeafanti

贡献者榜单 yixiangboy(易翔)jtsky(金台)LinJZongwanglikun7342jayconsciousjellybeanlinusflowwangzhipengBzCoderchangzuozhenmomoxiangbeiwenquanlebaohiXgbChinnkoy644938647wm219goolongmiracle9312lwhsgz123huakuchaHuginChenfeng562925462azhonrex26csc-EricWuxiandanin0xd-cck373379320fabczy500Knight-ZXWboaiklone1127DeveloperLYsagdragonccworld1000HDB-Liyu-jianfengydlsl

如何成为外部贡献者? 提交有意义的PR,并被采纳。

使用提醒

因为SDK目前会配合dokit.cn平台, 会产生一些网络数据,这些信息我们收集绝不用于任何恶意用途。

以下为所有涉及到网络请求的部分

  1. 统计有多少用户集成了dokit

    Android : DoraemonStatisticsUtil#uploadUserInfo

    iOS : DoraemonStatisticsUtil#upLoadUserInfo

  2. 统计每个内置kit的使用情况

    Android : DataPickManager#realPost

    iOS : DoraemonBuriedPointManager#uploadData

  3. 上传健康体检的相关数据

    Android : AppHealthInfoUtil#post

    iOS : DoraemonHealthManager#upLoadData

  4. 数据mock的相关网络请求

    Android : NetWorkMockFragment 里涉及到接口mock的相关网络请求

    iOS : DoraemonMockManager#queryMockData&uploadSaveData

敬请各位用户知晓。

友情链接

  1. Hummer,Hummer 是一套高性能高可用的跨端开发框架,一套代码可以同时支持开发 Android 和 iOS 应用。现已经支持 Vue/TypeScript/JavaScript 三种语法,面向大前端开发人员,总有一款适合你。

  2. Chameleon,简写CML,中文意思变色龙,意味着就像变色龙一样能适应不同环境的跨端整体解决方案,达到真正意义上"一套代码,多端运行"的终极目标

  3. Booster 是一款专门为移动应用设计的易用、轻量级且可扩展的质量优化框架,其目标主要是为了解决随着 APP 复杂度的提升而带来的性能、稳定性、包体积等一系列质量问题。Booster 提供了性能检测、多线程优化、资源索引内联、资源去冗余、资源压缩、系统 Bug 修复等一系列功能模块,可以使得稳定性能够提升 15% ~ 25%,包体积可以减小 1MB ~ 10MB。同时DoKit插件的底层也是基于Booster进行开发的。

  4. AoE,一个终端侧AI集成运行时环境

  5. Mand Mobile 一款优秀的面向金融场景的 移动端UI组件库

  6. 我们团队的技术公众号【滴滴OrangeLab】,欢迎关注,我们会在这里持续输出团队内部比较有深度的技术沉淀和经验分享,欢迎一起交流。

协议

Apache-2.0 license

DoKit 基于 Apache-2.0 协议进行分发和使用,更多信息参见 协议文件

More Repositories

1

cube-ui

🔶 A fantastic mobile ui lib implement by Vue
JavaScript
9,141
star
2

chameleon

🦎 一套代码运行多端,一端所见即多端所见
JavaScript
9,016
star
3

VirtualAPK

A powerful and lightweight plugin framework for Android
Java
8,979
star
4

LogicFlow

A flow chart editing framework focusing on business customization. 专注于业务自定义的流程图编辑框架,支持实现脑图、ER图、UML、工作流等各种图编辑场景。
TypeScript
8,315
star
5

KnowStreaming

一站式云原生实时流数据平台,通过0侵入、插件化构建企业级Kafka服务,极大降低操作、存储和管理实时流数据门槛
Java
6,941
star
6

booster

🚀Optimizer for mobile applications
Kotlin
4,866
star
7

nightingale

An enterprise-level cloud-native monitoring system, which can be used as drop-in replacement of Prometheus for alerting and management.
Go
4,510
star
8

mpx

Mpx,一款具有优秀开发体验和深度性能优化的增强型跨端小程序框架
JavaScript
3,619
star
9

mand-mobile

💰 A mobile UI toolkit, based on Vue.js 2, designed for financial scenarios.
Vue
3,454
star
10

sharingan

Sharingan(写轮眼)是一个基于golang的流量录制回放工具,适合项目重构、回归测试等。
Go
2,276
star
11

tinyid

ID Generator id生成器 分布式id生成系统,简单易用、高性能、高可用的id生成系统
Java
2,265
star
12

xiaoju-survey

XIAOJUSURVEY is an enterprises form builder and analytics platform that allows users to create questionnaires, exams, polls, quizzes, and analyze data online.
TypeScript
2,065
star
13

ChineseNLP

Datasets, SOTA results of every fields of Chinese NLP
HTML
1,783
star
14

DiDiPrism

小桔棱镜,一款专注移动端操作行为的利器! A powerful tool (iOS & Android) that focuses on mobile operation behavior!
Objective-C
1,716
star
15

gendry

a golang library for sql builder
Go
1,613
star
16

Hummer

一套移动端高性能高可用的动态化跨端开发框架
Objective-C
1,339
star
17

DDMQ

DDMQ is a distributed messaging product with low latency, high throughput and high availability.
Java
1,303
star
18

rdebug

Rdebug — Real Debugger
PHP
1,158
star
19

echo

Echo是一款桌面端调试工具,旨在提高客户端的研发调试效率
Objective-C
1,028
star
20

turbo

Turbo is a light-weight flow engine framework, support BPMN2.0. 一款轻量级流程引擎服务框架,可作为底层服务支持各类流程设计、低代码设计、工作流、审批流、服务编排等场景
Java
895
star
21

DroidAssist

A lightweight Android Studio gradle plugin based on Javassist for editing bytecode in Android.
Java
885
star
22

AoE

AoE (AI on Edge,终端智能,边缘计算) 是一个终端侧AI集成运行时环境 (IRE),帮助开发者提升效率。
C++
874
star
23

DRouter

Android Router Framework
Java
739
star
24

AgileTC

AgileTC is an agile test case management platform
JavaScript
673
star
25

falcon-log-agent

用于监控系统的日志采集agent,可无缝对接open-falcon
Go
583
star
26

super-jacoco

Java
473
star
27

epage

一款基于schema的低代码可视化页面配置工具
Vue
460
star
28

GateKeeper

A high-performance Golang gateway that supports rapid development and plug-inization
Go
436
star
29

sds

SDS是一个基于Java开发的简单、易用、高性能的服务降级系统,支持限流、熔断和降级等功能,服务端必备!!
Java
417
star
30

KnowSearch

面向Elasticsearch研发与运维人员,围绕集群、索引构建的零侵入、多租户的Elasticsearch GUI管控平台
Java
413
star
31

kemon

An Open-Source Pre and Post Callback-Based Framework for macOS Kernel Monitoring.
C
373
star
32

di18n

一种自动转换、基于配置的前端国际化方案
JavaScript
305
star
33

pile.js

pile.js components build with React.
CSS
267
star
34

ES-Fastloader

Quickly build large-scale ElasticSearch indices by using the fault tolerance and parallelism of Hadoop
Java
265
star
35

KnowAgent

基于日志模板构建,采集任务动态管控、数据质量精确度量,一站式日志采集平台
Java
255
star
36

Unify

An efficient, flexible Flutter-Native hybrid communication framework for seamless module integration and automatic code generation.
Dart
255
star
37

LogiCommon

Java版 认证、鉴权、管理、任务调度通用功能组件
Java
218
star
38

Tips

JavaScript
187
star
39

maskdetection

C++
179
star
40

DreamBox

DreamBox是一个为客户端开发者打造的统一视图开发框架,具有性能好、可动态更新的特点
Java
166
star
41

dlflow

DLFlow is a deep learning framework.
Python
157
star
42

didi.github.io

didi website
HTML
143
star
43

hetsann

Source Codes of HetSANN in the AAAI'20 paper: An Attention-based Graph Nerual Network for Heterogeneous Structural Learning.
Python
142
star
44

collection

go collection package for fasting coding
Go
127
star
45

athena

A release version for https://github.com/athena-team/athena
Python
124
star
46

JuShaTa

JuShaTa是一个Java容器,提供模块隔离及模块热加载能力。
Java
121
star
47

logbook

Java
107
star
48

heteta

HetETA: Heterogeneous Information Network Embedding for Estimating Time of Arrival
Python
105
star
49

levin

A Quick Way to Bulk Loading
C++
105
star
50

TrafficIndex

TTI ,Smart Transportation Industry Standard
C++
94
star
51

thrift-mock

A lightweight java test library for mocking thrift server
Java
92
star
52

mand-mobile-rn

💰 Mand Mobile for React Native, designed for financial scenarios.
TypeScript
88
star
53

vue-tmap

一个基于腾讯地图JavaScript API GL、TypeScript 封装适用于 Vue3 的高性能地图组件库
TypeScript
88
star
54

slime-validator

JavaScript library of validation based on Plugin system and make data validation be easy.
JavaScript
85
star
55

mtmc-vt

MTMC Vehicle Tracking For AI City challenge 2019
Jupyter Notebook
70
star
56

FeatureProbe

开源的高效可视化『功能』管理平台,提供灰度发布、AB实验、配置变更全功能。
66
star
57

sgt

didiyun super-agent daemon
Go
58
star
58

ALITA

ALITA is a layer-based data analysis tool. The front-end see
Java
51
star
59

react-tmap

一个基于腾讯地图JavaScript API GL、TypeScript 封装适用于 react 的高性能地图组件库
TypeScript
48
star
60

benchmark-thrift

An open source application designed to load test Thrift applications
Java
45
star
61

elastic-trib

elasticsearch cluster command line tool.
Go
39
star
62

mpx-cube-ui

基于"Mpx 小程序框架"的移动端基础组件库
TypeScript
27
star
63

yarc

基于 eBPF 的流量录制工具
C
26
star
64

tg-flow

Go
24
star
65

paladin

Scala
20
star
66

MEEP

End-to-end framework to build automatic agents (chatbots) for task-oriented dialogs
Python
18
star
67

WorkTrans

Python
15
star
68

ALITA_UI

ALITA is a layer-based data analysis tool. The back-end see
JavaScript
13
star
69

wmt2021_triangular_mt

The baseline model code for WMT 2021 Triangular MT
Python
13
star
70

MeetDot

Python
12
star
71

DAIBench

Shell
10
star
72

didi-tech-edu

9
star
73

daedalus

JavaScript
7
star
74

tmap-types

腾讯地图 js api 类型声明,主要用于 react-tmap 和 vue-tmap 组件库
5
star
75

Json-adapter

Java
3
star