2022 年了, React Native 和 Flutter、uni-app 怎么选?

2022-02-06 10:20:22 +08:00
 gongquanlin

最近想学一门移动端跨端技术,作为自己技术栈的一个补充,看 v2 上支持 rn 和 flutter 的各一半,但是回答都是 20 年或之前的居多,反对 flutter 的主要原因,主要是 flutter 技术没有这么成熟云云

现在 2022 年了,flutter 也出了 2 了,因此想看一下广大 v 友对这两门框架的意见?

介绍下个人情况:在公司主要是写 vue 和 java ,在外写 php+go ,所以也不排斥学新语言(dart)。

看写法上 flutter 和 RN 都很像,业务上之前请教前端大哥,app 都是 uniapp 一把梭哈,虽然 uniapp 可以,而且看 csdn 的客户端好像也是 uniapp 的?但是还是想搞一把 rn 或者 flutter

倾向于 rn ,因为会 css ,觉着用 react 写样式也比较快; flutter 主要是嵌套地狱太劝退了,看样式上和 css 好像没有太大区别;

所以不知道各位 v 友有啥建议没

14324 次点击
所在节点    移动开发
39 条回复
geekrainy
2022-02-06 10:21:23 +08:00
首先排除 uni
rophie123
2022-02-06 10:27:52 +08:00
会 vue 反正我选 uni ,如果为了学习的话可以学学其他的
7gugu
2022-02-06 10:33:00 +08:00
uniapp
cnbattle
2022-02-06 10:37:14 +08:00
如果你的移动端想包含 h5,各小程序平台,业务不涉及什么底层,信息流为主,选 uniapp 出活快,

如果玩底层,得玩原生,看个人学习目的和需求,我为了出活 h5 ,小程序,app 都搞,常规业务需求,用 uniapp ,因为之前会 vue ,直接上手,成本极低……楼主参考下,溜了,各位大佬勿喷🙈
TinyKube
2022-02-06 10:42:59 +08:00
2 年前 flutter 成熟度确实不如 RN ,现在 RN 生态半死不活,我会选 Flutter
Chism
2022-02-06 11:05:38 +08:00
uniapp 其实就是 webview 包皮,性能上不及 rn 和 flutter ,好处是,它不仅可以编译成 iOS 和安卓,还能直接做成各个平台的小程序以及快应用
但是 bug 多也是很多开发者诟病的
如果是面向国内,uniapp 应该问题不大,毕竟大量小公司都在用,1 个程序员同吃所有端,甚至后台(unicloud),美其名曰新全栈
meteor957
2022-02-06 11:37:38 +08:00
前几年肯定推荐 rn ,现在很难说。
chotow
2022-02-06 11:42:28 +08:00
用 Flutter 写的百度贴吧 iOS 版跟💩 一样,此外没见过其他写得好的 Flutter 应用,所以非客户端开发的我盲推 RN 。
IGJacklove
2022-02-06 11:45:42 +08:00
个人看好 flutter ,未来前景会更好。
Chad0000
2022-02-06 11:49:45 +08:00
我就知道没人推 Xamarin ,我在用它。[狗头]
rabbbit
2022-02-06 11:55:33 +08:00
学习的话 uni 就算了, 正规点的厂子基本上没有用这玩意的.
Rrrrrr
2022-02-06 11:57:30 +08:00
Flutter
Building
2022-02-06 12:04:00 +08:00
单纯学习的话不建议学习这种框架中的任何一种,浪费时间,随便学 Android 或者 iOS 都行,其实大体思路都是一样的,这种框架仅仅适合快速搭建简单的数据展示类应用,稍微复杂一点的应用,原生流畅你可能都保持不好,更别说用这种框架了,做出来的东西根本不能用,再加上没有认真了解过底层运行机制,遇到问题瞬间就搁浅了。
XCFOX
2022-02-06 13:11:49 +08:00
个人推荐 Flutter

目前而言 RN 的生态比 Flutter 其实略逊一筹,阿里云腾讯云的很多服务会提供 Flutter 、iOS 、Android 的 SDK 但没有 RN 的 SDK 。Flutter 的开发的移动端应用目前能直接跑在 Web 端上。
Flutter 坑很多,听说 RN 坑更多。
《哔哩哔哩漫画》所有页面都是用 Flutter 开发的,流畅度非常不错。
另外是个人觉得 React 的函数式数据更新思路很奇怪,后来的 vue3 、solidjs 、Flutter 的 GetX 都没有采用 React 的函数式 + Hook 的思路,代码写起来顺畅多了。
LiuJiang
2022-02-06 13:21:29 +08:00
@XCFOX "另外是个人觉得 React 的函数式数据更新思路很奇怪,后来的 vue3 、solidjs 、Flutter 的 GetX 都没有采用 React 的函数式 + Hook 的思路,代码写起来顺畅多了。",React 本身强调的是函数式编程理念,如果把编程思想转换下,或许就不会奇怪了,反而会深度认同
makelove
2022-02-06 13:32:49 +08:00
@LiuJiang react 怎么就强调函数式了,那 solid 和 react api 很类似是不是也算函数式
WenhaoWu
2022-02-06 14:58:02 +08:00
全职写 flutter 两年了,不后悔
wingkwanli888
2022-02-06 15:07:45 +08:00
flutter 吧, react native 現在的生態不行了
hxse
2022-02-06 15:23:46 +08:00
同样很难接受 flutter 官方那种冗长难明的写法, 尝试找了一个下社区方案, 看看有没有什么简洁优雅的写法, 还是有的

函数式组件的写法:
https://pub.dev/packages/functional_widget
hooks 的写法:
https://pub.dev/packages/flutter_hooks
状态管理库:
https://pub.dev/packages/hooks_riverpod
灵感来自 Tailwindcss 和 SwiftUI 的 i 框架:
https://pub.dev/packages/velocity_x
简化嵌套的语法:
https://pub.dev/packages/nested
Shook
2022-02-06 15:26:24 +08:00
公司业务原因,flutter 和 uniapp 都有写,我个人觉得都值得学习。
如果实在只能学一样,我推荐 flutter ,因为它类型完备、调试方便。

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

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

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

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

© 2021 V2EX