电商平台移动前端框架构建

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 电商平台移动前端框架构建 @vczero 王利华
2. 电商平台关注什么 流畅的购物体验 •  性别的差异,强调“逛”的体验 •  性能流畅 •  界面美观 及时促销 & 活动 •  及时更新 •  动态配置,多套模板 •  业务先行,体验先行
3. 美囤M站现状 现状 •  •  •  •  •  •  •  多页 全部手动拼接字符串,没有模版 第三方库引用很多,代码体积较大 滚动(横向 & 列表)效果差 没有针对大屏设备做适配,例如pad 没有模块化 没有组件化 必须保留 •  多页 & SEO •  考虑目前团队的现状 •  业务先行,动态第一 重构,困难重重,支付链路必须确保无一异常 不重构,代码越来越混乱,体积越来越大!
4. 疯狂的代码 代码总是那么宠辱不惊,有持无恐! 创业团队,实现功能永远是第一位;向往者致敬!
5. 疯狂的代码结构 后面还有2*n个文件,不忍直视.....
6. 原始的⽅式!吐槽? 1. 最原始的方式真的不好? •  符合浏览器解析原理(最野蛮,最快感! ) 没有样式选择器,不关心keyselector ! 渲染树最小渲染,不必构建十分复杂的样式结构... 从上到下下载,从上到下解析 •  Too young, too naive 快速开发,一次发布 BUT……
7. 解放双⼿,⼈类的天性 保持冲动,保持野蛮:人类因为冲动得以延续和发展....... 理性克制主观:充分发挥主观能动性,但是必须在客观的限制下;用工具代替人类重 复性劳动提高生产力 目标 1.  css文件不要全部放入一个文件,影响下载和css渲染结构的快速构建; 2.  不要手动拼接字符串,可以定义模版; 3.  样式独立,且同模板同步下载; 4.  最小颗粒度的渲染,单一组件渲染; 5.  按序加载,充分利用JavaScript的异步; 6.  初始化代码体积最小,防止页面组赛; 7.  符合电商的特点,可以快速切换模版:运营同学,一点都不可爱,但是可以敬 8.  代码可维护,解放双手,提供生产力。
8. M-Fast 为什么不选择市面上的框架? 普适性 VS 业务性?各种框架层出不穷…… 为什么需要框架? 代码越写越乱是必然事件;但是在框架的整体下,情况会好很多。
9. M-Fast框架设计 PageManager 生命周期 page Parse 初始化页面 加载组件 模块化 组件化 框架 预加载公共模块 Header Footer Slide …… 公共头 初始化 公共底 初始化 template tpl prerender page mount web components思想和理念 view 和 controller分离 JavaScript成为主角,可操控性较强 页面解析完成 按需异步加载 业务 1 Page 绑定事件 List Tab …… 防止初始化阻塞
10. 框架流程 3rd UI 组件 config template-html template-js Utils UI Component API Class 入口页面 fast.js 重写require unload 回调加载 UIView Page Manager Plugins 业务tpl-module main controller 继承Page Manager 框架UI组件 JS逻辑代码
11. 模块加载器的选择:requirejs、webpack...... 1. 模块化 1. 选择很重要,理性大于偏好 2. 一个优秀的加载器必须合理地解决业务场景的问题和需求
12. 2. 组件化 引用模板 UI组件 组件 化 预编译 业务代码组件化 工具类 & 插件 •  web components思想 •  样式独立可维护 & JS、模板、样式按需加载
13. 3. ⽣命周期 & Page Container 每个容器各司其职 初始化页面 加载组件 绑定事件 页面解析完成 1. 不做过多的约束;自由的代价 2. 规范流程
14. 4.view & controller View Model 入口文件即main controller
15. 5.Hybrid⽀持 4Wechat 1. H5的价值:分享 & in App 2. 一套代码 in Browser & in App & in Other WebView 3rd登陆 m-fast + h5-fast + plugins 支持美囤 4Native App 宝宝树孕育 宝宝树时光 3rd Apps FAST FRAMEWORK
16. 6.业务组件化 框架组件 Header Tab Footer UISwitch Search Loading
17. 7.其他 1. iScroll支持 2. Fastclick支持 3. 多页里嵌入单页 4. 存储:localStorage、sessionStorage、cookie template-1 template-2 template-3 5. 电商动态配置 6. artTemplate & tmodjs 本地预编译 7. 性能优化...... template-4 ….. 动态require 根据REST接口加载对应模版
18. 回看框架流程 3rd UI 组件 config template template-mod Utils UI Component Class 入口页面 fast.js require UIView 回调加载 Page Manager Plugins 业务tpl-module main controller 继承Page Manager 框架UI组件 JS逻辑代码
19. 大道至简 何须架构,必须野蛮 解放双手
20.

Accueil - Wiki
Copyright © 2011-2024 iteam. Current version is 2.139.0. UTC+08:00, 2024-12-27 00:50
浙ICP备14020137号-1 $Carte des visiteurs$