uniApp发展到今天,仍然有很多开发者在用,这说明它确实有独特的地方。网上虽然有很多批评的声音,但真正觉得这个工具好用、能解决问题的人还是大多数。
根据我自己和身边朋友的使用经验,我来分享一下uniApp的真实情况。
如果客户追求的是高性能体验,那就要谨慎使用uniApp。但如果是开发小程序,它其实是个不错的选择。
用户对小程序的使用体验本来就没有太高期待。大家更关心的是小程序能不能解决眼前的问题。很多小程序用户用完就走,可能很久都不会再用,或者根本不会用第二次。
我有个朋友用uniApp开发了一款刷题小程序。经过几年积累,用户量达到几百万。但他发给我的数据显示,平时日活只有几百人,不到一千。考试前一个月左右,新增用户和日活才会逐渐上升,日活能稳定在三千到五千人。
从活跃度比例来看,这个数据确实不高,用户留存也很低,基本上每年换一批人。但对这种工具类小程序来说,已经够用了。
如果用uniApp开发App,和原生App相比,在响应速度和用户体验上确实有差距。能感觉到明显的卡顿感。
但如果开发的App对UI交互和性能要求不高,uniApp还是值得一试的。日常需要的功能基本都能实现。
开发效率很高,毕竟是跨平台开发,相当于同时进行多个平台的工作。这对人力成本控制很有优势,也是老板们喜欢uniApp的重要原因。
不需要投入太多前端开发人员,就能完成工作。从效果来看,也还能接受,并不像网上说的那么糟糕。
特别是在小程序开发方面,如果需要同时开发微信、百度、支付宝等多个平台的小程序,开发效率提升非常明显。开发周期至少能缩短一半以上。
这个结论是我们之前开发题库类小程序时验证过的。
有些开发者用uniApp接小程序的外包项目,效率很高。现在网上很多开源的小程序都是用uniApp开发的。找个相似的开源项目,稍微修改一下就能交付,省时省力。
我有个朋友专门接这种外包项目。在他看来,小程序的功能需求都差不多,主要是换个UI界面。底层逻辑都是用封装好的框架。
他接到小程序项目后,先找有没有类似的开源项目。只要UI页面长得差不多就行,然后结合自己积累的项目框架经验,一周左右就能出测试版,两周左右完成交付。
这还是在兼职情况下完成的速度。如果是全职,估计更快。
经过长时间积累,现在市面上很多小程序的UI界面,他都能找到差不多的成品。用uniApp接小程序外包项目,确实很实用。
对于那些说uniApp坑多、文档差、性能不好的评价,如果你是开发者,最好亲自体验一下。别人说的永远是别人的感受,不一定符合你的实际情况。具体怎么样,还是要自己验证后才能得出结论。
但不管怎么说,只要不影响你用这个平台赚钱,就是好的选择。
有句话说得对:适合自己的,就是最好的。
如果觉得用uniApp开发性价比太低,完全可以选其他平台。技术工具本身一直在优化改进,体验也越来越好,关键看你怎么使用。
对于独立开发者或小团队来说,uniApp的最大优势是降低成本、提高效率。能用更少的人完成更多的工作,这对创业者很重要。
对于大公司来说,可能需要权衡开发效率和用户体验。如果用户体验要求很高,可能还是需要原生开发。
但现实是,很多业务场景下,用户并不那么在意细微的体验差异。他们更关心功能是否完善,能否解决问题。
uniApp就像是一个实用的工具,它有局限性,但在合适的场景下能发挥很大作用。老板们喜欢它,是因为能在控制成本的前提下满足业务需求。开发者吐槽它,是因为在技术实现上确实有些不足。
选择技术栈时,要结合实际业务需求、团队能力和成本预算。没有完美的工具,只有合适的解决方案。uniApp能在市场上存活这么久,已经证明了它的价值。
本文内容仅供个人学习/研究/参考使用,不构成任何决策建议或专业指导。分享/转载时请标明原文来源,同时请勿将内容用于商业售卖、虚假宣传等非学习用途哦~感谢您的理解与支持!
uni.getUserInfo 接口调用方式起初通过button 来获取用户信息,或者 直接调用 uni.getUserInfo 来获取信息 在当前微信更新接口后,这2个接口将直接返回匿名用户数据,不在弹窗提示
发现了点击按钮1可以更新title内容,但是点击按钮2却无法更新title内容。这个究竟是为什么呢?在changeTitle2方法的success方法中,该success方法指向闭包,所以this属于闭包
首先介绍最原始的跳转方法,类似于html中的 a 标签,不过在uniapp中需要将 a 标签换成 <navigator url=跳转的地址>……</navigator>
static 目录下的 js 文件不会被编译,如果里面有 es6 的代码,不经过转换直接运行,在手机设备上会报错。css、less/scss 等资源同样不要放在 static 目录下
发送验证码时,不能让客户一直发送验证码,所以需要设置一个60s后才能发送一次;具体代码实现:因为app和其他app不太一样,所以需要选择以这样的方式展示是时间,但是js逻辑代码是一样的;
computed里面的属性不能在data属性中出现,用来监控computed中自定义的变量 ,computed合适多个变量或对象处理后返回一个结果值,其中一个值发生变化则computed监控的属性值就会发生变化
开发了一年的uni-app,在这里总结一些uni-app开发中的问题,提供几个解决方法,分享给大家:问题描述:一个主页面,需要联通一到两个子页面,子页面传值到主页面,主页面更新
当重复设置某些属性为相同的值时,不会同步到view层。 例如:每次将scroll-view组件的scroll-top属性值设置为0,只有第一次能顺利返回顶部。 这和props的单向数据流特性有关
uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台。
基于QR.createQrCodeImg方法生成二维码,在使用uniapp开发的小程序,app应用,某一页面需要将网页Url生成的二维码进行展示,即将Url生成为base64的二维码图片。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!