2019高新技术企业

uniapp框架在使用过程中老鸟的经验之谈

/ 06-28 当前位置:主页 > 观点资讯 > 网建知识 >
  从19年将信将疑接触,到2020年一边写一边骂,到现在,我基本认可。
  
  认可的原因:

  
  1、技术选型方面:公司产品有全平台运营的需求,前端技术多基于vue开发,且有成本要求,所以在多次选择中都把它作为首选。如果只需要做app的话,其实有很多其他的替代方案,像weex、rn,应该都有不错的组件库。我们在选择uni之前,还使用过eros,是基于weex的,对于原生和热更新方面都支持很好,可惜去年停止维护了。另外,很多人说uni-app是套壳的html,其实不是的。uni的nvue模式,是基于原生引擎渲染。
  
  2、维护方面:相比之下,uni更值得信赖的,我认为是他们的定位。我最开始了解他们的产品,不过是hbuilder这个编译器,后来才知道他们不仅要做全平台的功能框架,而且还要支持像统计、推送、广告这些变现项目,走的是生态发展思路。这至少证明他们在目前来看是赚钱的,加上开发者用户基数接近千万,我相信没那么容易狗带。对于版本更新,我们虽然每个星期都要吐槽一次,但总的来说成本还是可以接受的。
  
  3、技术支持:刚开始接触的时候,由于对框架的理解不够,我遇到很多抓破脑袋都想不明白的问题,但是和技术专家直接对接请教后,都得到了及时的解决。
  
  4、文档和社区:他们家的文档我基本上都是夸的。社区也很活跃,平时遇到的问题基本能搜索到。
  
  5、兼容问题:个人觉得很满足了,写一套代码,三个端运行。只是,这个前提是要很好地理解weex规范。基于这个前提,大部分的样式和功能是兼容的。当然,前期肯定要有一段时间的试错。不过对于严重依赖原生的功能除外,如canvas说了这么多好话,
  
  再来吐槽一下我的怨言:
  
  1、最最最想吐槽的,就是打包。app的打包分两种模式,一种离线打包,一种线上打包。离线打包是要使用原生打包方式的,如android的studio、ios的xcode,是把我们在uni这边编写的文件打包成资源文件,再放到原生环境下打包。而原生环境需要用到uni这边一大堆的lib包,你知道的,他们每星期至少更新一次,这意味着我们每个星期都要更新lib包。而且每次更新之后的打包,都可能出现一些奇怪的西西。。。所以我们换成了线上打包,说起这个打包,我真的,咬牙切齿。uni大概是为了支持自己的统计,多渠道打包的话就只支持官方的,你要用别的,就只能一个一个打。要知道,我们公司5个产品,11个应用市场,每次更新一个产品至少有一两个小时浪费在打包上。而且线上打包收费,每个账号每天限免5个,之后一个包两块钱。但是没办法,只能这么办。
  
  2、渲染方面:依我目前的经验来看,uni支持交互更简单的场景,对于复杂交互,支持度较差,编码难度也更高。nvue模式虽然也支持原生插件,但是如果你有编写原生代码的实力,倒也不必在这里花功夫。怎么说,这也不能算是个坑。做技术选型的时候,就要搞明白,自己的产品对交互方面的要求是什么样的。还有公司目前在什么样的发展阶段,究竟是要为了成本考虑暂时快速开发,还是要为长远发展从一开始就做到精致。
  
  3、编译器:hbuilder几乎在方方面面都能被vs code秒杀,这我就不说了。只不过,你用了他们家的产品,就得附带用这个编译器,免费的午餐多少也得付出一点代价,能满足满足基本的开发需求就得了。
  
  4、组件库:uni组件库不少,但如果用nvue模式的,可用组件真是少得可怜。目前我见过比较好的两个组件库,mypUI、graceUI。myp我们自己用过,虽然调用简单,但是耦合性太高,后来参考他们的思路写了个适合我们自己的。grace说实话是在这个问题下面看到的,因为收费,所以还没买下来具体去了解,但应该还可以,等后面空了再看看。我们公司目前的几个产品,组件基本徒手撸的。记得最开始上手的时候,一个复杂一点的表单,我写了整一个星期,就是因为uni自带组件原生化程度太高。尤其是picker,数据要动态组装,监听一大堆,像着各种情况,你就不得不自己去封装。不过还好,写到后面,自己的东西基本都能复用,后面的开发速度和成本会将前面的摊平。而且写的组件也可以放到插件市场上去。
  
  另外,关于稳定性。我之前开发过原生Android,是会经常遇到程序卡死、闪退的情况的,但是uni开发很少遇到。大概就是这些了,开发过程中具体的问题我也不能详尽,只是觉得使用了一年多下来,所遇到的问题多多少少的都处理掉了。总而言之,如果你的公司规模不大、对原生技术没有那么追求、对交互要求不过分,相信uni-app还是值得一试的。只是前期多少会走弯路,要有这个心理准备。
 
下一篇:没有了
回到首页

扫一扫,微信咨询

请留下需求和联系方式,我们即刻为您准备方案

提交成功

免费服务热线18706176160

扫一扫,微信咨询