/mpx

Mpx - An enhanced miniprogram framework with data reactivity and deep optimizition.

Primary LanguageJavaScriptApache License 2.0Apache-2.0

MPX

An enhanced miniprogram framework with data reactivity and deep optimizition.

Build Status

简介

Mpx是一款致力于提高小程序开发体验的增强型小程序框架,通过Mpx,我们能够最先进的web开发体验(Vue + Webpack)来开发生产性能深度优化的小程序,Mpx具有以下一些优秀特性:

Mpx2.0正式发布!支持目前业内全部小程序平台及跨小程序平台编译,点此查看详情点此查看迁移指南

使用

# 安装mpx命令行工具
npm i -g @mpxjs/cli

# 初始化项目
mpx init <project-name>

# 进入项目目录
cd <project-name>

# 安装依赖
npm i

# development
npm run watch

# production
npm run build -p

使用微信开发者工具打开项目文件夹即可预览效果。

文档

https://didi.github.io/mpx

官方示例项目

设计思路

目前业界主流的小程序框架主要有WePY,mpvue和Taro,这三者都是将其他的语法规范转译为小程序语法规范,我们称其为转译型框架。不同于上述三者,Mpx是一款基于小程序语法规范的增强型框架,我们使用Vue中优秀的语法特性增强了小程序,而不是让用户直接使用vue语法来开发小程序,之所以采用这种设计主要是基于如下考虑:

  • 转译型框架无法支持源框架的所有语法特性(如Vue模板中的动态特性或React中动态生成的jsx),用户在使用源框架语法进行开发时可能会遇到不可预期的错误,具有不确定性
  • 小程序本身的技术规范在不断地更新进步,许多新的技术规范在转译型框架中无法支持或需要很高的支持成本,而对于增强型框架来说只要新的技术规范不与增强特性冲突,就能够直接支持

生态周边

包名 版本 描述
@mpxjs/core npm version mpx运行时核心
@mpxjs/webpack-plugin npm version mpx编译核心
@mpxjs/cli npm version mpx脚手架命令行工具
@mpxjs/fetch npm version mpx网络请求库,处理wx并发请求限制
@mpxjs/webview-bridge npm version 为跨小程序平台的H5项目提供通用的webview-bridge
@mpxjs/api-proxy npm version 将各个平台的 api 进行转换,也可以将 api 转为 promise 格式

交流

打开链接扫码进入微信群或QQ群:https://s.didi.cn/rod