在支付宝钱包的平台化路线上,大量的拥有 短平快 (流程短、扁平化、快速开发)特征的业务需求不断涌现。现有的native app开发效率已不能完全满足高效敏捷开发的需求,H5App快速敏捷的开发特点逐渐被予以重视。
当前H5App的开发还停留在按不同需求全新开发的阶段,没有足够的技术沉淀导致重复造轮子的情况屡次发生。因此AMJ架构应运而生。
与Arale倡导的 "向后走" 思路不同,H5App由于拥有离线使用的特点无法交由后台来生成静态页面,因此后台仅能提供数据服务而业务逻辑则无法脱离前端开发。由此AMJ的架构无需过多考虑前后端融合的问题。
UI组件通用视觉设计将交由AMUI解决,AMJ将关注于解决业务逻辑的通用性功能开发。
因此AMJ的主要技术目标定位为 高效高质量的业务逻辑代码通用解决方案
- 服务端数据接口调用 server.require
- 数据模板渲染 handelbars
- 容器API接口调用 AlipayJSBridge.call
- 统一异常捕捉 失败、出错、超时分别不同的处理逻辑
- 多平台兼容性 ios、android乃至今后的wp平台,兼容性各不相同。
- 代码质量 开发能力参差不齐,代码质量无法保证。
- 原生控件模拟 有大量的模拟原生控件的需求。
- 打包部署 缺乏高效、智能的打包压缩合并的工具。
- 代码复用 常用的工具类复用
- 基础优化 现有的touch、scroll等功能支持不足
- 基础类 support、touch、iScroll 等...
- 工具类 getQueryString、dateFormatter 等...
- 控件类 overlay、sheet、dialog 等...
- 功能类 ajaxCache、timeBlock 等...