经评论区@crazy_day提醒以及个人经历,选择框架之前一定要慎重!! !注意去GitHub看社区是否活跃(我在下面的每个框架都提供了跳转链接方便大家进行查看)
文章写于2020年9月,注意查看框架仍在更新维护
一、uni-app
官网
github
uni-app 是一个使用 Vue.js 开发小程序、H5、App的统一前端框架。 开发者使用 Vue 语法编写代码,uni-app 框架将其编译到 小程序(微信/支付宝/百度/字节跳动/QQ/钉钉)、App(iOS/Android)、H5等多个平台,保证其正确运行并达到优秀体验。
特性:
开发者和案例更多:HBuilder装机量500万台,开发者社区月活百万,70多个QQ微信
群承载10万人。案例众多,uni统计月活10亿
性能更高(见评测)
更丰富的周边生态,插件市场数千款插件
提供比小程序原生开发更好的开发体验、更高的工程化效率
跨端抹平度更完善,且各端特色发挥更灵活,可真正实现一套代码多端覆盖,无需各端多头维护升级
权威认可:阿里小程序官方工具内置uni-app、腾讯课堂官方自制uni-app培训视频
GitHub:
二、wepy
官网
github wepy框架开发资源汇总
WePY (发音: /'wepi/)是一款让小程序支持组件化开发的框架,通过预编译的手段让开发者可以选择自己喜欢的开发风格去开发小程序。框架的细节优化,Promise,Async Functions 的引入都是为了能让开发小程序项目变得更加简单,高效。
同时 WePY 也是一款成长中的框架,大量吸收借鉴了一些优化前端工具以及框架的设计理念和思想。如果 WePY 有不足地方,或者你有更好的想法,欢迎提交 ISSUE 或者 PR。
特性:
类 Vue 开发风格
支持自定义组件开发
支持引入 NPM 包
支持 Promise
支持 ES2015+ 特性,如 Async Functions
支持多种编译器,Less/Sass/Stylus/PostCSS、Babel/Typescript、Pug
支持多种插件处理,文件压缩,图片压缩,内容替换等
支持 Sourcemap,ESLint 等
小程序细节优化,如请求列队,事件优化等
GitHub:
三、mpvue
官网
github
(个人感觉是最像vue的框架) 美团团队开源的一款使用 Vue.js 开发微信小程序的前端框架。使用此框架,开发者将得到完整的 Vue.js 开发体验,同时为 H5 和小程序提供了代码复用的能力。
特性:
彻底的组件化开发能力:提高代码复用性
完整的 Vue.js 开发体验
方便的 Vuex 数据管理方案:方便构建复杂应用
快捷的 webpack 构建机制:自定义构建策略、开发阶段 hotReload
支持使用 npm 外部依赖
使用 Vue.js 命令行工具 vue-cli 快速初始化项目
H5 代码转换编译成小程序目标代码的能力
GitHub:
四、taro
官网 github 京东凹凸实验室开源的一款使用 React.js 开发微信小程序的前端框架。它采用与 React 一致的组件化思想,组件生命周期与 React 保持一致,同时支持使用 JSX 语法,让代码具有更丰富的表现力,使用 Taro 进行开发可以获得和 React 一致的开发体验。,同时因为使用了react的原因所以除了能编译h5, 小程序外还可以编译为ReactNative; Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5 等应用。
特性:
-
框架支持
React/Nerv 支持, 在 Taro 3 中可以使用完整的 React/Nerv 开发体验
Vue 支持, 在 Taro 3 中可以使用完整的 Vue 开发体验
多端转换支持。 Taro 方案的初心就是为了打造一个多端开发的解决方案。目前 Taro 3 可以支持转换到 微信/京东/百度/支付宝/字节跳动/QQ 小程序 以及 H5 端
GitHub:
五、其他
redux、 megalo、 kbone、 mpx ···
主要推荐使用前面几种,后面的用的不多,GitHub上star数赶不上前面的零头。。。 我自己更倾向于uni-app,主要原因:类vue、GitHub上比较活跃、跨平台数最多,taro也不错,但是taro是taro3才开始支持vue,之前都是react,感觉他的react框架可能更成熟,而我对vue更熟悉一点。同时我认为uni-app这种一份代码在多个平台同时运行是前端未来的趋势。
一份各个框架及原生的测评:https://www.cnblogs.com/cangqinglang/p/11007429.html