问一下客户端和前端同学跨平台方案, flutter 现在还活着吗

2023-12-21 18:44:22 +08:00
 vincent7245

想做个跨平台应用 + web ,只是展示数据,不会用到太复杂的 native api ,哪个方案比较简单

看了看 flutter ,看好多人说他死了,什么情况

5968 次点击
所在节点    程序员
21 条回复
flyun
2023-12-21 19:13:03 +08:00
关于 flutter 现在怎么样,我就发一个项目来说明好了
https://github.com/localsend/localsend
street000
2023-12-21 19:51:48 +08:00
大太子 Flutter 还在和敌国的 RN 打得难分难解,谷歌又在和新妃 Jet Brains 联手让二太子 Compose 也加入战场。
二太子有 Android 团队和不用自己养的新妃加持,很难不认为谷歌要扶正 Compose 而冷落 Flutter 。
passon
2023-12-21 20:50:05 +08:00
活着,比 Android ,ios 好找工作
joyhub2140
2023-12-21 21:11:38 +08:00
@street000

我也觉得很奇怪,JB 家的 KMP 跨平台和 Flutter 明显是有重叠的,特别是 flutter 的生态发展了这么多年,Google 还要扶持 JB 家的。

难不成是,鸡蛋都不要放一个篮子?
joyhub2140
2023-12-21 21:13:51 +08:00
回到楼主的话题,不用考虑了,目前最成熟的跨平台方案除了收费的 QT ,就只有 flutter 比较适合了,不过现在 flutter 做 web 还不行,flutter web 还没完全 wasm 化。
magic3584
2023-12-21 21:15:16 +08:00
活着呢啊,我还自己上架了一个 app
不过有前端经验的话,RN 也不错
iOCZS
2023-12-21 21:35:59 +08:00
同样是声明式语言,flutter 和 SwiftUI 、compose 之间还是有很大差异的。flutter 设计实现了很多 widget ,据说有 300+之多,但是常用的就一小部分。但是 SwiftUI 这种就很类似网页,虽然那么多 widget ,但是通过自定义就能搭建出所需要的 widget 。SwiftUI 能减少 widget ,是因为它有一种 modifier 的东西,可以以方法调用的形式来创建视觉效果。而 flutter 只有嵌套和增加属性。看起来 SwiftUI 远没有 flutter 所具备的复杂度。
luoway
2023-12-21 22:31:14 +08:00
用 Electron 简单。

flutter 对前端来说是死了,但凡能用上一点,就会有 `flutter-vue`、`flutter-react` 之类的框架库出现。但是 6 年过去仍然没有或者有过但匿了。我找到的唯一有用资讯是,以桥接的架构方式来实现 vue 、react 等开发 flutter ,目的是利用 flutter 的渲染引擎: https://github.com/openwebf/webf
street000
2023-12-21 23:47:45 +08:00
@joyhub2140
估计是 Flutter 不贴合 Android 团队的需要,套了太多层,UI 也不够原生,还要引入跟 Java 生态不兼容的 Dart 。
另一边 KMP 由 JB 主导自己不用太出力,改改现有的 Kotlin 库顺便兼容 KMP 成本不大。
XCFOX
2023-12-22 01:04:42 +08:00
Flutter 是个知名度很大但实际上并不怎么流行的框架。
我用 LibChecker 检查我手机上的 APP 有很多使用了 Flutter 的 SDK 。但实际上全面使用 Flutter 的只有《哔哩哔哩漫画》,有些 APP 部分页面使用 Flutter:《咸鱼》《飞猪》,更多是使用了 Flutter 的 SDK 但我找不到哪个页面是用 Flutter 写的:《微信》《微博》《豆瓣》《优酷》。
Flutter 视图是完全自绘的,交互体验上和 native 有很多不同,因此可以很容易判断哪个页面是不是用 Flutter 渲染的。比如在 Flutter 页面上双指滚动就能双倍滚动。

