2025 年 10 月小程序开发的最佳技术栈是什么?

12 天前
 xyxc0673

最近要做一个相对来说比较简单的电商小程序,现在在做技术栈的选择

很多年前曾经使用过 Taro 开发过小程序,当时 Taro 还是热门的选择,但是最近我看 Taro 的仓库像是被废弃了一样,官网 HTTPS 证书 过期了几个星期也没有人更新: https://github.com/NervJS/taro/issues/18419

有京东的小伙伴知道现在 Taro 还会继续维护吗?

另外一个热门的选择是 uniapp ,但是我没有 Vue 的开发经验,也不清楚开发体验怎么样

至于原生开发,在最开始接触小程序的时候,不太喜欢这套语法,没能学习下去

大家会选择哪套技术栈?

9356 次点击
所在节点    程序员
85 条回复
cvooc
12 天前
@SanjinGG #57 这块看项目了, 以前的版本是恶心接原生插件要自己打 aar 包然后在打 debug 包测试, 或者 native.js 勉强反射一些原生接口用,现在好多了可以直接 uts 接厂商 SDK. 的确做跨端需要一部分原生开发技术做支撑. 坑的是大多数公司期待的是一个前端自学完成开发而不是找原生程序员支援.
AnotherSola
12 天前
如果只是小程序,mpx 真的可以的
lyxxxh2
12 天前
@crocoBaby
+1,我真不喜欢 uniapp 。
在小程序:
1. 有时候不刷新代码,必须得重启项目才行
2. hubilderx 编译一次,微信再编译一次,慢。
原生小程序语法,我没觉得恶心,相比原生 js,好多了。
不过开发上好很多,支持 vue3 。 (真不想写各种 export defaut{data()..)

app:
1. 语法问题直接白屏,没报错,找不到问题的。
- 记得 19 年,h5 正常,而换行导致白屏。
2. 性能也就那样
- 在低端机,比如自助收银机不流畅,跟开发者也有一定关系。
3. 要啥硬件的,都得写 andorid 原生
- 调试给我整吐了,找 bug 时:生成"本地 app 打包资源" -> 复制到 andorid stdio (重复十几次)
4. 打包也一样恶心,出个 bug,云打包十几分钟。
- 最后我自己离线打包了,但是一些云端插件又用不了(因为不能下载)。
似乎 uniappx 的 uts 改善了不少,没用过。
BeforeTooLate
12 天前
小项目直接原生+ai 非常快可以落地
sodesga
12 天前
你开发小程序是为了练技术,那就随便,如果是为了盈利,那还是 uniapp
腾讯自己的广告分成太低了。朋友的 uniapp 广告返利链接单笔 80 多
cvooc
12 天前
@lyxxxh2 早期离线打包调试插件的确恶心,现在好很多了.我现在就是用 nvue 做自助收银机,性能还好.学校店 2 小时 400 单扛住了, 中间优化了一下内存泄漏问题. 做跨端就是走最小侵入路线,能云打包就云打包.实在没必要折腾离线打包, 定期更新依赖是个大问题.
phpcxy
12 天前
我们用 uniapp ,正常业务做起来都挺好的
xiaoriri666
12 天前
没得选,无脑 uniapp 是最成熟的方案
eurkidu
12 天前
@tanranran #12 +1 ,前两个月刚新调研开发过微信小程序,uniapp 只开发小程序,就可以不用 hbuildx ,那个实在用不来。

https://unibest.tech/ 建的项目,UI 库选的 wot-ui, 整合了下 https://demo.wot-design-uni.cn/ 的部分功能,开发体验跟普通 vue web 开发差不多。

当然因为有些小程序跟 uniapp 的限制,还是有些限制的,特别是二次封装组件,因为不支持 listeners 透传,以及插槽透传也有坑,封装起来非常难受,直接单纯写业务页面+业务组件,用起来倒是还挺好

虽然是只开发微信小程序,但相比用原生选 uniapp 开发,除了原生语法外,还有个有小优点(算是遇到的一个坑,因为是 uniapp 开发的解决起来比较方便)

就是我们开发的页面需要上传用户附件,是 PDF 的那种附件,微信小程序选择文件的 API 有限制,你选图片之类的,可以直接单独拉起相册,但是你上传文件,就只给了一个从聊天文件中选择的 API

导致小程序原生页面只能做成,用户先要把文件发到文件传输助手,然后再选择的效果,后面查了半天说小程序原生页面没辙,只能跳转一个 web-view 页面,使用 web 方式上传文件,这时候可以直接选择手机文件,但是这时候要单独新写一个项目去写一个文件上传页面,上传完之后再把文件地址返回给小程序,就挺麻烦的。

这时候灵机一动,因为 uniapp 可以直接打包成 web 页面发布,所以就直接在小程序项目里面,写了一个文件上传页面,但其实是 only for web 的,然后把项目重新打包发布成 web ,小程序里面再 webview 嵌套用于上传,这样直接一个项目就全搞定了,上传代码逻辑还都是同一份,因为后面跟产品讨论,做成选择了用户既可以从聊天文件中选择(方便电脑发给手机的文件),也可以用 web 方式直接选择手机文件。
crocoBaby
12 天前
@lyxxxh2 心痛每一个 uniapp 开发者
moxiaonai
11 天前
熟悉 react 的话,taro 还可以
nicefrp
11 天前
即使没有多端的需求,也推荐使用 uniapp ,因为有魔法加持,可以使用状态管理
phyng
11 天前
我们用自研 React 框架,适配小程序、网页、React Native ,比学习其他人的框架要简单很多,持续迭代稳定运行多年了
zhdy89380062
11 天前
现在 vibe coding 了啊,随便什么框架,最终都靠 AI 了。curso cc codex
chobitssp
11 天前
只做小程序 选择 Vue Mini
BeiChuanAlex
11 天前
@FreshOldMan #22 非常赞同,这些跨平台有一个算一个,都不如原生,因为搞跨平台最后还是要搞原生的,有些问题没有原生你就很难搞懂,也很难解决,那为啥不一开始就搞原生呢
kkbear
11 天前
除非是多端应用,就现在的 AI 时代,啥都没什么学习成本了,为啥不用原生
chungon
11 天前
用过原生、uniapp 和 taro ,目前还是推荐 uniapp ,社区活跃,坑不多
lizy0329
11 天前
说用 AI 写的,真用过 AI ?大学生吧?
lyxxxh2
11 天前
@cvooc
我们也是用 nvue
机子:selfpose60 cpu:rk3299 4g
定时器从 30 秒倒计时 -> 突然到 25,各种一卡一卡的。
开发者也有问题:
比如:
1. 30 秒的定时器,每个页面都有
- 应该设置全局的
2. 有些迷惑操作,但是有效的

按理解来说,关闭当前页面,后续代码不执行了吧? 其实执行的。
还有:每次获取配置,都要发起一次网络请求。

3. 最后订单完成了,再关闭所有页面
https://i.ibb.co/N6j4BH2N/v.png
这是还是单页应用吗?
我估计是维护不了,内存泄露找不到问题,干脆重载得了。
因为之前经常白屏,听说是内存爆满原因。
真的诠释了:能用就行。

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

https://ex.noerr.eu.org/t/1164720

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

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

© 2021 V2EX