上周帮老同事救一个上线前崩的小程序——他用uni-app写的,打包完安卓端白屏,查了3小时才发现是某个第三方插件的ES6转译没兼容到低版本webview。
别被官网的宣传骗了。很多人刚接触的时候以为写一套代码就能跑遍微信、支付宝、抖音、H5、安卓、iOS甚至快应用,实际上它的核心逻辑根本不是什么”原生编译”,而是把你写的Vue语法代码,通过编译器转成不同端的标准API调用——说白了,它更像一个带统一语法糖的适配层,不是什么魔法。
你以为的跨端,和uni-app真正的技术边界
uni-app的技术天花板从来不是代码复用率,而是各个端本身开放API的能力差。
微信端开了虚拟支付的权限,你转译到安卓端就根本用不了;抖音端的抖币打赏接口,挪到H5端就是个死链。没有银弹。很多团队踩坑的点就在于,一开始把跨端当成了”降本一半”的灵丹妙药,真到项目上线才发现,为了适配各个端的差异写的条件判断代码,比一开始分别写端的代码少不了多少——甚至因为要兼容编译层的bug,多花了20%的调试时间。

哦对了,上次我遇到一个开发,把uni-app当成Electron用做桌面端,最后跑起来的安装包比Electron还大,也是绝了。本质上还是没搞懂工具的适用场景:它最擅长的是逻辑层的复用,比如表单提交、数据请求、页面跳转这些跨端差异不大的部分,要是真的要做复杂的动画、3D渲染、高频交互的场景,硬用跨端框架最后只会得到一个四不像的产品。
现在的uni-app,已经不是2018年的草台班子了
我第一次用uni-app是2018年,那时候插件市场一半的插件都是作者自己写着玩的,文档错漏百出,遇到问题翻issue全是和你一样骂街的人。
说真的,我现在反而很佩服DCloud——从2012年做HBuilder开始,他们在前端跨端这个坑里已经爬了12年,比很多现在追热点的大厂团队都能熬。到2024年,它背后的生态已经攒得相当扎实:插件市场有超过2万个上架插件,从直播推流到人脸核身,基本覆盖了90%以上的商用开发场景,甚至现在很多政务端的小程序、企业的内部管理系统,都是用uni-app搭的。
目前国内中小规模跨端项目的开发选型中,uni-app的实际占有率已经超过60%。去年有第三方调研机构做过抽样,做十万用户量级以下的项目,十个团队里有六个第一选择是uni-app,剩下的要么用Taro,要么干脆硬扛写多端。这种选择背后的逻辑很简单:中小团队没那么多预算养全端开发,只要核心功能能跑,差一点的性能是可以接受的。

被忽略的产业链连锁反应
说个扎心的事。很多中小开发团队因为用了uni-app,把原本需要分别招安卓、iOS、前端三拨人的团队砍成了只招会Vue的前端,人力成本砍了三分之二,但是对应的,整个跨端开发的市场价格也被打下来了——以前做一个带三端的商业项目报价20万,现在10万都有人接,本质上是工具把门槛拉平了。
这里面藏着两个没人说的问题。第一是供应商绑定,你整个项目的代码都是基于uni-app的语法写的,哪天DCloud的收费策略变了,或者某个核心功能闭源了,你想换框架等于重写;第二是性能债,很多图快的团队根本不做端侧的性能优化,全靠框架的编译层兜底,到了用户量上了十万级,卡顿、白屏、内存泄漏的问题全冒出来,最后还是要找原生开发的人擦屁股。
别不信,这种事每年都在发生。我见过最离谱的一个项目,用uni-app写的电商app,用户量到50万的时候,安卓端冷启动要4秒,最后花了比当初省的跨端成本高三倍的钱,重新把核心页面改成原生渲染。
未来3-5年,它不会神化也不会消失
别听那些吹它要取代原生的鬼话。
首先它不会消失,反而会在中长尾的应用场景里扎根——毕竟现在各个小程序平台的数量已经超过20个了,你不可能为每个平台都写一套原生代码,这种场景下uni-app的适配能力就是刚需。毕竟对于很多只需要做简单营销页、内部管理工具的团队来说,能快速上线比极致的性能重要太多。
其次它的边界会越来越清晰,以后不会再吹什么”一套代码全端跑”,反而会主打”核心逻辑复用,端侧关键页面原生渲染”的混合开发模式,比如现在的uni-app x已经在试纯原生渲染的编译模式,虽然还不稳定,踩坑的人不少,但方向是对的。
最后它会被卷进开源框架的竞争里——现在腾讯的Taro在追,字节的Rax也在迭代,uni-app要是不把生态的中立性做起来,哪天哪个大平台把自己的跨端框架免费送,还附带官方技术支持,它的市场份额说掉就掉。
上周帮老同事解决完那个白屏问题,他请我喝冰美式。聊到最后他说,其实跨端工具从来都不是什么救命稻草,你对工具的边界摸得越清楚,它给你省的时间就越多。要是你一开始就指望用它省掉所有的开发成本,最后肯定要栽跟头。
作者|fawen
排版|fawen
审核|阿辰
大讲堂