编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

滴滴小程序框架Mpx最新版本2.1.6,支持小程序跨平台开发

wxchong 2024-07-04 09:56:59 开源技术 39 ℃ 0 评论

简介

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

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

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表