Flutter 成也自绘败也自绘。自绘的好处是可以在所有平台上获得一致的视图。坏处则是比不过原生的动画流畅性和交互体验,这方面有太多的 issues 了:动画反馈会延迟 1~3 帧,无法使用 Android 12 的滚动回弹动画,滑动和翻页时有明显的掉帧,严重的着色器编译时卡顿( https://docs.flutter.dev/perf/shader ) 。

总的来说 Flutter 开发的页面用户体验相比原生是明显倒退的,这可能也是为什么大厂不全面使用 Flutter 的原因。希望 Impeller 引擎完善之后能改进性能问题。

说到 Flutter 就不得不提老对手 React Native 。
RN 这两年在性能上做了诸多努力:0.68 支持 Fabric 渲染器架构,使用 jsi 与原生进程通讯,使得 js 与原生进程的通讯不再成为性能瓶颈; 0.70 使用 Hermes 作为默认 js 引擎,性能提升 51% - 63% ( https://reactnative.dev/blog/2022/07/08/hermes-as-the-default ) 。
另外 React Native 始终使用原生渲染,没有上面说的 Flutter 的一大堆问题。
假如原生的用户体验是 100 分,那么 RN 的上限就是 100 分,Skia 引擎的 Flutter 的上限是 90 分,希望 Impeller 引擎的 Flutter 的上限能达到 95 分以上。

再说 Dart 语言:我觉得本身 Dart 是门很不错的语言,奈何它的对手太强了,compose 的 kotlin 、RN 的 ts + jsx 、MAUI 的 C#。在一众优秀语言里 Dart 反而是平庸的。
Flutter 的状态管理方案也很难评,Flutter 生态里没有可以媲美 vue3 、或者 React 的 zustand 、jotai 、valtio 的状态管理库。Riverpod 略显啰嗦,GetX 相当于买了个冰箱送了个油烟机。

在现下总的来看:MAUI 和 Compose Multiplatform 还 too young ,担心踩坑没人管,那么还是得看 React Native 和 Flutter 。RN 在性能上不输 Flutter ;语言层面 TypeScript + jsx 优于 Dart ;生态上 npm 比 dart 繁荣得多,微软、Shopify 、京东、美团、Discord 、小米 都在大规模使用 React Native 。
结论是推荐 React Native 。
IvanLi127
2023-12-22 01:53:50 +08:00
感觉 Flutter 不行,列表在旗舰机上才不容易卡顿掉帧,从刚入门算起,两年后再摸,还是掉帧... 真受不了
WebKit
2023-12-22 02:28:41 +08:00
Flutter 目前是跨平台第一☝️
murmur
2023-12-22 08:24:11 +08:00
连华为的新框架都是基于 flutter 的,这波 flutter 比分上来了
andytao
2023-12-22 08:55:02 +08:00
GTK4 跨平台已经很成熟了,GTK5 全面支持 3D 加速即将到来。
BORBER
2023-12-22 09:32:59 +08:00
还是 webview 吧。。 画界面谁能和 html 比
devcai
2023-12-22 10:23:05 +08:00
大厂基本都是在去 flutter 化,只有比较简单次级的业务场景才用,另外有部分大厂使用 flutter 的渲染引擎,上层又封装了。打开开发者模式看布局就可以看看哪些用到了。
BernieDu
2023-12-22 13:09:57 +08:00
apple 生态的独立开发肯定是不用这东西,swiftUI 自己的生态是跨 watch ,tv ,iPhone ,Mac ,visionPro 。而且小组件,灵动岛,spotlight ,siri ,cloudkit ,swiftdata 等一堆核心功能或框架没法用 flutter 去开发。目前小厂快速出项目,大厂写节假日的脏业务还是主要应用场景吧,实际效果我没深入体验过,给我的印象就是前些年的咸鱼。rn 给我的印象就是前些年的携程
magic3584
2023-12-22 14:15:51 +08:00
@XCFOX #10
大佬太强了!请问有社交媒体能关注您吗?
taosimple
2023-12-22 14:44:25 +08:00
@XCFOX RN 自定义 UI 方面太差了,如果你的 app 都是一些常用的组件 RN 是没问题开发效率也高
jones2000
2023-12-22 23:53:41 +08:00
h5

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

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

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

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

© 2021 V2EX