Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【已完成】【新端扩展】快应用共建计划 #185

Closed
beatles-chameleon opened this issue May 20, 2019 · 6 comments
Closed

【已完成】【新端扩展】快应用共建计划 #185

beatles-chameleon opened this issue May 20, 2019 · 6 comments

Comments

@beatles-chameleon
Copy link
Collaborator

beatles-chameleon commented May 20, 2019

更新已支持快应用:

https://cml.js.org/doc/example/quickapp_miniapp.html

CML的跨端标准协议

Chameleon 规范了一套跨端标准,称之为MVVM+协议;开发者只需要按照标准扩展流程,即可快速扩展任意MVVM架构模式的新端。并让已有项目无缝运行新端。

目标

按照新端扩展标准支持快应用

参与方

快应用官方研发团队

@zheyizhifeng
Copy link

zheyizhifeng commented May 30, 2019

Chameleon扩展快应用排期

目标

按照新端扩展标准支持cml转换快应用

参与方

滴滴CML团队、快应用联盟

具体工作拆分和排期

具体工作拆分和排期

  • cml-quickapp-api的工作是独立的 不依赖其他npm包的开发
  • cml-quickapp-runtime 运行时的工作也是独立的 不依赖其他npm包
  • cml-quickapp-plugin中的模板编译 在事件绑定的代理函数中依赖runtime 其他的工作不依赖
  • cml-quickapp-ui-builtin和 cml-quickapp-ui依赖cml-quickapp-runtime和cml-quickapp-plugin的完成 才能正确执行。
  • cml-quickapp-store的工作也是独立的,基本上小程序端实现是相同的。
工作 总体工作量 排期 负责人 进度 需要单测 备注
cml-quickapp-api 7天 5/30启动 陈磊 除个例API【如setPageTitle】依赖快应用运行时全局环境,以及需要转换为快应用支持的异步调用方式【如cpx2px、px2cpx】,其余都已经实现 31个chameleon的api方法对应快应用 10个类别45个模块[每个模块有多个方法]每天5个模块
cml-quickapp-runtime 12天 6/12启动 陈磊 Runtime如期启动,进展却一路坎坷,截止目前已完成生命周期转换、options\props\methods\data处理,接近完成 参照chameleon-runtime,然后进行相应前端的改动。
cml-quickapp-plugin 5天 7/1启动 陈磊 已启动,是对之前编译转换的进一步完善和补充,对细节语法层面做细致的转化 已打通事件调用
cml-quickapp-ui-builtin 7天 7/6启动 陈磊 已开展 11个多态组件,其他的组件不是多态可以直接测试 需要依赖编译和运行时完成 但也可以提前写好后测试
cml-quickapp-ui 5天 7/13启动 陈磊 已调研 3个多态组件,其他的组件不是多态可以直接测试 需要依赖编译和运行时完成 但也可以提前写好后测试
cml-quickapp-store 3天 7/18启动 陈磊 未开展 参考chameleon-store
联调测试 4天 7/21启动 陈磊 未启动 各部分开发完成后进行联调测试

cml-quickapp-api

工作 工作量 排期 负责人 进度 备注
alert方法实现与测试demo 导入快应用的feature,实现对应方法 5/30 陈磊 已启动
canIUse方法实现与测试demo 5/30
cancelAnimationFrame方法实现与测试demo 5/30
chooseImage方法实现与测试demo 5/30
close方法实现与测试demo 5/30
confirm方法实现与测试demo 5/31
cpx2px方法实现与测试demo 5/31
createAnimation方法实现与测试demo 5/31
get方法实现与测试demo 5/31
getClipBoardData方法实现与测试demo 5/31
getLaunchOptionsSync方法实现与测试demo 5/31
getLocationInfo方法实现与测试demo 6/3
getRect方法实现与测试demo 6/3
getStorage方法实现与测试demo 6/3
getSystemInfo方法实现与测试demo 6/3
inSDK方法实现与测试demo 6/3
initSocket方法实现与测试demo 6/4
navigateBack方法实现与测试demo 6/4
navigateTo方法实现与测试demo 6/4
open方法实现与测试demo 6/4
post方法实现与测试demo 6/4
px2cpx方法实现与测试demo 6/5
redirecquickappo方法实现与测试demo 6/5
reload方法实现与测试demo 6/5
removeStorage方法实现与测试demo 6/5
request方法实现与测试demo 6/5
requestAnimationFrame方法实现与测试demo 6/6
setClipBoardData方法实现与测试demo 6/6
setStorage方法实现与测试demo 6/6
sequickappitle方法实现与测试demo 6/6
showToast方法实现与测试demo 6/6

