文章列出了今天小程序的帧选择,并简单地分析了它们之间的差异。疮,探索每个人的观点,如如何选择,也请问自己。每个帧的详细技术功能都有,您可以自己搜索。
原生发展
什么是本土开发方法?这个概念实际上很难使用文本来准确定义,因为官方没有定义本机开发方法。这个概念实际上是不言而喻的,我们将根据小程序官方文档的描述开发一个小程序。
定义名词对数学有意义,但对于互联网,定义只是大脑界中的灵感闪烁。雷军可以重新定义“现场的目标”,罗永浩可以重新定义“操作系统”,互联网时代的定义不负责任,每个人都可以重新定义一堆已久的名词,否则交通?
如果您没有定义所谓的本机开发,我们只需要了解小程序本机发展的缺陷以及为什么有许多第三方小程序帧。经过两年多的时间后,applet已经解决了很多早期,如:没有自定义组件,UI控制自由不高,ES6支持不高,开发工具几乎相当于废料,但是当前版本还有一些缺陷:
不能使用预编译的CSS,例如少于/ sass /触控笔
ES新的标准支持太低,如Asncy / AWAIT(ES6 / ES7是如此尴尬,NodeJS不如ES的标准支持)
虽然支持承诺,但官方API返回不是承诺,仍然是一个回调回调函数。
没有国家管理,请参阅Vuex和Redux
没有双向数据绑定(严格说这不是缺陷,主要是由于性能)
没有过滤器(LINUI使用WXS实现一些主流过滤器,但官方支持显然更方便)
强制WXSS,WXML和JS代码为3个不同的文件
这些缺点让习惯于现代前端开发方法的开发商并不那么舒服。那为什么现在这么多第三方发展框架?除了上述本机小程序外,还有其他原因:
applet不再具体是指微信小程序,仍然仍然是一只支付宝/百度/标题小程序。开发人员可能对多功能开发有多次需求,我希望代码可以在多端运行,这是一个非常直接的
一些开发人员希望使用Vue并对开发小程序作出反应在我看来,applet或多端编译的缺陷不是第三方框架的主要原因。第3条:为了使用,这是真的。我们背后会跟上这个。
MPVUE.
githubstars:16k +
最早的外表是韦皮语,然后是美国组的MPVUE开源。 MPVUE最早有两点:
想要用Vue开发一个小程序
我希望现有的大量H5页面可以转换为小程序代码。
mpvue是从Vue.js继承的,这与我们稍后谈过的MPX不同。对于简短来说,MPVue希望开发人员不需要了解applet,只要了解具有Vue的Applets的Vue。
但我可以自由地说,我认为市场使用的小程序在市场上非常重要,对H5超越的需求非常重要;简单的分析,小程序转移H5的技术难度实际上远低于H5传输,稳定性也高得多。从实际情况的角度来看,你想把你的H5变成一个小程序吗?如今,许多新产品首先做一个小程序,然后是H5版本的网页。
我相信大多数开发人员不使用MPVUE,因为我想将H5转变为一个小程序,但由于第一个点:我想使用Vue。
最后,您可能忽略了applet可以运行H5,有许多成功的情况,因为当前的applet已经非常好支持WebView,并且对JS没有太大限制。您可以将H5嵌入设备中。我看到了1 h5版的小程序,感觉经验并不差。
抛出欲望的Vue视野,MPVue只吸引了我的国家管理。
芋头
GitHub Stars:16K +
它应该被认为是去年下半年最受欢迎的小猫的第三方框架,而景东队生产。或列出芋头的优势:
多端编译。理论上,一组代码可以编译为微信/ apapay /百度/标题
使用反应生态发展批准
三个王国英国传记现在只有Angularjs缺席。
芋头的突出显示主要由多端编译,但问题正好在此多端编译。虽然微信小程序和支付宝小程序的组成部分在语法水平中不大,但是不可能同时支持这么多港口。
组件可能是完美的编译,但许多开发人员忽略了一个事实,除了组件之外,还有一个组件,有一个API,并且API的每个不同应用实际上都很大,这是不可避免的编译后手动手册。调整。另一点是,有多少人真正需要发展这么多的小程序?在较高的金额是双端:微信和支撑。你已经确定,使用芋头开发一组代码的成本应该用微信化妆写一个集合,然后复制粘贴以更换代码?
MPX.
GitHub Stars:800 +
滴水产生。滴水非常聪明,MPX迟到了,所以他的路线和芋头,MPVue不一样。
芋头和MPVUE是编制的框架,充分利用反应和VUE生态发展。但MPX是不同的,他非常聪明地将MPX定位成一个小程序语法增强框架。换句话说,它也由本机小程序主导,但您可以使用Vue的一些高级功能。
非常聪明的练习。首先,因为MPVue在前面,MPX没有明亮的点;二,因为你想做完美的Vue编译小程序支付非常高的维护成本,这不一定要解决。
以下是MPX文档的以下内容:
我们使用Vue中的出色语法特征来增强小程序,而不是让用户直接使用Vue语法来开发一个小程序,主要基于以下注意事项:
翻译框无法支持源帧的所有语法特性(例如在反应中生成的Vue模板或JSX中的动态特性,用户可能在使用源帧语法时遇到不可预测的错误,但不确定性
小程序本身的技术规范不断更新进度。许多新技术规范不能支持或需要在翻译框架中支持或需要高的支持成本,并且对于增强的框架,只要新的技术规范不与增强特性冲突,可以直接支持
一个非常清晰的团队,目前有几个其他框架支持小程序的新功能以跟上官方更新速度。
我的观点
谈论生活,谈论感情,我认为这个过程非常重要。但是对于工作,我只订购了结果。我从来没有对任何技术偏见,但我唯一的珍惜是我的时间。如果可以解决本机发展问题,我将永远不会花费学习第三方框架的成本。如果我可以使用python来解决问题,我不会用java写java。
第三方框架的存在是有价值的。它确实解决了许多人的需求,但我不建议每个人都失明。如果是一个框架,你不知道为什么你使用它,然后使用本土,最和平的选择。
不要忽视这一点:你有第二方框架吗?这当然是不可能的,完全是因为第三方框架,你必须更熟练地发展本机applet。其他,你如何解决每个第三方框架的“pit”?没有框架可以保证完美的翻译成一个小程序。在处理LINUI时,至少发现最近的团队,许多框架推广支持小程序的自定义组件,但是我们使用第三方测试是这些框架无法编译applet wxs。