该项目已经圆满结束,已支持字节小程序
CML的跨端标准协议
Chameleon 规范了一套跨端标准,称之为MVVM+协议;开发者只需要按照 标准扩展流程 ,即可快速扩展任意MVVM架构模式的新端。并让已有项目无缝运行新端。
目标
按照 新端扩展标准 支持字节跳动小程序
参与方
不懂小彬(滴滴CML团队)、荣景超(滴滴CML团队)、 怀虚 (阿里影业)、 Jeany (芒果TV)
具体工作拆分和排期
开发仓库,基本头条框架已经搭好: https://github.com/chameleon-team/cml-tt-sets
- cml-tt-api的工作是独立的 不依赖其他npm包的开发
- cml-tt-runtime 运行时的工作也是独立的 不依赖其他npm包
- cml-tt-plugin中的模板编译 在事件绑定的代理函数中依赖runtime 其他的工作不依赖
- cml-tt-ui-builtin和 cml-tt-ui依赖cml-tt-runtime和cml-tt-plugin的完成 才能正确执行。
- cml-tt-store的工作也是独立的,基本上小程序端实现是相同的。
| 工作 | 总体工作量 | 排期 | 负责人 | 进度 | 需要单测 | 备注 |
| cml-tt-api | 7天 | | | | 是 | 31个方法 小程序的api基本一致,每天完成5个。 |
| cml-tt-runtime | 7天 | 2019-05-17 | | | 是 | 小程序的VM对象也基本一致,熟悉chameleon-runtime代码 然后进行当前端的改动。 |
| cml-tt-plugin | 7天 | 05-29 | | | 是 | 数据ast的增删改操作,事件处理复杂一些,参考chameleon-template-parse和chameleon-mixins |
| cml-tt-store | 3天 | 05-22 | | | 是 | 小程序的store基本一致,参考chameleon-store |
| cml-tt-ui-builtin | 7天 | 2019-05-27 | | | 否 | 11个多态组件,其他的组件不是多态可以直接测试 需要依赖编译和运行时完成 但也可以提前写好后测试 |
| cml-tt-ui | 3天 | 05-16 | | | 否 | 3个多态组件,其他的组件不是多态可以直接测试 需要依赖编译和运行时完成 但也可以提前写好后测试 |
| 联调测试 | 6天 | 5月30--6月6日 | | | | 编译插件5月29日完成后,进行编译和运行时的联调和测试,两个组件库的测试,store的测试,api的测试。 |
具体排期见如下各负责人评论
8条答案
按热度按时间juzqafwq1#
cml-tt-api
| 工作 | 工作量 | 排期 | 负责人 | 进度 | 备注 |
| alert方法实现与测试demo | | 05-06 | Jeany | 已完成 | |
| canIUse方法实现与测试demo | | | | 完成 | 无 |
| cancelAnimationFrame方法实现与测试demo | | 05-07 | Jeany | 已完成 | |
| chooseImage方法实现与测试demo | | 05-07 | Jeany | 已完成 | |
| close方法实现与测试demo | | 05-07 | Jeany | 已完成 | |
| confirm方法实现与测试demo | | 05-06 | Jeany | 已完成 | |
| cpx2px方法实现与测试demo | | | | 完成 | |
| createAnimation方法实现与测试demo | | 05-16 | Jeany | 完成 | |
| get方法实现与测试demo | | 05-16 | | 完成 | |
| getClipBoardData方法实现与测试demo | | 05-08 | | 完成 | |
| getLaunchOptionsSync方法实现与测试demo | | 05-16 | | 完成 | |
| getLocationInfo方法实现与测试demo | | 05-16 | | 完成 | |
| getRect方法实现与测试demo | | 05-16 | | 完成 | |
| getStorage方法实现与测试demo | | 05-08 | | 完成 | |
| getSystemInfo方法实现与测试demo | | 05-16 | | 完成 | |
| inSDK方法实现与测试demo | | 05-06 | Jeany | 已完成 | |
| initSocket方法实现与测试demo | | 05-16 | | 完成 | |
| navigateBack方法实现与测试demo | | 05-16 | | 完成 | |
| navigateTo方法实现与测试demo | | 05-16 | | 完成 | |
| open方法实现与测试demo | | 05-08 | | 完成 | 无 |
| post方法实现与测试demo | | 05-16 | 完成 | 完成 | |
| px2cpx方法实现与测试demo | | 05-16 | | 完成 | |
| redirectTo方法实现与测试demo | | 05-16 | | 完成 | |
| reload方法实现与测试demo | | 05-16 | | 完成 | 无 |
| removeStorage方法实现与测试demo | | 05-08 | | 完成 | |
| request方法实现与测试demo | | 05-16 | | 完成 | |
| requestAnimationFrame方法实现与测试demo | | 05-07 | Jeany | 已完成 | |
| setClipBoardData方法实现与测试demo | | 05-08 | | 完成 | |
| setStorage方法实现与测试demo | | 05-08 | | 完成 | |
| setTitle方法实现与测试demo | | 05-07 | Jeany | 已完成 | |
| showToast方法实现与测试demo | | 05-06 | Jeany | 已完成 | |
3df52oht2#
cml-tt-runtime
chameleon-team/cml-tt-sets#1
cml-tt-ui-builtin
chameleon-team/cml-tt-sets#2
bnl4lu3b3#
cml-tt-plugin
8fq7wneg4#
cml-tt-ui
olmpazwi5#
cml-tt-store
cpjpxq1n6#
#36
xtupzzrd7#
CML扩展字节跳动小程序测试工作
目标
对扩展字节跳动小程序进行完整测试
参与方
滴滴CML团队、阿里影业、芒果TV
具体测试工作
1 各npm包功能的测试
负责人: 各npm包开发者
| 工作 | 排期 |
| api库 测试demo要覆盖到每一个方法的调用参数。 | |
| ui组件库 测试demo要覆盖到每一个组件的属性和事件。 | |
| ui-builtin组件库 测试demo要覆盖到每一个组件的属性和事件。 | |
| plugin 测试每一个指令,模板编译的每一个处理。 | |
| runtime 测试每一个options选项的处理。 | |
| store 测试store的完整功能。 | |
2 实例项目测试
把原来没有头条小程序的项目改成支持头条小程序进行测试。
负责人:
附:
各npm包需要测试的主要功能。
cml-tt-api
| 工作 | 工作量 | 排期 | 负责人 | 进度 | 备注 |
| alert方法实现与测试demo | | | | | |
| canIUse方法实现与测试demo | | | | | |
| cancelAnimationFrame方法实现与测试demo | | | | | |
| chooseImage方法实现与测试demo | | | | | |
| close方法实现与测试demo | | | | | |
| confirm方法实现与测试demo | | | | | |
| cpx2px方法实现与测试demo | | | | | |
| createAnimation方法实现与测试demo | | | | | |
| get方法实现与测试demo | | | | | |
| getClipBoardData方法实现与测试demo | | | | | |
| getLaunchOptionsSync方法实现与测试demo | | | | | |
| getLocationInfo方法实现与测试demo | | | | | |
| getRect方法实现与测试demo | | | | | |
| getStorage方法实现与测试demo | | | | | |
| getSystemInfo方法实现与测试demo | | | | | |
| inSDK方法实现与测试demo | | | | | |
| initSocket方法实现与测试demo | | | | | |
| navigateBack方法实现与测试demo | | | | | |
| navigateTo方法实现与测试demo | | | | | |
| open方法实现与测试demo | | | | | |
| post方法实现与测试demo | | | | | |
| px2cpx方法实现与测试demo | | | | | |
| redirectTo方法实现与测试demo | | | | | |
| reload方法实现与测试demo | | | | | |
| removeStorage方法实现与测试demo | | | | | |
| request方法实现与测试demo | | | | | |
| requestAnimationFrame方法实现与测试demo | | | | | |
| setClipBoardData方法实现与测试demo | | | | | |
| setStorage方法实现与测试demo | | | | | |
| setTitle方法实现与测试demo | | | | | |
| showToast方法实现与测试demo | | | | | |
cml-tt-runtime
| 工作 | 工作量 | 排期 | 负责人 | 进度 | 备注 |
| 适配options |
| 处理props | | | | | |
| 处理data | | | | | |
| 生命周期映射 | | | | | |
| 处理mixins | | | | | |
| 处理钩子hooks | | | | | |
| 处理methods | | | | | |
| 能力注入(在最早生命周期hook,对执行上下文 this 改造) |
| 处理 data【使具备响应式数据处理能力】 | | | | | |
| 处理 computed【使具备计算属性能力】 | | | | | |
| 处理 watch【使具备数据监听能力】 | | | | | |
cml-tt-plugin
| 工作 | 工作量 | 排期 | 负责人 | 进度 | 备注 |
| c-if c-else c-else-if c-show c-for c-text c-key | | | | | |
| component is 动态组件 | | | | | |
| c-model | | | | | |
| c-bind 事件绑定 配合运行时mixins代理事件与处理事件对象 | | | | | |
| c-animation | | | | | |
| style与class处理 | | | | | |
| 基本标签替换 | | | | | 如果需要的话,比如cell 替换成view slider-item替换成swiper-item |
cml-tt-ui-builtin
| 工作 | 工作量 | 排期 | 负责人 | 进度 | 备注 |
| checkbox/radio/layout文件夹下的7个布局 组件实现与测试demo | | | | | |
| button 组件实现与测试demo | | | | | |
| carousel 组件实现与测试demo | | | | | |
| carousel-item 组件实现与测试demo | | | | | |
| input 组件实现与测试demo | | | | | |
| list 组件实现与测试demo | | | | | |
| page 组件实现与测试demo | | | | | |
| richtext 组件实现与测试demo | | | | | |
| scroller 组件实现与测试demo | | | | | |
| switch 组件实现与测试demo | | | | | |
| textarea 组件实现与测试demo | | | | | |
| video 组件实现与测试demo | | | | | |
cml-tt-ui
| 工作 | 工作量 | 排期 | 负责人 | 进度 | 备注 |
| c-picker-item 组件实现与测试demo | | | | | |
| c-refresh 组件实现与测试demo | | | | | |
| c-actionsheet, c-checkbox-group, c-dialog, c-loading, c-picker, c-picker-panel, c-popup, c-radio-group, c-tab, c-tab-item, c-tab-pane, c-tab-pane-item, c-tabbar, c-tip, c-toast 组件实现与测试demo | | | | | |
cml-tt-store
| 工作 | 工作量 | 排期 | 负责人 | 进度 | 备注 |
| createStore | | | | | |
| commit | | | | | |
| dispatch | | | | | |
| mapState | | | | | |
| mapGetters | | | | | |
| mapMutations | | | | | |
| mapActions | | | | | |
| registerModule | | | | | |
um6iljoc8#
已支持 https://github.com/chameleon-team/cml-tt-sets