Flutter 是未来 app 编程的趋势么?

2023-01-04 22:28:21 +08:00
 daxiaoxian
1 、在点一段时间我寻找了一段时间 APP 编写方案,找到了 Flutter 觉得它可能是未来的方向。
2 、Flutter 是否值得下赌注学习呢?
3 、今天公司一个前端同事说 Flutter 已经是过时的产品了,瞬间感觉我的方向错了。
16575 次点击
所在节点    程序员
107 条回复
magic3584
2023-01-05 09:45:07 +08:00
flutter 和 rn 都在写,有需求都是去找第三方库。但是有些平台特有的还得写原生代码,比如 CoreData 和 action 这些
inktiger
2023-01-05 09:47:33 +08:00
flutter 性能不行,写一个复杂一点的页面,用上分帧上屏,都控制在 16ms 了,你都还会觉得不流畅。不管怎么宣传,始终离原生差很远
zjsxwc
2023-01-05 09:50:48 +08:00
这个帖子大佬 moosoul 说 flutter 和 rn 差不多:

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

```
UniApp
这个先放弃吧,写小程序还不错,已经用 uniapp 上架了两款小程序(长期运营维护,但是编辑器还是 bug 比较多,主要是跟 HBuilderX 的一个 hot reload 有关,但是不是啥大问题,大不了重新编译一次)

Flutter 2.0
已上架两款应用。一款简单,一款复杂。都是社交类应用(三方服务采用的腾讯云的 IM ,现阶段 3.5 版本之后的 IM 的 flutter 插件还不错,以前的很坑)
然后复杂应用中有一款涉及到,IM 、富文本编辑、相机、录音、实时音视频。这个时候就能发现 flutter 的各种坑了。(如果你愿意花时间折腾那可以用)
目前坑点稍微说一下
1. Google Flutter Plugin 中的 Camera 、Video Player 的问题,前者旋转拍照的支持有问题,0.2 版本的 bug 如今 0.9 了还未修复,后者对旋转的视频的方向支持有问题,也是 0.1,0.2 版本的问题现在 2.0 以后了还未解决。
2. 富文本编辑器使用的 flutter quill,这个库还不错基于 flutter 的 skia 那套自己完全重绘,性能和效率还不错,但是功能性上面相对于成熟的富文本编辑器缺失太多,编辑器的基础的输入,换行,样式各种都有不少问题,因目前还比较基础很多 API 封装的不够彻底,经常有需要自己手动修改编辑器的 meta data 的情况
3. Flutter 自身,语言上是 Dart 这个没啥好评价的,多学一门语言而已,大多数程序员都没有压力。但是 UI 构建的方式基于 Widget 的,这个 Widget 看似很完美,当你应用内自定义的内容较多的时候,你就会发现,万物不是 Widget 了,万物都是 Container ,基本组件都是自己基于 Container 去修改。看了很多文章都说 Flutter 通过 Skia 自绘了一套 UI ,保证了 Android 和 iOS 的一致性,真希望这些作者拿 Flutter 去写一个实际项目,这个一致性真的没啥用,大多数都还是需要你自定义(这个时候我就很怀念 React Native 了,反正也可以 div 一把梭啊)
4. 三方插件上,大多数插件也是需要自定义的,我列一下我自定义的 pub 的插件
google_plugins (主要是修改上面说的两个插件的 bug )
flutter_wechat_camera_picker (如上,内部采用的以上两个插件)
sliding_up_panel (有一个容器高度的 bug )
ai_barcode (需要自定义扫描线的风格)
flutter_quill (需要解决一些编辑 bug ,以及自定义一些 Style )


React Native 0.59
已上架 2 款以上应用。
缺点还是性能问题,但是大多数基础项目,我做了这么多款项目还真没碰到性能说跟 Flutter 差距很多的地方。
再个长时间没接触 React Native 了更多的就不评价了。


以上对比下来
Flutter == ReactNative >>>>>>> UniApp(做 App 用这个你就是坑自己)

我看 RN 更新了 0.69 版本据说在原生交互方便加入了 JNI,可以直接调用原生不像以前是采用类似 json 数据通讯的方式,我准备再回归 RN 试试了。
如果内心不够强大,项目又够复杂真的不建议 Flutter ,需要原生处理的多出你的想想。
其实如果做到复杂项目上,Flutter 和 RN 真的 55 开,都需要你有不错的原生基础。

最后说一下我想回归 RN 的原因
1. JS/TS ,日常是 Nodejs 全栈,也会些一下 React 项目,语言上更熟悉。
2. Flutter 当前主版本还算比较稳定,但是三方库一言难尽,并且样式相关的很多官方自己都没有一套很好的自定义方案,那三方库更不可能支持的有多好,大多数三方库最后为了改一些样式只能拉下来自己改库了。

至于大家最终选用什么样的框架看是看需求吧,考虑性能直接原生,不考虑性能的简单项目除了 uniapp 任选,复杂项目如果本身也是 js/ts 那就 RN
```
8355
2023-01-05 09:53:29 +08:00
前端的趋势真的不值一提 只学当下流行的
murmur
2023-01-05 10:00:26 +08:00
@Ediacaran 这个我认为不是 flutter 的锅,是互联网现在是减量市场,如果 flutter 早 3 年在小贷或者团购年代出来,早就起飞了

上面一群人在吹什么,我用腾讯的就一个 qq 微信,其余的你再吹逼,刚需都没了,就留着程序员自己折腾
xzysaber
2023-01-05 10:02:53 +08:00
@milukun 哈哈,我真想说这个。
xzysaber
2023-01-05 10:03:09 +08:00
@xzysaber 正想。
meteor957
2023-01-05 10:05:48 +08:00
还不如 rn 呢
weixiangzhe
2023-01-05 10:10:27 +08:00
我看我手机里有用到 Flutter 的有 9 个, RN 有 7 个,不过应该也都是部分页面有用吧




dd991
2023-01-05 10:13:57 +08:00
卷吧,让卷的来的更厉害点!!!
dd991
2023-01-05 10:14:16 +08:00
卷到自己都无路可走!!!
milukun
2023-01-05 10:17:18 +08:00
@weixiangzhe 这是什么 app 可以这么看
kaicity
2023-01-05 10:40:27 +08:00
@zjsxwc 我说的是零碎界面啦,又不是全部
opentrade
2023-01-05 10:41:55 +08:00
学个东西还要下这么大决心?难道不应该是兴趣驱动?
murmur
2023-01-05 10:45:10 +08:00
@opentrade 兴趣驱动学的也 rn 啊,flutter 那个一坨屎的 ui 语法咋提得起兴趣,要是有个 dart-x 就无敌了
xiangyuecn
2023-01-05 10:53:19 +08:00
你猜怎么着,虽然主要的几个界面编译成了原生的,但 不管你技术在玩的怎么花里胡哨

大部分常用 app 里面最后还是逃不开不开要用到 webview ,也不是说原生不行,但有时候真的无能为力

因为真便宜啊
Helsing
2023-01-05 12:46:41 +08:00
@weixiangzhe #45 一般都是把 H5 换成了 Flutter 来实现
Slurp
2023-01-05 12:53:58 +08:00
Dart 这种垃圾语言还能成为优势了。
nnegier
2023-01-05 13:18:53 +08:00
@zqlcrow #38 赞同 flutter 给了 app 一条活路
xieqiqiang00
2023-01-05 13:30:19 +08:00
@milukun #27 下载 Wonderous 体验了下,首页并不复杂的动画却卡顿,掉帧....

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

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

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

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

© 2021 V2EX