特别说明:这是我目前在接触过和使用过的,自认为是最好用的一个小程序开源框架库。
小程序到底有多火,看看目前推出的开源框架以及组件库就知道了。由于小程序开发的火爆,大家都在致力于探索如何更好的,更加高效的开发小程序,以至于很多公司都贡献了小程序开源框架和组件库。
比如我列举一些:
开源框架
1、 mpvue
mpvue 是美团点评开源的一个使用 Vue.js 开发小程序的前端框架。框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compiler 实现,使其可以运行在小程序环境中,从而为小程序开发引入了整套 Vue.js 开发体验。使用 mpvue 开发小程序,你将在小程序技术体系的基础上获取到这样一些能力:
彻底的组件化开发能力:提高代码复用性
完整的 Vue.js 开发体验
方便的 Vuex 数据管理方案:方便构建复杂应用
快捷的 webpack 构建机制:自定义构建策略、开发阶段 hotReload
支持使用 npm 外部依赖
使用 Vue.js 命令行工具 vue-cli 快速初始化项目
H5 代码转换编译成小程序目标代码的能力
Github:https://github.com/Meituan-Dianping/mpvue
官网:http://mpvue.com/
2、Tina.js
Tina.js 一款轻巧的渐进式微信小程序框架。
特性: 轻盈小巧。 极易上手,保留 MINA (微信小程序官方框架) 的大部分 API 设计;无论你有无小程序开发经验,都可以轻松过渡上手。 渐进增强,既有状态管理器,也有路由增强,还可以自己编写插件。
Tina.js 开源框架地址:https://github.com/tinajs/tina
3、Taro
Taro 是由京东 - 凹凸实验室打造的一套遵循 React 语法规范的多端统一开发框架。我要没记错的话,是最近刚刚开源的。
使用 Taro,我们可以只书写一套代码,再通过 Taro 的编译工具,将源代码分别编译出可以在不同端(微信小程序、H5、App 端等)运行的代码。同时 Taro 还提供开箱即用的语法检测和自动补全等功能,有效地提升了开发体验和开发效率。
官网:http://taro.aotu.io/
GitHub: http://github.com/nervjs/taro
4、wepy
WePY 是一款让小程序支持组件化开发的框架,通过预编译的手段让开发者可以选择自己喜欢的开发风格去开发小程序。框架的细节优化,Promise,Async Functions 的引入都是为了能让开发小程序项目变得更加简单,高效。
特性:
类 Vue 开发风格
支持自定义组件开发
支持引入 NPM 包
支持 Promise
支持 ES2015 + 特性,如 Async Functions
支持多种编译器,Less/Sass/Styus、Babel/Typescript、Pug
支持多种插件处理,文件压缩,图片压缩,内容替换等
支持 Sourcemap,ESLint 等
小程序细节优化,如请求列队,事件优化等
Github :https://github.com/Tencent/wepy
官网:https://tencent.github.io/wepy
5、weweb
weweb 是一个兼容小程序语法的前端框架,你可以用小程序的写法,来写 web 应用。如果你已经有小程序了,通过它你可以将你的小程序运行在浏览器中。
特性: 跨平台,一套代码多端运行(小程序、h5、未来直接打包成安卓、ios app 也不是梦) 自带常用组件,完美继承了小程序内置组件 兼容小程序 rpx 语法,使页面更容易适配各种机型
GitHub:https://github.com/wdfe/weweb
组件库
还有各种开源的组件库,比如有以下这几个:
有赞的 zanui-weapp 和 iview 这两个比较出名。
这两个组件库我之前在我的公众号都推荐过,具体用法和功能我就不多介绍了,自己找我以前的推文或者自己搜索一下就很清楚了。用法很简单。
大餐来了
上面介绍了 5 个开源框架和两个组件库,我并不是说上面的不好,上面的绝对都很好,不管上面的几个开源框架还是组件库都是大厂产品,都很好。但是他们仅仅就是开源框架就是开源框架,组件库就是组件库。一直没有满足我单独针对微信小程序开发的痛点。
小程序开发一个是开源框架的好用,另外一个就是丰富的组件库,单纯官方推出的并不能满足我们的需要,上面的框架和组件库都是分开的。所以并不能解决我的痛点。而今天我推荐的这个开源框架既能提供框架也丰富扩展了很多组件,使我们开发的时候不用担心再自己封装组件了。
其实上面分享的组件库有一个重大的缺点,他们组件库足够丰富,但是对于样式的自定义很死板,不灵活,但是今天的这个就灵活多了。
我给大家推荐的这个开源框架就是:touchwx。
Touch WX 是一套完全免费的微信小程序开发框架,包含丰富的 UI 控件用于官方组件的补充。特点如下:
1、组件扩充:
增加了 30 多种常用的组件用于官方组件的补充。
2、功能扩充:
兼容阿里的 iconfont 图标库,海量矢量图标随意使用;补充了常用样式库、支持 less 语法、支持全局配置主题色等
3、开发体验改善:
四文件方式改为单文件方式,通过 VSCode 编辑器 + 插件的方式开发,拥有 web 开发体验;
4、小程序转为 H5 应用:
可以与 H5 开发框架 Touch UI 工程相互转换,发布成 webApp。开发一套代码,拥有两套应用。
这套框架的原理是:
将 Touch WX 工程中所写的代码进行编译,直接输出为微信小程序工程原始代码。扩充的 30 多种组件,完全是基于小程序官方的自定义组件机制实现(row&col 除外)。
所以它支持小程序的全部语法,怎么开发小程序,就怎么开发 Touch WX。
不过因为是单文件的开发方式,在文件的代码结构上稍有不同。请注意这一点。
这样好处在于:
1、开发者迁移成本很小。
可以轻松的将已有的小程序移植为 Touch WX 工程,来使用它的扩展能力;
2、便于排查错误。
当遇到问题时,开发者也可以随时查看输出的小程序原始代码来定位问题所在。不会搞不清楚到底是框架问题还是自己代码的问题;
3、按需编译
由于小程序对体积有限制,在使用框架开发时,只有使用到的组件才会编译输出为小程序源码。没用到的不会输出。
4、不会对框架产生依赖。
以后不想用了这套框架,可以直接对已经输出的小程序工程进行维护。
目前我认为单独针对小程序开发的话,这个开源框架是最适合我们的,效率也是最高的。
GitHub:https://github.com/uileader/touchwx
官网:https://www.wetouch.net/wx.html