简介
Mpx是一款致力于提高小程序开发体验和效率的增强型小程序框架,目前在滴滴公司内部支撑了包括滴滴出行小程序,滴滴出行广场小程序,青桔单车,黑马电单车,小桔养车,小桔加油在内的小程序生态;随着Mpx发布了2.0版本,适配了目前业内已经发布的所有小程序平台(微信、支付宝、百度、头条、qq),并且提供了直接将现有微信小程序编译输出到其他平台运行的能力。Mpx最新版本v2.1.6, github star 13K+, Apache License 2.0协议。
Mpx设计思路
目前业界主流的小程序框架主要有WePY,mpvue和Taro,这三者都是将其他的语法规范转译为小程序语法规范,我们称其为转译型框架。不同于上述三者,Mpx是一款基于小程序语法规范的增强型框架,我们使用Vue中优秀的语法特性增强了小程序,而不是让用户直接使用vue语法来开发小程序,之所以采用这种设计主要是基于如下考虑:
- 转译型框架无法支持源框架的所有语法特性(如Vue模板中的动态特性或React中动态生成的jsx),用户在使用源框架语法进行开发时可能会遇到不可预期的错误,具有不确定性
- 小程序本身的技术规范在不断地更新进步,许多新的技术规范在转译型框架中无法支持或需要很高的支持成本,而对于增强型框架来说只要新的技术规范不与增强特性冲突,就能够直接支持
功能特性
- 数据响应特性(watch / computed)
- 增强的模板语法(动态组件 / 样式绑定 / 类名绑定 / 内联事件函数 / 双向绑定 等)
- 深度性能优化(原生自定义组件/基于依赖收集和数据变化的setData)
- Webpack编译(npm/循环依赖/Babel/ESLint/css预编译/代码优化等)
- 单文件组件开发
- 渐进接入 / 原生组件支持
- 状态管理(Vuex规范/多实例/可合并)
- 跨团队合作(packages)
- 逻辑复用能力(mixins)
- 脚手架支持
- 小程序自身规范的完全支持
- 多平台支持(微信、支付宝、百度、qq、头条)
- 跨平台编译(支持将微信小程序转换为支付宝、百度、qq、头条小程序)
Mpx优势
- 基于小程序自身的技术标准进行增强,没有进行过重的DSL转换,开发时遇到的坑会更少;
- 完全兼容原生小程序技术规范,0成本迁移原生小程序项目;
- 跨平台开发以跨小程序平台为目标,大部分差异抹平工作在编译阶段进行,大大减少运行时适配层增加的包体积;
- 支持业内微信小程序组件库(如vant、iView等)直接转换到其他小程序平台运行;
- 非常重视小程序性能,提供了深度的setData和包体积优化。
快速上手
# 安装mpx命令行工具 npm i -g @mpxjs/cli # 初始化项目 mpx init <project-name> # 进入项目目录 cd <project-name> # 安装依赖 npm i # development npm run watch # production npm run build -p
使用微信开发者工具打开项目文件夹即可预览效果。
本文暂时没有评论,来添加一个吧(●'◡'●)