1.前言
从微信小程序的16年内部测试到现在,微信小程序已花费时间和实践来证明其变化和价值。在开发社区的影响下,微信小程序的规则也变得更加完善。
对于第三方公司而言,微信为他们带来了巨大的流量门户和低成本的新渠道。滴滴,美团和京东等公司都推出了自己的小型计划。对于共享单车的公司来说,微信是大多数用户的QR码扫描门户,而小程序带来了诸如之类的庞大的流量门户。
对于小型程序开发人员而言,小型程序的开发生态正在不断改善,从原始的本机框架到腾讯自己的具有vue规范的wepy开发,再到美团的近乎即刻写作开发,再到最近的O2 Labs刚刚发布了符合规范的Taro。
到目前为止,开发微信小程序的方法有很多,主要是本机,wepy和Taro这四个框架小程序开发方式,并且这四个方法中也进行了比较分析。
2.框架比较和分析
面对四种开发方法,我们应该选择哪一种?首先,当然要从开发工具,开发方法,应用程序状态管理和社区活动(开源)UI库等的便利性对各种框架进行比较分析。
2. 1开发工具工程2. 2开发方法
本国发展:
我们需要学习一个新的小型程序的编写格式。当前版本的模板支持插槽,但不支持npm软件包。原生不支持css预处理器,但是Easy插件可以自动将更少的文件转换为wxss文件;
wepy:
我们需要熟悉vue和wepy语法,支持slot组件内容分发槽,支持npm包,支持css预处理程序;
:
我们需要熟悉vue,当前版本(v 1. 0. 1 3)不支持插槽,支持npm软件包,支持css预处理器;
taro:
使用语法标准并支持JSX编写,使代码更具表现力,Taro暂时不支持直接渲染。

关于芋头的开发方法,可以在各自的官方文件中找到对芋头的支持程度以及语法和语法的差异。
2. 3应用程序状态管理
本国发展:
没有提供本机应用程序状态管理方法,但是可以将mobx引入项目中。
本身提供了一种声明使用全局变量的方法。有关具体的编写方法,请检查官方网站文件的范围。
wepy:
您可以将项目介绍或添加到项目中。
:
您可以直接使用vuex进行应用程序状态管理,还可以选择在初始化期间是否需要vuex。
taro:
对于不是很大的应用程序,它还提供全局变量的解决方案,全局变量的介绍和解决方案的支持,您可以查看官方网站使用情况,官方网站最佳做法以了解详细信息。
2. 4社区的活跃水平
本国发展:
微信为小程序开发人员提供了专门的社区,以供他们学习并与开发人员社区进行交流。对于UI库,有很多本机 UI库,例如官方的weui,它具有功能强大,价值高,易于使用和易于扩展的 UI库。
其他3帧:
对于wepy,芋头之类的开源项目,如果您想学习和交流,则必须打开。页面上的星星数量与项目出现的时间成正比。 Wepy:多增加12k的星星,:多增加11k的星星:从趋势的角度来看,超过6k的星星有赶上wepy的趋势。

对于wepy来说,它们都具有一些开源的UI库,并且由于芋头是最近启动的,因此需要您自己使用UI。
2. 5比较摘要表
.png
比较表
3.基于公司业务和团队思维
对于公司的业务,必须快速迭代地进行开发,并且本机框架对工程支持不友好,因此可以排除在外。
对于我们大多数现有的前端相关产品和业务,无论是PC端的管理后端还是移动端的h5页面,它们都是基于+结构开发的,而Ant的组件库是在用户界面上使用。
团队成员对语法和相关的生态学非常熟悉。在这一点上,如果我们选择wepy或,我们需要学习新的知识点,即wepy和vue语法。如果使用芋头,团队成员可以迅速开始开发微信小程序。但是,就框架成熟度而言,wepy和芋头出现的时间要早于芋头。许多坑已经被踩踏了。如果您在动手开发中遇到问题,则可以使用以前的解决方案,而芋头才刚刚推出。这个框架的目标是非常伟大的。在开发方法中编写一次代码即可生成可以在微信小程序,H 5、等上运行的应用程序,您肯定会在开发中遇到各种问题。
总而言之,无论您选择哪种框架,对于我们来说都是非常具有挑战性的,而且我个人认为选择芋头更具挑战性,因为芋头才刚刚推出,许多特性和功能正在计划和制定中。开发,例如第三方组件库支持。在开发公司业务时,由于框架的某些功能尚未开发并且缺陷尚未解决,因此我们绝不能停止开发业务的进展。这将促使我们了解芋头框架的底层,即技术原理-芋头技术秘诀:芋头cli,从根本上解决问题,例如,如果没有UI库,则可以自己开发一套。芋头框架上的缺陷被延迟了。如果您不解决,可以尝试自己解决。完成后,您可以要求o2团队提高公关并为开源项目做出贡献。如有必要,您还可以自己维护一套芋头框架源代码。这样做绝对对我们学习前端架构和前端工程的方式很有帮助。
4.发展思路
目前,我只尝试使用芋头开发,因为一个是vue的类,另一个是vue的类,现在vue的生态可以说是相当完整的,因此这两个框架的开发经验非常完美。
4. 1
开始使用开发时,必须首先熟悉vue语法。对于像我这样从未使用过vue和jsx语法的人来说,一开始阅读正式的vue文档有点不舒服,然后慢慢地写成Just习惯它。看一下代码体验:
想想这种结构是很熟悉的,不是我开始时写在同一文件中的html,css,js的结构。
遇到开发问题时,可以通过查看文档和vue文档以及官方的 文档快速找到并轻松解决它们。
4. 2芋头
使用芋头开发时,尽管这是我熟悉的语法,但是在编写时,仍然遇到很多问题。语法上仍存在一些差异。对于差异,请参阅JSX支持程度的官方文档补充说明。遇到问题时,我会在网站上提出问题,o2团队的开发人员也非常认真地回答我的问题,并且芋头框架的缺陷。
对于转换为h5页面,两者均受支持,但是如果要转换为h5,则仍然必须将许多小程序手动转换为Web练习摘要。芋头到h5页面的转换要简单得多。只要遵循芋头规定的语法,并且基本组件是从/导入的,您就可以根据命令进行转换。您可以查看以下两张图片,一张用于小型程序,另一张转换为h5。
.png
小程序
.png
h5
从图片的总体感觉来看,将芋头转换为h5时,UI和体验没有太大差异。可以说芋头的框架非常强大。 (也许这只是一个小演示。在转换为h5的过程中,我没有遇到与h5页面不同或报告错误的情况,但是从上述观点来看,仍然存在许多问题编译到H5。我希望O2团队能够及时解决。)
芋头版本演示项目地址:-taro
5.摘要
无论选择哪种框架,由于许多问题,您仍然需要时间来学习微信小程序的基本知识和基本概念(有关完整的战斗,架构设计和隐藏策略,请参阅官方文档或微信小程序),使用最好是本机解决,组件也要解决。
6.参考文章:
多终端统一开发框架-芋头