请问大家使用 uniapp 框架做多平台 app 的实践多吗? 是否适合使用?

2024-07-24 09:18:48 +08:00
 jackiesteed
7126 次点击
所在节点    程序员
61 条回复
abelmakihara
2024-07-24 14:50:20 +08:00
坑多 尤其用插件市场插件的时候 不过还是可用的
不过做小程序 用 taro 感觉比 uniapp 要好 没用 taro 编译 app 过
markyun
2024-07-24 15:43:17 +08:00
@abelmakihara 用 taro 适合做小程序吧,做 app 好像有很多限制,比如如果要生成 RN 项目,有很多 API 和组件都不支持。
iv8d
2024-07-24 15:56:06 +08:00
多端你用就完了,肯定是能做出来的。
sL83OdzP0RtI2l31
2024-07-24 15:58:45 +08:00
看你需求,我一般就是 uniapp 做个壳,里面嵌 H5 ,我们主要还是搞小程序
chniccs
2024-07-24 16:31:14 +08:00
还好,用过几次,没碰到什么大问题
herewego
2024-07-24 16:45:30 +08:00
又不是个个都是原生大佬
大部分都是做外包,一个后端或者前端,你要啥自行车
人家这么久没夸,还有真么多公司用,肯定是有他得道理的
RightHand
2024-07-24 16:53:08 +08:00
新坑的话,小程序优先就 uniapp ,app 优先就 flutter 。旧坑?当然是有什么用什么
zencodex
2024-07-24 18:31:09 +08:00
首先任何技术栈都有坑,核心问题是我们有没有办法和能力把坑填平。

当所有坑都填过,沉淀下来的就是属于你自己的最佳实践。每个开发者不论采用什么技术栈,最好都能沉淀出一套属于自己的最佳实践。从而将更多的精力放在打造产品本身的价值上,而非技术。


早期在跨平台这个事情上,我也做过很多探索,从最初 cordova ,react native ,Xamarin ,MUI ( uniapp 的前身)都有过尝试,也在 uniapp 这个上面产生过动摇,是否切换到 react native+taro 。

直到现在坚定的使用 uniapp 做产品,并将我自己积累出来的最佳实践形成开源作品 `uapp`。uapp 通过集成 uni-app, electron, tauri ,让开发者仅需维护一套代码,就能横扫所有平台。

uapp 弥补了 uniapp 在 app 离线打包上的各种坑,让开发效率也直接拉满。可以不需要开启 HBuiderX ,在命令行下就能做各种编译。比如生成离线打包的自定义基座,仅需命令 `uapp run build:dev` 即可。

还有,比如查看提交审核的包名,微信开放平台用到的签名等,`uapp info` 一条命令,直接给出。

甚至 app 或 小程序里用到的《用户注册协议》《隐私协议》,都可以 `uapp privacy` 一条指令生成(任何框架里都可以用这个命令,配合 vitepress 生成协议文档)。

社区里还有人给出了需要自动化集成的 jenkins 配置文件 (看 github 的 issue 里),linux 上需要配合我做的 linux 环境包,需要的这里安装:

<https://artisansoft.feishu.cn/docx/NZRHdetSzoi8VEx7KcYcuivpnqd>

我有款产品是视频剪辑工具,音视频处理是对 native 能力依赖度很大的,不是简单的有 UI 就行了,这个产品我已经通过自己的解决方案,抹平了 桌面端 Electron (windows/macosx/linux),app 端( android ,ios )上的差异,并且积累了丰富的跨平台经验,完全可以让 Web 开发者仅需维护一套代码,就能横扫所有平台。

本人不对各种跨平台方案的好坏做评价,适合你自己的就是最好的,各种跨平台方案的原理和优劣,uniapp 官网文章也说的挺详细了:

<https://doc.dcloud.net.cn/uni-app-x/select.html>


如果你在使用 uniapp 开发,在跨平台开发有困惑需要协助的话,可以从 github 上添加我微信,也欢迎能给 uapp 一个 star 支持下 🙏 ,开源本身都是用爱发电,没有收益的。
Features
2024-07-24 20:19:53 +08:00
有时候我感觉 uniapp 就是赛博菩萨
非常简单易用的一个平台,做点小东西还是不错的
中大型公司建议肯坑其他的
BealuoC
2024-07-24 21:04:21 +08:00
用他做过商城类的,还不错,小问题都能找到解决
linyongxin
2024-07-25 09:08:06 +08:00
低成本高效跨平台,文档插件丰富
galikeoy
2024-07-25 09:16:20 +08:00
虽然生态这方面,taro 没有 uniapp 好,但还是投 taro 一票,不用绑定 hbuilder 太好了,taro+vue+ts 已经上了两个项目了
mrpzx001
2024-07-25 09:26:47 +08:00
@galikeoy uniapp 也不需要绑定 hb
lauginwing
2024-07-25 09:53:41 +08:00
如果你是前端,只有一个人,要开发一个要求不那么高的 app ,uniapp 是最好的选择
soya2
2024-07-25 10:10:25 +08:00
虽然 uniapp 写起来有些时候会出现莫名其妙的问题,但也是小成本下多平台不错的选择了,希望以后能做的更好,文档啥的都完善一下
chungon
2024-07-25 14:32:05 +08:00
说强绑定 HBuilder 的真的用过吗?我们项目基本都是 uniapp ,bug 不少,但用起来其实也没那么难用
zencodex
2024-07-26 15:00:12 +08:00
看了一些回复,应该都是做的单一平台。只有做过多平台才能体会,先不说 Electron 这种桌面集成了,至少小程序和 app ,h5 都一套代码搞一个项目就有体会了。

hbx 的确相当于强绑定,如果只有 uniapp-cli ,环境搭建就会遇到多少问题,app 也没法开发,虽然能编译出 app 资源,但总得调试和打包吧,没 hbx 都没法调试。

taro 如果做了多个平台,也就知道多麻烦了,并且他的原理就没法抹平 UI 差距,RN 和 WEB 完全不同的 UI 形式。uniapp 至少都是 h5 (实际 nvue 类似 RN ,问题很多),我后期 nvue 全改回用 vue 了。

按目前跨端接口统一程度看,没有比 uniapp 更多的了。如果不做跨端,那还不如什么平台就用原生方法做,uniapp 只有真正跨多端才能体会到便利。

做多端跨平台, `uapp`不会让你失望的,欢迎来入坑:

<https://github.com/uappkit/uapp>
zy0829
2024-07-26 15:27:01 +08:00
@chungon uniapp cli 贼难用个人觉得,热更新经常有问题
bug51
2024-07-29 15:25:13 +08:00
@retrocode uniapp 踩坑记,3 年没更新了啊。

都 3 年一大变了,参考意义没那么大
retrocode
2024-07-29 16:22:22 +08:00
@bug51 #59 我文章里总结那几条数据多端兼容坑, 至今依然存在, 为啥没参考意义.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1059609

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX