技术解析

前端的同学,现在小程序用啥框架好?
0
2021-06-08 12:58:51
idczone

公司远古时期的小程序要重写,之前是原生语法写的 现国外服务器在小程序用啥框架好写小程序?Vue 技术栈 有前端的同学指点一下吗?


uni-app, taro

目前用的是 mpvue,虽然停更了,但是并不影响使用,会 vue 可以直接上手

我们公司除了原生的就是 uniapp 了 感觉还行

我写来写去还是觉得原生的好啊

Taro

remax

mpvue 听说坑特别多啊。会影响开发的不?

原生好啊,为啥要用框架,框架编译出来的包感觉要比原生的包体积大啊,超 2m 还要考虑分包,多费劲

taro 是 react 技术栈的,至于 uni-app 坑会不会特别多,我们目前只做微信小程序

uni-app 的性能貌似比原生好吧 轮子又多 开发效率比原生快

对于 uniapp 的插件市场如果使用几个不同的插件会产生问题不?这方面的坑我 19 年就有过但当时没解决,现在还有这个问题吗

目前感觉没啥坑的,几个小程序项目都在用,其实主要是这个编译后非常小,毕竟有 2m 限制,微信自己出的 kbone 编译后都快 700kb 了,对比 mpvue60 多 kb


这种问题肯定会存在。。。插件作者无法考虑其他插件的兼容性吧。

Taro

没有跨端需求就原生呗,跨端就 uni 和 taro

Uni-app 吧, vue 直接上手.

原生挺香的,不用愁框架的坑,而且体积小,我开发了 34 个模块,才 600 多 K

uni-app 性能比原生的好?

原生的靠谱 第三方的不知道啥时候会遇到一个坑 然后浪费时间去填 特别是用第三方的 UI 库的时候

多平台小程序用 uni-app

我看到的文章说的,https://baijiahao.baidu.com/s?id=1668622181984722828&wfr=spider&for=pc

到最后你还是会觉得原生的香

原生大法好啊

目前 remax,react 可以直接上手,还没看到什么大坑

uniapp,vue 一把梭它不香吗

原生挺香的

建议用原生

原生吧,不用兼容太多东西,而且原生也有很多组件可以用的

原生+1

不是怎么爽怎么来,而是看有没有多小程序平台一起发布的需求。一个月前我纠结原生还是 uni-app 的时候选了原生。。

vue 用 uni-app
react 用 taro

Uni-app,已经开发了 6 个项目了。目前没有发现有任何问题

还是用原生的吧,加一些自己需要的配置和插件

建议原生

不是跨平台,还是原生的好

remax 没用过
taro 用过 做是没问题, 但是坑也挺多的

Uni-app 吧,毕竟跨平台

uniapp 可以线上用

不多端复用就原生

uni-app 还阔以。就是感觉那个 picker 好难用,然后插件市场各种插件,有时候也是略麻烦

小程序还需要框架吗?

小程序其实不存在所谓「原生」的概念。楼上所谓的「原生」与 uniapp taro 等开发框架的区别,从本质上来说更接近于 js 与 typescript 的区别。使用「原生」好处不见得有多少,但是问题却不少,比如学习成本,比如微信小程序至今不支持直接使用 npm (需要多一步「构建 npm 」操作),等等等等。所以我很难理解楼上那些推荐「原生」的人。

uniapp 吧,好上手

原生

推荐 react+taro+weui,这三个组合就够了

万一哪天领导让你把小程序移植到头条 /qq 等平台上时。。。 所以还是 uni 吧,效率第一

taro 也支持 vue 语法

uniapp

我用有赞的 vant-weapp 。坑挺多,主要需要解决 一些类似跨域,传递数据的问题。 其余大多数用官方的。。嗯。。。

不知道你在说什么

我现在做是用原生的,因为框架必须再学框架的知识,配置也不是很会。

小程序本身就有很多坑+文档不完善+经常 XJB 改,各种小程序框架也都有不少坑而且资料特别少。
加一起就是更多的坑,遇到问题首先不是解决问题,而需要先找出是框架还是小程序的问题,往往找不到相关资料。
这与 JS/TS 关系不一样:
JS 虽然有不少坑,但是大家都比较熟悉,而且文档、资料特别丰富,也很少乱改,有着顶尖的兼容性。
TS 的用户也很多,编译产物简单易读,只增加了一些类型,可以避免而不是像小程序框架那样产生问题。


为什么小程序没有原生的概念,原生在这里是约定俗成的一个词组,大概就是不使用框架,使用官方语法。大家理解这个事就可以了。
引用「从本质上来说更接近于 js 与 typescript 的区别,使用「原生」好处不见得有多少,但是问题却不少。
所以你认为的本质是什么,为什么更接近于 js 与 typescript 的情况下,使用好处不见得有多少,但是问题却不少。你这么总结就是在说 js 啊,js 是一门客户端语言,ts 是更严格的 js 。可以编译成 js 。仅此而已,更适合不同的使用场景罢了。你说很难理解使用原生开发小程序,我就想原生小程序怎么你了,不使用工具这个事在你认为那么难理解吗?

一直在做各种小程序,框架也用了不少。
18 年开始用 mpvue,优点是 vue 技术栈基本无障碍上手,缺点是美团不维护了,跨平台支持基本为 0 。
uniapp 也搭过两个小程序,优点是 vue 上手简单,UI 库丰富,缺点是 Hbuilder 很难用。
开发支付宝小程序和云闪付小程序都是用的 taro,react 语法,优点是跨平台很友好,可以同时运行到多个端进行对比,缺点是 react 语法对题主上手有些费时间,同时 UI 库比较少。

@wxsm
别再总结你对 JS 和 TS 那狭隘的偏见了

补充一下,taro 我用的是 2.x 版本,现在 3.x 也支持 vue 语法了,但学习成本比其他两个要高。

1. 如果是长期维护的项目,没有跨端需求,还是建议原生比较靠谱一些,比如官方出一些新特性,用起来坑会少一些。
2. 如果是小型项目或者跨端需求,taro 和 uni-app 本质差不多的,都是充当了把 react/vue 代码翻译成原生代码。所以推荐 remax,remax 的思路和这两个框架完全不一样,看上去是一条正确的道路。taro 用的人也蛮多的,如果 uni-app 和 taro 选一个的话,推荐 taro

uniapp 上的 ui 框架,推荐用 uView,这个框架组件全平台兼容性好,vant 特别蠢 H5 跟小程序不兼容

需要跨端 taro
不需要原生

现在 taro 和 remax 实现思路差不多了,但是 taro 稍卡也没研究是为什么

哦哦,谢谢告知,那我之后会更优先考虑 taro 了,因为 remax 毕竟还是较新一些,taro 更新得更加频繁。也是因为我个人比较喜欢 react

没人推荐一下 Tina ?
这个框架就相当于原生小程序,然后把原生小程序一个页面要写 4 个文件,整合成了像 vue 一样的一个文件,其他的话基本是原生写法

日经贴。。。作为一个前端我已经看到这种帖子好几次了

其实我觉得 remax 蛮好用的就是没什么社区,taro 想升级还得升级脚手架其实也挺烦的

看你的问题描述,原生

我真正经历过之前的老板为了节省前期成本找外包用 DCloud 做了一个一带三的 app,其中的 android 卡的没办法用,我接手之后不得已重新写了,就因为里面自动生成的代码完全无法使用,一半原生一半 webview,满满的吃屎的感觉。 出自知乎 https://www.zhihu.com/question/402489534/answer/1293438331
这是真的吗

我是用 mpx 做跨平台小程序开发的,优点是编译出来的就是原生的代码,没有 uniapp 和 taro 运行时的兼容问题,性能也更好
遇到的坑主要都是原生平台的问题,比较好定位和解决

推荐原生,可以自己用 webpack 加多一层打包处理,在小程序实现一些扩展功能,后期扩展也更方便。

用 taro 写了小程序,写完之后觉得还不如写原生



我将它类比为 js/ts,是因为 ts 编译以后得到了 js,实际的 runtime 也是 js 。小程序与框架的关系与此类似,uniapp 等框架编译以后得到了「原生」代码,仅此而已。因此它们这些框架虽然可能也存在自己的坑,但这种坑一般不难解决,因为这里不涉及到真正意义上的原生代码转换。从本质上来说,大家都是原生,这是我的看法。
反例比如 ReactNative 这种 hybird app,这种框架与原生之间存在巨大的鸿沟,一旦出现了坑估计不懂原生的人是毫无头绪。

还是推荐原生

我不知道你为什么戾气这么重,一言不合就要开始人身攻击。我没有说用「原生」的人都有毛病,也没有阻止你们使用,我自己也用「原生」写了不少小程序。我只是提出了我自己的看法。

现在用原生也好多花样。。。。最近是学了个用 ts,scss 写,然后用 gulp 转成 js,wxss

原生 + vant


