如何选择微信小程序开发框架?2018年更新
微信小程序是一个建立不到两年的新兴科技生态体系。得益于中国科技发展的规模和速度,一百五十万人的小程序开发者社区已经做出了非常实用的前端开发框架,进一步提高了小程序的开发效率。 (数据来源:腾讯 - 2018年7月)
在国内举办了两次微信开发者聚会后,我们发现越来越多的创业团队和个人有着一个共同的疑问:
制作微信小程序的最佳工具是什么?
本文将试图来回答这个问题。
微信创业者和开发者聚会 上海,中国 2018年9月 — https://www.lewagon.com/zh-CN毫无疑问的是,在2018年,我们需要比前一年更快地发布小程序。以下几个框架为小程序上市提供了更快的速度和更好的互操作性。
让我们来看看这些选择:
各类微信开发框架的比较
MINA,默认的小程序开发框架
微信团队于2016年发布的MINA是微信小程序默认的开发框架。它提供了两种视图语言(WXML和WXSS),还有基于JavaScript的逻辑层。数据绑定和内置事件侦听器让开发人员能够专注于数据处理和视觉效果的动态呈现。整个框架很大程度上受到了VueJS启发,学习起来相对较快。 (我们之前在这篇文章中分享过“企业家如何制作自己的微信小程序”)
📚技术指南: https://developers.weixin.qq.com/miniprogram/dev/index.html
虽然MINA框架的开发还远未到成熟阶段,但它凭借着着庞大的社区,众多在线问答和详细的更新日志,吸引了许多开发人员。
注:2018年8月,微信团队引入了该框架的NPM支持和Cloud BaaS1。
TinaJS,“将MINA发挥到极致”
TinaJS是为小程序制作而发布的最新前端框架之一。TinaJS很大程度上借鉴了MINA的设计并扩展了它的功能、解决了工作流程中的一些不流畅之处。
📚技术指南: https://github.com/tinajs/tina
你会喜欢它的地方:
-
如果你已经了解MINA API,使用TinaJS会非常简单
-
状态管理选项:Tina-Redux中的Redux或从Vuex汲取灵感的Tinax
-
使用更优雅的路由扩展了默认的Mina路由器
-
单个文件组件/页面
-
精心编写的技术文档
-
释放了Webpack的潜能,比如CSS预处理器等功能
缺点:尽管Tina的设计中有许多伟大的想法,但MINA的更新可能会迅速缩小两者的差距,使Tina不再具有优势。
WePy,领域中的先驱
由GCaufy编写的WePy是一个由腾讯官方支持的框架。WePy是小程序框架的先驱,早在2016年微信小程序测试版发布的时候它就出现了。从那时起,数百名活跃的贡献者和一个极有活力的开发者社区就开始通过Github和微信小组合作,把WePY塑造成一个强大的工具包。
📚技术指南: https://github.com/Tencent/wepy
你会喜欢它的地方:
-
像Vue一样的开发风格
-
具有嵌套,命名槽,组件道具等强大组件
-
现代Javascript:使用Babel,整个API包含在promises中
-
使用Node JS:一个功能强大的构建系统,可以使用typescript,css预处理器,html模板,节点环境变量
-
支持Redux进行状态管理
-
利用开源:NPM工作流程使得开发者能够利用GitHub上的所有资源
-
具有Scaffolding的命令行界面
-
跨平台开发:可用于Web和支付宝迷你应用程序!
缺点:很少! WePy很容易上手,并且与所有现代开发流程紧密相关。
整体上来说,使用WePy写的代码在可重用性,可维护性,性能等方面都表现较好。很多人都认为这个框架提高了生产力,带来了更好的产品!
MPVue:适用于VueJS开发人员
美团点评(中国在线团购领域独角兽公司)在2018年3月前后发布了这个开源框架。顾名思义,它的附加价值是使用Vue.JS开发小程序,因此编写时用的是跨平台语言。有了MPVue,你可以利用Webpack将Vue源代码用于Web或微信小程序开发。MPVue已被中国的广大Vue.JS社区迅速采用。
📚技术文档: https://github.com/Meituan-Dianping/mpvue
你会喜欢它的地方:
-
不仅仅是一种开发风格; MPVue采用了Vue.js核心!
-
VueJS开发人员喜欢的Vue组件“单个文件”设计
-
对NPM的支持
-
从H5(Web)到微信小程序,MPVue有着最先进的插件集,提高了代码的可重用性
缺点:这是一个新生的框架,相关技术文档和问答论坛资源有限,让我们期待MPVue的团队在未来半年里内赶上。
Taro:为React开发者服务
作为微信小程序框架家族的最新成员,Taro是针对ReactJS社区开发的前端框架!它的主要优势在于开发者只需一份React.JS源代码,便可编译出Web应用程序,微信小程序甚至原生应用程序。这是MPVue的最大的竞争对手。
📚技术文档: https://nervjs.github.io/taro/docs/README.html
你会喜欢它的地方:
-
框架内部都是熟悉的React!包括JSX,Redux状态管理等组件
-
致力于提供完整的跨平台开发,尽管仍处于早期阶段
-
支持ES7 / 8及更新版本(可配置)
-
包含CSS预编译器,如Sass
-
Taro命令行界面可以加快你的工作流程......例如:
$ taro build --type weapp --watch
$ taro build --type h5 --watch
- 你可以在一个代码库中同时使用Taro组件和MINA组件
如何选择开发框架? 以下是Le Wagon的建议……
首先要说明的是,MINA是微信开发环境新手的首选框架。在开始使用上述任何开源解决方案之前,你必须先做上一两个“基本款”的小程序,了解微信开发环境有哪些可用的操作。
假设你的小程序已经找到了产品市场契合点,你现在需要发布或维护大量源代码,那么请考虑这篇文章中提到的几个高级工具包。
1.如果你想要速度:
考虑使用WePy来快速完成任务!它的CLI,开源组件和开发风格将提高你的工作效率。
2.如果你需要互操作性:
如果你团队的技术栈是VueJS为主,建议使用VueJS;如果是使用React更多,那就选择Taro。显然目前它们还并不完美,但毫无疑问的是,它们各自的开发者社区将在2019年把它们推向新的高峰。
扫描下方二维码关注Le Wagon微信公众号,获取更多编程训练营以及免费工作坊的信息:
想改变生活?:学习编程
Le Wagon是一所编程学校,它致力于为中国的创新人才提供技术培训。Le Wagon是全球评分第一的编程训练营,其全栈课程使参与者能够从头学习JavaScript并设计小程序。