Skip to content
forked from didi/mpx

Mpx,一款具有优秀开发体验和深度性能优化的增强型小程序开发框架

License

Notifications You must be signed in to change notification settings

SuperHuangXu/mpx

 
 

Repository files navigation

MPX

一款具有优秀开发体验和深度性能优化的增强型小程序开发框架。

Build Status

简介

Mpx是一款致力于提高小程序开发体验和开发效率的增强型小程序框架,通过Mpx,我们能够高效优雅地开发出具有极致性能的优质小程序应用,并将其输出到各大小程序平台和web平台中运行。

Mpx具有以下功能特性:

使用

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

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

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

# 安装依赖
npm i

# development
npm run watch

# production
npm run build

使用小程序开发者工具打开项目文件夹下dist中对应平台的文件夹即可预览效果。

文档

https://didi.github.io/mpx

官方示例项目

设计思路

Mpx的核心设计思路为增强,不同于业内大部分小程序框架将web MVVM框架迁移到小程序中运行的做法,Mpx以小程序原生的语法和技术能力为基础,借鉴参考了主流的web技术设计对其进行了扩展与增强,并在此技术上实现了以微信增强语法为base的同构跨平台输出,该设计带来的好处如下:

  • 良好的开发体验:在方便使用框架提供的便捷特性的同时,也能享受到媲美原生开发的确定性和稳定性,完全没有框架太多坑,不如用原生的顾虑;不管是增强输出还是跨平台输出,最终的dist代码可读性极强,便于调试排查;
  • 极致的性能:得益于增强的设计思路,Mpx框架在运行时不需要做太多封装抹平转换的工作,框架的运行时部分极为轻量简洁,压缩+gzip后仅占用14KB;配合编译构建进行的包体积优化和基于模板渲染函数进行的数据依赖跟踪,Mpx框架在性能方面做到了业内最优(小程序框架运行时性能评测报告);
  • 完整的原生兼容:同样得益于增强的设计思路,Mpx框架能够完整地兼容小程序原生技术规范,并且做到实时跟进。在Mpx项目中开发者可以方便地使用业内已有的小程序生态,如组件库、统计工具等;原生开发者们可以方便地进行渐进迁移;甚至可以将框架的跨平台编译能力应用在微信的原生小程序组件当中进行跨平台输出。

生态周边

包名 版本 描述
@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 格式
@mpxjs/mock npm version 结合mockjs提供数据mock能力

成功案例

微信小程序

滴滴出行 出行广场 滴滴公交 滴滴金融 滴滴外卖 司机招募 小桔加油
彗星英语 番薯借阅 疫查查应用 小桔养车 学而思直播课 小猴启蒙课 科创书店
在武院 三股绳Lite 学而思优选课 食享会 青铜安全医生 青铜安全培训 视穹云机械

其他平台小程序:

滴滴出行(支付宝) 小桔充电(支付宝) 唯品会(QQ) 口袋证件照(百度) 唯品会(百度)

更多案例,若你也在使用Mpx框架开发小程序,并想分享给大家,请填在此issue中。

交流

提供 微信群 / QQ群 两种交流方式

添加MPX入群客服等待受邀入群

Mpx-wx客服

扫码进入QQ群

Mpx-QQ群

图片因github网络问题导致不可见的朋友可以点击该链接:https://s.didi.cn/rod

About

Mpx,一款具有优秀开发体验和深度性能优化的增强型小程序开发框架

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 89.0%
  • Vue 9.5%
  • CSS 1.5%