1:“小程序与框架的关系与此类似,uniapp 等框架编译以后得到了「原生」代码,仅此而已。”
很多小程序框架是运行时的,不存在“编译后的原生代码”,除非把它们编译后的那堆 js 当作“原生代码”
2:“它们这些框架虽然可能也存在自己的坑,但这种坑一般不难解决”
这种坑很难解决,尤其是对楼主这样不熟悉小程序的

不至于上升到人生攻击的程度,你太敏感了。语言本就是一种工具,没有高低贵贱之分。你很难理解使用原生开发的人,原生就是框架的基础啊,js 就是 ts 的基础,那使用基础,为什么很难理解?你可以有这种想法,但是你要知道这种想法是有偏见的。

肯定原生的。多端需求的可以 uni

原生才有学习成本 那玩意看都懒得看 上 taro 或者 remax 吧

复杂的需要用 NUVE 模式开发,简单的需要用 VUE 模式就行。
其次我觉得它用的不是 uniapp 开发的
1 、为了节省前期成本找外包
2 、DCloud 是几年前的模式 [问题确实多] ,现在最新的是 uniapp
3 、自动生成的代码?话说 uniapp 代码全都需要自己写

看需求
简单的小程序,一般原生的会比较好一点,链路短,遇到问题好排查。
复杂的小程序,涉及到需要架构或组织一下的,多人协作开发的,可以考虑 Taro,uni-app 没用过不做评论。
不看需求就定技术栈属于耍流氓

推荐一下 mpx,用的是原生结合类 vue 语法,性能比 taro 更好一些吧,更新和修复 issue 也比较快。

Taro 用了大半年了,还不错

不要误人子弟,mpvue 都停更 2 年了,bug 一大堆,数组更新视图都不更新的,属性里不能调方法

一开始用原生,写着不带劲儿,换了 uni-app 每次修改都要重新编译一次,代码多了就觉得挺卡的,报错了调试那些也都不方便,各种参数名、代码片段都是乱七八糟的,最后换回原生,就舒服了。
强烈建议没有多端需求还是用原生开发,也就是没有数据双向绑定会稍微麻烦一点儿,习惯了还是觉得挺好的。

不管跨不跨端我都要用 uni,原生就是一坨屎

uniapp 吧,给你个搭好的 uniapp+ts 的架子,前提你愿意用 ts 的话

uniapp 吧,给你个搭好的 uniapp+ts 的架子,前提你愿意用 ts 的话
https://github.com/panghujiajia/uniapp-ts

性能: 原生约等于 uniapp taro 2.x 远大于 kbone taro 3.0 (我记得好像是一个数量级 100/1000,这个样子)
没写过小程序建议用原生,写过的建议 用编译型的框架,不推荐运行时的主要还是性能问题,
小程序原生有坑,然后其他框架都有坑上加坑的情况,程度不分先后
总之,优先原生

uniapp 与 mpvue 二选一的话。
单单对比长列表渲染表现:mpvue 渲染长列表有压力,一旦状态变化,在低端手机上会发生肉眼可见的卡顿。反观在 uniapp 上这种情况有做特别的优化。并且 uniapp 目前还在更新,mpvue 已经停更一两年了....
之前使用的是 mpvue,因为部分应用场景渲染数目还是比较大的,尝试过将项目迁移到 uniapp 之后,应付这种场景就表现好多了。
其他比较可以在官方在掘金上面发表的文章上看到 https://juejin.cn/post/6844904118901817351

用 Taro 用了好久了,感觉还可以

嗯。用 uniapp 遇到一个问题,我是用 uniapp+colorui 给客户开发 H5 端,过一年后客户要更新一点东西,改完成后新编译,colorui 的弹出框都不能用了,只能退后上一个版本再重新编译才能用。。。这事我不知道是 colorui 的坑,还是 uniapp 的坑,如果是长期维护的,我还是建议用小程序原生的语言去开发比较好。

uniapp 最大的问题就是说是开源,你提个 bug 或者 pr,n 久都不会有人理你

用 uniapp 的人已经版本上线了,那个用原生的还在编译。

有能力填坑的用 uniapp 非常完美

没有跨端需求可以考虑自己或自己公司大佬写框架
Vue 技术栈推荐的只有 uniapp
框架必须是静态编译以免后续迭代出现性能问题,排除 Taro 3,现在我已经不关注 Taro 的后续发展了
Taro 2 是静态编译但只支持 React,不满足技术栈要求

原生

mpxjs

原生+vue-mini

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服