滴滴正式发布开源客户端研发助手DoKit 3.0,新特性解读
小编推荐:Dokit3.0突破了原先我们对于工具的定位,经过我们的不断努力和尝试我们将其能力得到延伸。同时让你的研发效率进一步提升,健康体检让你体验一键式操作的快乐,数据Mock业务代码零侵入让你从此告别反复的代码修改和编译。dokit.cn一个能够满足泛前端开发、测试、设计等等需求的功能丰富的通用型平台。
1.
DoKit3.0 - 不只是工具
首先我要代表团队对于大家一直以来对 DoKit 的支持表示感谢,DoKit 的今天离不开大家共同的努力和贡献。所以为了更好的回馈社区,我们近期一直在努力的升级内部架构,同时我们还结合实际业务场景新增了两个重磅的功能:接口 mock 和 健康体检,配合平台端 dokit.cn 一起使用,让 DoKit 的能力得到延伸。当前,DoKit3.0 版本已经发布,在这里非常欢迎大家的升级使用。同时也很希望大家能将使用过程中遇到的各种问题通过各种渠道 (github issues、QQ 群等等) 反馈给我们,让我们大家一起努力把 DoKit 的生态建立的更加完善。
在这之前我想问一个问题:大家想起 DoKit 第一印象是什么?好像只是一个端上的工具,包括 Android、iOS、小程序。功能丰富、好用,提高了大家的研发效率,同时也获得了社区包括我们滴滴内部业务的广泛好评。但是我们团队在讨论 DoKit 的定位以及未来规划的时候在想:那在我们自己的心目中 DoKit 应该是什么样的?
简单的工具集合肯定不是我们想要的,我们希望将 DoKit 打造成一个平台,一个能够满足泛前端开发、测试、设计等等需求的功能丰富的通用型平台。这样当以后大家再想起或者向别人介绍 DoKit 的时候会说,DoKit 是一个通用的研发平台,而不仅仅只是一个工具。为此我们推出了 DoKit3.0,这也是我们实现目标的第一步。
Android
iOS
数据 Mock
健康体检
DBView
android 直接接入的 Android-Debug-Database 方案;
iOS 是由社区同学 y500 提供的 iOSDebugDatabase, 感谢该同学的贡献。 函数耗时
其他工具
http://xingyun.xiaojukeji.com/docs/dokit/#/WebInstruction
拦截规则: 假如命中拦截规则我们会将 http 重定向到我们的 DoKit 后台并返回 Mock 数据。
模板规则: 假如命中模板规则,我们会将真实的接口数据保存,用户可以进入模板页面, 找到指定的模板项并将模板数据上传到我们的 DoKit 后台并用于创建场景。
以前我们要在移动端要进行接口 Mock 的常规操作,基本上都是先拿到一个定义好的 mock 接口然后在代码中修改 url,然后等待编译、完成以后运行一下好像没什么问题然后又改回去编译。重复这样的操作。 一般来说我们泛前端都是需要依赖后端的接口进行开发的,这个操作无法同时进行,所以当多条业务需求同时开发的时候就容易由于资源不足和安排不当造成进度阻塞。 关于测试用例。一般来说我们在需求评审完成以后我们的测试人员就开始编写测试用例了,但是这样的用例往往都是文档化的,我们研发要进行用例测试边界情况的时候往往是通过修改代码来完成的。测试用例大部分用例也是依赖接口的。
pod 'DoraemonKit/Core', :git => "https://github.com/didi/DoraemonKit.git", :tag => '3.0.0', :configurations => ['Debug']// 必选
pod 'DoraemonKit/WithLogger', :git => "https://github.com/didi/DoraemonKit.git", :tag => '3.0.0', :configurations => ['Debug']// 可选
pod 'DoraemonKit/WithGPS', :git => "https://github.com/didi/DoraemonKit.git", :tag => '3.0.0', :configurations => ['Debug']// 可选
pod 'DoraemonKit/WithLoad', :git => "https://github.com/didi/DoraemonKit.git", :tag => '3.0.0', :configurations => ['Debug']// 可选
pod 'DoraemonKit/WithDatabase', :git => "https://github.com/didi/DoraemonKit.git", :tag => '3.0.0', :configurations => ['Debug']// 可选
pod 'DoraemonKit/WithMLeaksFinder', :git => "https://github.com/didi/DoraemonKit.git", :tag => '3.0.0', :configurations => ['Debug']// 可选
pod 'DoraemonKit/WithWeex', :git => "https://github.com/didi/DoraemonKit.git", :tag => '3.0.0', :configurations => ['Debug']// 可选
#ifdef DEBUG
#import <DoraemonKit/DoraemonManager.h>
#endif
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
#ifdef DEBUG
[[DoraemonManager shareInstance] installWithPid:@"productId"];//productId 为在"平台端操作指南"中申请的产品 id
#endif
}
# 添加仓库
buildscript {
apply from: "config.gradle"
repositories {
google()
jcenter()
maven { url 'https://www.jitpack.io' }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.1'
classpath 'com.didichuxing.doraemonkit:doraemonkit-plugin:3.0.0'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
# 项目 app module 的 build.gradle 中
apply plugin: 'com.didi.dokit'
debugImplementation "com.didichuxing.doraemonkit:doraemonkit:3.0.0"
releaseImplementation "com.didichuxing.doraemonkit:doraemonkit-no-op:3.0.0"
public class App extends Application {
private static final String TAG = "App";
public static Activity leakActivity;
@Override
public void onCreate() {
super.onCreate();
//productId 为在"平台端操作指南"中申请的产品 id
DoraemonKit.install(this, null, "productId");
}
}
我是来自浙江台州爱好看电影、唱歌、爬山并对于代码有轻微洁癖的狮子座程序员同时也是开源项目的死忠粉。人生格言:当你停止尝试时候,就是失败的时候。