小程序 心得 & 坑(包含ECharts 和 Wux-Weapp

2019-08-20  本文已影响0人  Neo_zero

写小程序有一个多月了,有一些感想,有一些心得,也有一些吐槽。

思维比较发散,想到哪写到哪。

选择 mpvue,uniapp,taro,还是用原生?

如果只是因为开发人员更熟悉 vue/React 的语法,而去选择mpvue或者taro,我认为是没有必要的。小程序原生语法吸收了现代框架的特点,上手很快。小程序的文档里,语法是最不重要的部分,而需要花时间阅读的是api,登录流程、原生组件、wxml节点信息获取等等等等。也就是说,即使用了轮子,还是要花时间阅读小程序文档。

如果是看中第三方框架解决了原生语法的一些问题,比如数据流管理、渲染速度(据说uniapptaro比原生更快)等,可以考虑用轮子。

但是第三方轮子最终毕竟还是会转译成原生语法,小程序不支持的东西第三方框架肯定也不支持,还可能会有新的坑,可能会出现既要读第三方框架的文档,还需要读小程序文档的情况,技术选型时应考虑清楚。

UI 组件库选择

  • WeUI ---------->和微信保持分风格一致
  • Vant Weapp------------>电商类支持完整
  • colorUI ----------> 颜色丰富
  • iview Weapp -------------> 风格清新,组件兼容性好
  • Wux Weapp ------------> 个人开发者出品,组件异常丰富,让人垂涎。但是偶尔会遇到 bug,入坑需谨慎
  • taroUI ---------->和taro绑定(应该是吧?),风格偏硬朗,适合工具类小程序

不用**,臣妾做不到啊

小程序一些不太给力的地方都能忍一忍,比如一个组件4个文件,npm半残 等等等等,但是有些东西真心没法忍:

  1. wx.request(),对于习惯了promise的同学来说,没法忍。有时间的朋友可以自己封装,也可以用 mp-req,封装了自动wx.login()、拦截器、请求缓存等。
  2. 路由半残,小程序路由仿照get请求的形式,传任何类型的参数,都会变成 String。怎么讲,也不是不能用。不能忍的同学可以用 mp-router
  3. 没有 类似 cookie 这种可以缓存数据且会过期的 cache 可用,setStorageSync()存的数据不会过期。解决方案的话可以用setStorageSync() 加过期时间封装一个。

我遇到的 Wux weapp 组件库的 bug

用了 Wux 大概4、5个组件,遇到一些疑似bug。

是否如微信官方所说,小程序能保证多端一致性?

很遗憾,没有。wxss 在三端(模拟器/iOS/Android)依然会有不一致的情况,模拟器看到的页面无法保证在 iOS/Android 可以保持一致; 甚至 Components内一些生命周期函数在模拟器上都有些意料之外的情况。

当然这些问题微信官方早晚会解决 :) 。

列表渲染 Components 时遇到的小问题

有些朋友可能会在Component()之外var/let一些全局变量。需要注意的是,在列表渲染该组件时,该变量的作用域在 page 内所有的该组件,某个子组件内改变该变量的值,会影响其他子组件。

ECharts 在小程序中的一些问题

那些文档里没有写(或者我木有看到)的事

上一篇 下一篇

猜你喜欢

热点阅读