• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Roséa
😘正是你花费在玫瑰上的时间才使得你的玫瑰花珍贵无比...
博客园    首页    新随笔    联系   管理    订阅  订阅
实践出真知,小程序wepy,uni-app框架开发使用!
小程序wepy,uni-app框架组件化开发实践和比较

 一、前提

  目前我只使用过wepy和uni-app框架开发过小程序,着重比较这两个框架使用感受!

  另外wepy框架已经不维护了,希望uni-app好好维护下去!

  wepy和uni-app都是类似于vue.js规范的写法,所以熟悉Vue的人更好上手。

  要是开发者熟悉react,可以找下Taro框架。

二、框架对比

  1.DCloud社区有做过试验,对于长列表加载和点赞组件响应做了性能对比。

  a) 长列表测试方式:从页面空列表开始,通过程序自动触发上拉加载,每次新增20条列表,记录单次耗时;固定间隔连续触发 N 次上拉加载,使得页面达到 20*N 条列表,计算这 N 次触发上拉到渲染完成的平均耗时。

  结果如下图:

   发现wepy栏对应的测试数据不完整,变相说明页面组件超过500个时,wepy无法完成渲染造成异常。

  反观uni-app,比原生性能略好?

    因为原生在setData调用更耗时,如果不优化uni-app性能更好,优化后还是比不了原生的。

 

 

 

   b)点赞组件测试方式:选中某微博,点击“点赞”按钮,实现点赞状态状态切换;点赞按钮 onclick函数开头开始计时,setData回调函数开头结束计时;

    结果如下图: 

   wepy出现同样情况,uni-app与原生相差不多;

  总结来说,性能消耗方面,uni-app更胜一筹,重点是页面渲染数据用了data(){}(〃'▽'〃)。

  我太喜欢看他们的社区了~~

~~偷偷的来更新~~

  2.wepy有wepy-cli脚手架,触发事件、组件循环等有更好的语法提供
      uni-app有HBuilderX开发工具

 

三、开发风格

  1. wepy支持vue的诸多特征,可按照vue单文件组件的规范写代码(但还是要学习wepy滴);

    生命周期同原生一样,再糅杂一些vue的特性,但对于自定义方法需要与methods平级处理;可以用css预处理器,很方便;
    前提需要安装它的脚手架去做构建处理。


  2. uni-app有它自己的开发软件,内置了一套流程,让你点点点就能发布。
    而组件和api完全是按照小程序的语法来处理,只不过uni做了api的封装来兼容到多端。

    uni-app也是支持所有vue的语法,另外uni还新增了生命周期。


  3.  总体来说两个框架的开发模式比较统一,学好vue,这两个也就OK。
    npm第三方包和Promise都能很好的支持,对开发效率也有一定的提高。

 

四、开发感受 

  不管使用哪个框架,小程序基础知识一定要牢固,要花时间学习好基础概念哒。

  框架能组件化开发,效率更高,使用成熟的IDE工具简直事半功倍,快的不要不要的;
  微信开发工具太烂,还要不断手动处理setData,一点想撸码的心情都没有。

  多用一个框架就有许多潜在的坑,这个是无法避免的,去看看github上的issue就知道了;
  如果要考虑小程序多端复用,选择uni-app更靠谱。(小声bb,平台跨的越多越不稳定,只要有一个端改动,框架没更上,就GG)
  要是只考虑微信小程序和h5平台,wepy足够用并且框架成熟,如果有需要看下我遇到的坑。(好吧,wepy不更新了,转换的h5也不怎么样,bug多)
  要不就用原生撸代码,社区欢迎你。

  我已经上了wepy和uni-app的船了,希望早日上岸!(对不起,我想下了wepy的船)
  瞎说完毕

  谢谢观看

  鞠躬

  啾咪^_^~~~~~

 

posted on 2020-04-24 16:01  Roséa  阅读(1988)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3