mip-project / mip

MIT License
11 stars 1 forks source link

MIP1 改造需求 #22

Open PengXing opened 6 years ago

PengXing commented 6 years ago

前提

梳理清楚 MIP1 和 MIP2 的区别,弄明白哪些是要在 MIP2 中去掉的,哪些是为了兼容 MIP1 而添加的模块

MIP2 在初期会兼容 MIP1 组件的运行,但需要 MIP1 进行如下的低成本的改造,这是最低限度的要求

MIP1 需要改造的点

Ricardo-Li commented 6 years ago

MIP2 中引入 MIP1 相关文件依赖情况如下:

文件 MIP2 源码依赖 官方组件依赖 第三方组件依赖
mip1-polyfill/customElement.js false all all
mip1-polyfill/element.js false 0 0
mip1-polyfill/naboo.js false 1 7
mip1-polyfill/resources.js 和 customElement/utils/resource.js(需合并) true 0 0
fixed-element.js true 5 9
performance.js true 1 1
sleepWakeModule.js true 0 0
utils/dom/css-loader.js true 0 1
utils/dom/css.js true 18 32
utils/dom/dom.js true 3 9
utils/dom/event.js true 3 6
utils/dom/rect.js true 2 13
utils/gesture true 4 13
utils/customStorage.js true 2 39
utils/event-action.js true 0 0
utils/event-emitter.js true 2 0
utils/fn.js true 12 39
utils/hash.js true 0 1
layout.js true 0 0
utils/platform.js true 6 69
utils/templates.js false 5 39
viewer.js true 11 35
viewport.js true 6 38
tayqassqan commented 6 years ago

各模块JS的职责描述如下: mip1-polyfill/element.js 元素的抽象,提供注册封装 mip1-polyfill/naboo.js 动画库,后续可以考虑webAnimation mip1-polyfill/resources.js customElement管理,是否是必要模块待讨论 fixed-element.js 处理iframe下悬浮元素兼容性问题 performance.js 性能监控模块 sleepWakeModule.js 定制化的页面,对内容做定制化控制,功能比较迷。。。 utils/dom/css-loader.js 组件css加载器 utils/dom/css.js dom的css API utils/dom/event.js dom的event API utils/dom/rect.js dom布局/宽高 API utils/gesture 页面手势封装 utils/customStorage.js 为MIP页在Iframe下单独做的本地存储模块 utils/event-action.js 行为事件封装,例如click/tap utils/event-emitter.js 事件监听与派发 utils/fn.js 类构造器 utils/hash.js hash操作API layout.js 布局计算 utils/platform.js ua、os API utils/templates.js 模板 viewer.js 与外层容器交互 viewport.js 内部视图API,例如scroll,height

PengXing commented 6 years ago

前几天我通读了一下 mip1 的代码,发现这里面能够去掉的模块技术没有 [手动捂脸]