网站开发 APP开发 小程序开发 SEO优化 公司新闻

小程序原生开发与第三方框架选择

2019-03-12 09:19:39
1364

  什么是原生开发方式?这个概念其实挺难用文字去准确界定的,因为官方也没有对原生开发方式作出定义。这个概念其实也是不言而喻的,我们按照小程序官方文档中的描述去开发小程序就属于原生开发的方式。

  定义一个名词对于数学是有意义的,但对于互联网而言,定义只是大佬们脑回路中的灵感闪现。雷军可以重新定义”什么是现货“、罗永浩可以重新定义”操作系统“,互联网时代的定义又不用负责任,每个人都可以去重新定义一堆老久的名词,不然哪里来的流量?

小程序原生开发

  咱就不去定义所谓的原生开发,我们只需要了解一些小程序原生开发的缺陷以及为什么会出现众多的第三方小程序框架就可以了。经过两年多的发展,小程序已解决很多早期时候诸如:没有自定义组件、UI控制自由度不高、ES6支持度不高、开发工具几乎等同于废材等问题,但现在的版本依然有一些缺陷:

  不能直接使用Less/Sass/Stylus等预编译CSS

  ES新标准支持度太低,比如不支持Asncy/Await(ES6/ES7就是那么尴尬,NodeJS对于ES的标准支持甚至还不如小程序)

  虽然支持Promise,但官方的API返回结果并不是Promise,依然是Callback回调函数

  没有状态管理,参考Vuex和Redux

  没有双向数据绑定(严格说这不算是一个缺陷,主要是出于性能的考虑)

  没有过滤器(LinUI使用wxs实现了一些主流过滤器,但官方的支持显然会更加方便)

  强制将WXSS、WXML和JS代码分离到3个不同的文件中

  这些缺点让习惯了现代化前端开发方式的开发者写起代码来并不是那么舒服。那为什么现在会出现如此多的第三方开发框架呢?除了以上原生小程序语法缺陷外,还有一些其他的原因:

  小程序已不再特别指代微信小程序,现在还有支付宝/百度/头条小程序。开发者可能有多端开发小程序的需求,希望让一份代码能够在多端运行,这是一个很直接述求

  一些开发者希望使用Vue和React来开发小程序

  在我看来,小程序的缺陷或者多端编译都不是第三方框架出现的主要原因,第三条:为了使用而使用,才是真正的原因。