公司远古时期的小程序要重写,之前是原生语法写的 现在小程序用啥框架好写小程序?Vue 技术栈 有前端的同学指点一下吗?
1
MonkeyD1 2021-03-22 08:52:37 +08:00 4
uni-app, taro
|
2
whypool 2021-03-22 08:53:48 +08:00 via Android
目前用的是 mpvue,虽然停更了,但是并不影响使用,会 vue 可以直接上手
|
3
auchan 2021-03-22 08:54:29 +08:00
我们公司除了原生的就是 uniapp 了 感觉还行
|
4
sugars 2021-03-22 08:59:06 +08:00 4
我写来写去还是觉得原生的好啊
|
5
middle2021 2021-03-22 09:00:56 +08:00 via Android
Taro
|
6
stillyu 2021-03-22 09:02:14 +08:00
remax
|
8
guorui112 2021-03-22 09:04:04 +08:00
原生好啊,为啥要用框架,框架编译出来的包感觉要比原生的包体积大啊,超 2m 还要考虑分包,多费劲
|
11
Yokin OP @auchan 对于 uniapp 的插件市场如果使用几个不同的插件会产生问题不?这方面的坑我 19 年就有过但当时没解决,现在还有这个问题吗
|
12
whypool 2021-03-22 09:08:25 +08:00 via Android
@Yokin 目前感觉没啥坑的,几个小程序项目都在用,其实主要是这个编译后非常小,毕竟有 2m 限制,微信自己出的 kbone 编译后都快 700kb 了,对比 mpvue60 多 kb
|
14
loliyu 2021-03-22 09:09:41 +08:00
Taro
|
15
PinkRabbit 2021-03-22 09:09:54 +08:00
没有跨端需求就原生呗,跨端就 uni 和 taro
|
16
CoCoMcRee 2021-03-22 09:10:35 +08:00
Uni-app 吧, vue 直接上手.
|
17
BarZu 2021-03-22 09:10:50 +08:00
原生挺香的,不用愁框架的坑,而且体积小,我开发了 34 个模块,才 600 多 K
|
19
yahon 2021-03-22 09:14:13 +08:00
原生的靠谱 第三方的不知道啥时候会遇到一个坑 然后浪费时间去填 特别是用第三方的 UI 库的时候
|
20
52chinaweb 2021-03-22 09:16:18 +08:00
多平台小程序用 uni-app
|
21
Yokin OP |
22
sevenzhou1218 2021-03-22 09:16:46 +08:00
到最后你还是会觉得原生的香
|
23
tangtanghong 2021-03-22 09:18:15 +08:00
原生大法好啊
|
24
ccsulzf0627 2021-03-22 09:18:16 +08:00
目前 remax,react 可以直接上手,还没看到什么大坑
|
25
ilovecqrwx 2021-03-22 09:18:53 +08:00
uniapp,vue 一把梭它不香吗
|
26
anson2017 2021-03-22 09:22:14 +08:00
原生挺香的
|
27
LiuJiang 2021-03-22 09:22:21 +08:00
建议用原生
|
28
Desiree 2021-03-22 09:26:39 +08:00
原生吧,不用兼容太多东西,而且原生也有很多组件可以用的
|
29
ly020044 2021-03-22 09:29:23 +08:00
原生+1
|
30
anUglyDog 2021-03-22 09:32:01 +08:00
不是怎么爽怎么来,而是看有没有多小程序平台一起发布的需求。一个月前我纠结原生还是 uni-app 的时候选了原生。。
|
31
proger 2021-03-22 09:34:11 +08:00
vue 用 uni-app
react 用 taro |
32
tanranran 2021-03-22 09:34:19 +08:00
Uni-app,已经开发了 6 个项目了。目前没有发现有任何问题
|
33
varzy 2021-03-22 09:37:54 +08:00 via iPhone
还是用原生的吧,加一些自己需要的配置和插件
|
34
TimeRain 2021-03-22 09:40:51 +08:00
建议原生
|
35
chenmobuys 2021-03-22 09:48:19 +08:00
不是跨平台,还是原生的好
|
36
grewer 2021-03-22 09:50:05 +08:00
remax 没用过
taro 用过 做是没问题, 但是坑也挺多的 |
37
qq1340691923 2021-03-22 09:55:42 +08:00
Uni-app 吧,毕竟跨平台
|
38
C603H6r18Q1mSP9N 2021-03-22 10:01:03 +08:00
uniapp 可以线上用
|
39
abcdGJJ 2021-03-22 10:01:21 +08:00 via Android
不多端复用就原生
|
40
oldhorse 2021-03-22 10:04:45 +08:00
uni-app 还阔以。就是感觉那个 picker 好难用,然后插件市场各种插件,有时候也是略麻烦
|
41
unco020511 2021-03-22 10:11:23 +08:00
小程序还需要框架吗?
|
42
wxsm 2021-03-22 10:12:24 +08:00
小程序其实不存在所谓「原生」的概念。楼上所谓的「原生」与 uniapp taro 等开发框架的区别,从本质上来说更接近于 js 与 typescript 的区别。使用「原生」好处不见得有多少,但是问题却不少,比如学习成本,比如微信小程序至今不支持直接使用 npm (需要多一步「构建 npm 」操作),等等等等。所以我很难理解楼上那些推荐「原生」的人。
|
43
peoren 2021-03-22 10:14:27 +08:00
uniapp 吧,好上手
|
44
xytest 2021-03-22 10:22:45 +08:00
原生
|
45
ch2 2021-03-22 10:23:15 +08:00
推荐 react+taro+weui,这三个组合就够了
|
46
gdrk 2021-03-22 10:24:59 +08:00
万一哪天领导让你把小程序移植到头条 /qq 等平台上时。。。 所以还是 uni 吧,效率第一
|
48
baozi23 2021-03-22 10:27:08 +08:00
uniapp
|
49
Felldeadbird 2021-03-22 10:37:18 +08:00
我用有赞的 vant-weapp 。坑挺多,主要需要解决 一些类似跨域,传递数据的问题。 其余大多数用官方的。。嗯。。。
|
51
xiaofenyi 2021-03-22 10:45:23 +08:00
我现在做是用原生的,因为框架必须再学框架的知识,配置也不是很会。
|
52
runze 2021-03-22 10:51:08 +08:00
@wxsm 小程序本身就有很多坑+文档不完善+经常 XJB 改,各种小程序框架也都有不少坑而且资料特别少。
加一起就是更多的坑,遇到问题首先不是解决问题,而需要先找出是框架还是小程序的问题,往往找不到相关资料。 这与 JS/TS 关系不一样: JS 虽然有不少坑,但是大家都比较熟悉,而且文档、资料特别丰富,也很少乱改,有着顶尖的兼容性。 TS 的用户也很多,编译产物简单易读,只增加了一些类型,可以避免而不是像小程序框架那样产生问题。 |
53
overflow99 2021-03-22 10:53:04 +08:00
@wxsm
为什么小程序没有原生的概念,原生在这里是约定俗成的一个词组,大概就是不使用框架,使用官方语法。大家理解这个事就可以了。 引用「从本质上来说更接近于 js 与 typescript 的区别,使用「原生」好处不见得有多少,但是问题却不少。 所以你认为的本质是什么,为什么更接近于 js 与 typescript 的情况下,使用好处不见得有多少,但是问题却不少。你这么总结就是在说 js 啊,js 是一门客户端语言,ts 是更严格的 js 。可以编译成 js 。仅此而已,更适合不同的使用场景罢了。你说很难理解使用原生开发小程序,我就想原生小程序怎么你了,不使用工具这个事在你认为那么难理解吗? |
54
LionMusician 2021-03-22 10:54:10 +08:00
一直在做各种小程序,框架也用了不少。
18 年开始用 mpvue,优点是 vue 技术栈基本无障碍上手,缺点是美团不维护了,跨平台支持基本为 0 。 uniapp 也搭过两个小程序,优点是 vue 上手简单,UI 库丰富,缺点是 Hbuilder 很难用。 开发支付宝小程序和云闪付小程序都是用的 taro,react 语法,优点是跨平台很友好,可以同时运行到多个端进行对比,缺点是 react 语法对题主上手有些费时间,同时 UI 库比较少。 |
55
overflow99 2021-03-22 10:54:12 +08:00
@wxsm
别再总结你对 JS 和 TS 那狭隘的偏见了 |
56
LionMusician 2021-03-22 10:55:30 +08:00
@LionMusician 补充一下,taro 我用的是 2.x 版本,现在 3.x 也支持 vue 语法了,但学习成本比其他两个要高。
|
57
nbhaohao 2021-03-22 10:57:43 +08:00
1. 如果是长期维护的项目,没有跨端需求,还是建议原生比较靠谱一些,比如官方出一些新特性,用起来坑会少一些。
2. 如果是小型项目或者跨端需求,taro 和 uni-app 本质差不多的,都是充当了把 react/vue 代码翻译成原生代码。所以推荐 remax,remax 的思路和这两个框架完全不一样,看上去是一条正确的道路。taro 用的人也蛮多的,如果 uni-app 和 taro 选一个的话,推荐 taro |
58
a1528026364 2021-03-22 10:58:46 +08:00
@Felldeadbird uniapp 上的 ui 框架,推荐用 uView,这个框架组件全平台兼容性好,vant 特别蠢 H5 跟小程序不兼容
|
59
ALVC666 2021-03-22 11:00:12 +08:00
需要跨端 taro
不需要原生 |
60
sjhhjx0122 2021-03-22 11:06:07 +08:00
@nbhaohao 现在 taro 和 remax 实现思路差不多了,但是 taro 稍卡也没研究是为什么
|
61
nbhaohao 2021-03-22 11:09:06 +08:00
@sjhhjx0122 哦哦,谢谢告知,那我之后会更优先考虑 taro 了,因为 remax 毕竟还是较新一些,taro 更新得更加频繁。也是因为我个人比较喜欢 react
|
62
karnaugh 2021-03-22 11:14:03 +08:00 1
没人推荐一下 Tina ?
这个框架就相当于原生小程序,然后把原生小程序一个页面要写 4 个文件,整合成了像 vue 一样的一个文件,其他的话基本是原生写法 |
63
HeyXiao 2021-03-22 11:25:57 +08:00
日经贴。。。作为一个前端我已经看到这种帖子好几次了
|
64
sjhhjx0122 2021-03-22 11:30:19 +08:00
@nbhaohao 其实我觉得 remax 蛮好用的就是没什么社区,taro 想升级还得升级脚手架其实也挺烦的
|
65
66beta 2021-03-22 11:32:16 +08:00
看你的问题描述,原生
|
66
Yokin OP @tanranran 我真正经历过之前的老板为了节省前期成本找外包用 DCloud 做了一个一带三的 app,其中的 android 卡的没办法用,我接手之后不得已重新写了,就因为里面自动生成的代码完全无法使用,一半原生一半 webview,满满的吃屎的感觉。 出自知乎 https://www.zhihu.com/question/402489534/answer/1293438331
这是真的吗 |
67
chaucerling 2021-03-22 11:38:36 +08:00 2
我是用 mpx 做跨平台小程序开发的,优点是编译出来的就是原生的代码,没有 uniapp 和 taro 运行时的兼容问题,性能也更好
遇到的坑主要都是原生平台的问题,比较好定位和解决 |
68
KeShandian 2021-03-22 11:45:11 +08:00
推荐原生,可以自己用 webpack 加多一层打包处理,在小程序实现一些扩展功能,后期扩展也更方便。
|
69
xutao881 2021-03-22 11:54:14 +08:00
用 taro 写了小程序,写完之后觉得还不如写原生
|
70
wxsm 2021-03-22 11:58:28 +08:00
@overflow99
@runze 我将它类比为 js/ts,是因为 ts 编译以后得到了 js,实际的 runtime 也是 js 。小程序与框架的关系与此类似,uniapp 等框架编译以后得到了「原生」代码,仅此而已。因此它们这些框架虽然可能也存在自己的坑,但这种坑一般不难解决,因为这里不涉及到真正意义上的原生代码转换。从本质上来说,大家都是原生,这是我的看法。 反例比如 ReactNative 这种 hybird app,这种框架与原生之间存在巨大的鸿沟,一旦出现了坑估计不懂原生的人是毫无头绪。 |
71
wuhaoworld 2021-03-22 12:01:07 +08:00
还是推荐原生
|
72
wxsm 2021-03-22 12:02:37 +08:00 1
@overflow99 我不知道你为什么戾气这么重,一言不合就要开始人身攻击。我没有说用「原生」的人都有毛病,也没有阻止你们使用,我自己也用「原生」写了不少小程序。我只是提出了我自己的看法。
|
73
jingcoco 2021-03-22 12:23:21 +08:00 via iPhone
现在用原生也好多花样。。。。最近是学了个用 ts,scss 写,然后用 gulp 转成 js,wxss
|
74
dong568789 2021-03-22 12:24:36 +08:00
原生 + vant
|
75
runze 2021-03-22 13:20:26 +08:00
@wxsm
1:“小程序与框架的关系与此类似,uniapp 等框架编译以后得到了「原生」代码,仅此而已。” 很多小程序框架是运行时的,不存在“编译后的原生代码”,除非把它们编译后的那堆 js 当作“原生代码” 2:“它们这些框架虽然可能也存在自己的坑,但这种坑一般不难解决” 这种坑很难解决,尤其是对楼主这样不熟悉小程序的 |
76
overflow99 2021-03-22 13:40:45 +08:00 1
@wxsm 不至于上升到人生攻击的程度,你太敏感了。语言本就是一种工具,没有高低贵贱之分。你很难理解使用原生开发的人,原生就是框架的基础啊,js 就是 ts 的基础,那使用基础,为什么很难理解?你可以有这种想法,但是你要知道这种想法是有偏见的。
|
77
wtzwutianzhi 2021-03-22 13:44:21 +08:00
肯定原生的。多端需求的可以 uni
|
78
weixiangzhe 2021-03-22 13:52:30 +08:00 via iPhone
原生才有学习成本 那玩意看都懒得看 上 taro 或者 remax 吧
|
79
tanranran 2021-03-22 14:00:30 +08:00
@Yokin #66 复杂的需要用 NUVE 模式开发,简单的需要用 VUE 模式就行。
其次我觉得它用的不是 uniapp 开发的 1 、为了节省前期成本找外包 2 、DCloud 是几年前的模式 [问题确实多] ,现在最新的是 uniapp 3 、自动生成的代码?话说 uniapp 代码全都需要自己写 |
80
flyslow 2021-03-22 14:06:46 +08:00
看需求
简单的小程序,一般原生的会比较好一点,链路短,遇到问题好排查。 复杂的小程序,涉及到需要架构或组织一下的,多人协作开发的,可以考虑 Taro,uni-app 没用过不做评论。 不看需求就定技术栈属于耍流氓 |
81
Martox 2021-03-22 14:12:16 +08:00 1
推荐一下 mpx,用的是原生结合类 vue 语法,性能比 taro 更好一些吧,更新和修复 issue 也比较快。
|
82
toacnme 2021-03-22 14:14:17 +08:00
Taro 用了大半年了,还不错
|
84
54xavier 2021-03-22 15:19:16 +08:00 1
一开始用原生,写着不带劲儿,换了 uni-app 每次修改都要重新编译一次,代码多了就觉得挺卡的,报错了调试那些也都不方便,各种参数名、代码片段都是乱七八糟的,最后换回原生,就舒服了。
强烈建议没有多端需求还是用原生开发,也就是没有数据双向绑定会稍微麻烦一点儿,习惯了还是觉得挺好的。 |
85
vinsony 2021-03-22 16:24:13 +08:00
不管跨不跨端我都要用 uni,原生就是一坨屎
|
86
timedivision 2021-03-22 16:26:36 +08:00
uniapp 吧,给你个搭好的 uniapp+ts 的架子,前提你愿意用 ts 的话
|
87
timedivision 2021-03-22 16:26:49 +08:00
|
88
TomVista 2021-03-22 16:55:46 +08:00
性能: 原生约等于 uniapp taro 2.x 远大于 kbone taro 3.0 (我记得好像是一个数量级 100/1000,这个样子)
没写过小程序建议用原生,写过的建议 用编译型的框架,不推荐运行时的主要还是性能问题, 小程序原生有坑,然后其他框架都有坑上加坑的情况,程度不分先后 总之,优先原生 |
89
yang137162692 2021-03-22 18:25:17 +08:00
uniapp 与 mpvue 二选一的话。
单单对比长列表渲染表现:mpvue 渲染长列表有压力,一旦状态变化,在低端手机上会发生肉眼可见的卡顿。反观在 uniapp 上这种情况有做特别的优化。并且 uniapp 目前还在更新,mpvue 已经停更一两年了.... 之前使用的是 mpvue,因为部分应用场景渲染数目还是比较大的,尝试过将项目迁移到 uniapp 之后,应付这种场景就表现好多了。 其他比较可以在官方在掘金上面发表的文章上看到 https://juejin.cn/post/6844904118901817351 |
90
zhou01 2021-03-22 20:14:05 +08:00
用 Taro 用了好久了,感觉还可以
|
91
go522000 2021-03-22 21:15:42 +08:00
嗯。用 uniapp 遇到一个问题,我是用 uniapp+colorui 给客户开发 H5 端,过一年后客户要更新一点东西,改完成后新编译,colorui 的弹出框都不能用了,只能退后上一个版本再重新编译才能用。。。这事我不知道是 colorui 的坑,还是 uniapp 的坑,如果是长期维护的,我还是建议用小程序原生的语言去开发比较好。
|
92
FightPig 2021-03-22 21:45:15 +08:00
uniapp 最大的问题就是说是开源,你提个 bug 或者 pr,n 久都不会有人理你
|
93
weitch 2021-03-22 21:55:07 +08:00
用 uniapp 的人已经版本上线了,那个用原生的还在编译。
|
94
xream 2021-03-22 22:16:43 +08:00
有能力填坑的用 uniapp 非常完美
|
95
luoway 2021-03-23 10:07:27 +08:00
没有跨端需求可以考虑自己或自己公司大佬写框架
Vue 技术栈推荐的只有 uniapp 框架必须是静态编译以免后续迭代出现性能问题,排除 Taro 3,现在我已经不关注 Taro 的后续发展了 Taro 2 是静态编译但只支持 React,不满足技术栈要求 |
96
terryloto 2021-03-23 10:18:52 +08:00
原生
|
97
inhal 2021-03-23 12:29:57 +08:00 via Android
mpxjs
|
98
genesischou 2021-04-26 23:36:19 +08:00
原生+vue-mini
|