cml-quickapp-runtime

工作 工作量 排期 负责人 进度 备注
生命周期映射 适配从cml到快应用的生命周期函数映射关系,包括app、page、component各个的生命周期 6/12 ~ 7/1 李恒、陈磊 基本实现,待验证
适配options 6/12 ~ 7/1 未启动
处理props 6/12 ~ 7/1 未启动
处理data 6/12 ~ 7/1 未启动
处理mixins 6/12 ~ 7/1
处理钩子hooks 6/12 ~ 7/1
处理methods 6/12 ~ 7/1
能力注入(在最早生命周期hook,对执行上下文 this 改造)
处理 data【使具备响应式数据处理能力】 6/12 ~ 7/1
处理 computed【使具备计算属性能力】 6/12 ~ 7/1
处理 watch【使具备数据监听能力】 6/12 ~ 7/1

cml-quickapp-plugin

工作 工作量 排期 负责人 进度 备注
基础模板编译 快应用目录结构和源文件生成 5/21 陈磊 初步实现模板编译和生成快应用目录结构以及源代码 manifest.json、签名文件等还需要进一步工作
基本标签替换 7/1 李恒、陈磊 view => div 如果需要的话,比如cell 替换成view slider-item替换成swiper-item
c-if c-else c-else-if c-show c-for c-text c-key 7/2
component is 动态组件 7/3
c-model 7/3
c-bind 事件绑定 配合运行时mixins代理事件与处理事件对象 1/7 ~ 7/5
c-animation 待定
style与class处理 7/4 ~ 7/5

cml-quickapp-ui-builtin

工作 工作量 排期 负责人 进度 备注
checkbox/radio/layout文件夹下的7个布局 组件实现与测试demo 7/6 ~ 7/7 李恒、陈磊 未启动
button 组件实现与测试demo 7/6 ~ 7/8
carousel 组件实现与测试demo 7/6 ~ 7/8
carousel-item 组件实现与测试demo 7/6 ~ 7/8
input 组件实现与测试demo 7/9 ~ 7/10
list 组件实现与测试demo 7/9 ~ 7/10
page 组件实现与测试demo 7/10 ~ 7/11
richtext 组件实现与测试demo 7/10 ~ 7/11
scroller 组件实现与测试demo 7/11 ~ 7/12
switch 组件实现与测试demo 7/11 ~ 7/12
textarea 组件实现与测试demo 7/11 ~ 7/12
video 组件实现与测试demo 7/12 ~ 7/13

cml-quickapp-ui

工作 工作量 排期 负责人 进度 备注
c-picker-item 组件实现与测试demo 7/13 ~ 7/18 李恒、陈磊 未启动
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-quickapp-store

工作 工作量 排期 负责人 进度 备注
createStore 7/18 ~ 7/22 李恒、陈磊 计划中 快应用目前以本地storage为主,未使用到redux、mobx等状态管理lib
commit
dispatch
mapState
mapGequickappers
mapMutations
mapActions
registerModule

@dreamHeroK
Copy link

关注中,怎么没后续了。

@deepkolos
Copy link

好专业的排期

@beatles-chameleon beatles-chameleon changed the title 【新端扩展】快应用共建计划 【已完成】【新端扩展】快应用共建计划 Oct 23, 2019
@Tianfer
Copy link

Tianfer commented Dec 18, 2019

先帝创业未半而中道崩殂,没有后续了?

@zheyizhifeng
Copy link

zheyizhifeng commented Dec 20, 2019 via email

@WJCHumble
Copy link

不应该 closed 吧,问题很多....

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants