现在 flutter 的桌面端都这么成熟了吗?

325 天前
 lsk569937453
刚在 github 的热门项目上看到这个项目,https://github.com/KRTirtho/spotube ,居然是 flutter 开发的桌面端+移动端。我是 windows ,下载下来看了一下,包也不是很大,流畅度还行,就是样式明显还有优化的空间。这样的话对小公司来说简直就是福音阿,毕竟人手又不足。一套代码,多端发布还是挺爽的。

我之前用 react native 开发的跨移动端程序,现在在用 tauri 开发桌面端。虽然之前在 v2 上看到很多人不看好 flutter ,毕竟性能又不行(渲染引擎是 skia),样式代码嵌套简直就是地狱。没想到 flutter 这几年一直在发展,桌面端也稳定了。刚看了一下 issue ,还是 10000+,哈哈。
15790 次点击
所在节点    程序员
82 条回复
messnoTrace
325 天前
@taosimple 现在用的是 flame
monkeyWie
325 天前
flutter 对于独立开发者来说是真的香,比如我这个项目: https://github.com/GopeedLab/gopeed
还有更复杂的: https://github.com/reqable/reqable-app
murmur
325 天前
@joyhub2140 wasm 又不能操作 dom ,目前 webasm 的用途最大还是代码混淆,我不用 webasm 一样可以写 web 啊

一般的混淆 beautify 了还可以调试,wasm 那是真的没法调了
pursuer
325 天前
跨平台的库很多,但是浏览器有个非常重要的特性就是标准化的开放性。比如如果想在自己的应用中嵌入或引用其他来源的组件/内容,在浏览器上可以直接一个标签解决,并且标准化程度很高。但应用框架要实现类似效果就比较困难。这个优势甚至足以在大部分场景下让浏览器的缺陷能被接受。
fomenyesu
325 天前
@joyhub2140
flutter 官方 webassemble GC 示例: https://flutterweb-wasm.web.app/

官方示例 打开速度这么慢? 有什么好?
XCFOX
325 天前
「综合水平一直是 flutter 最高」这个结论是怎么得出来的?

在我看来 Flutter 自认为的优势也是最大的缺点就是自绘。目前甚至很长的一段时间内自绘的性能/用户体验是比不过原生的。
假如原生的体验是 100 分,那么目前 Flutter 的上限大概只有 90 分,希望 Impeller 完善之后能把上限提高些。反观 React Native 始终使用原生渲染,在 0.68 使用全新的 Fabric 架构解决了 js 通讯瓶颈后,在性能上已经不成问题了,上限可以达到原生的 100 分。

体验一下 V2EX 的 Flutter 客户端和 React Native 客户端,Flutter 版本滑动、翻页的时候存在明显卡顿,RN 的体验明显好得多。
https://github.com/guozhigq/flutter_v2ex
https://github.com/liaoliao666/v2ex
lucifer518
325 天前
@sentinelK #8
不要全部写在一起
我举个例子
buildWidget1() {...}
buildWidget2() {...}
buildWidget3() {...}

build{
Column([
buildWidget1(),
buildWidget2(),
buildWidget3(),
])
}

也可以自定义用变量声明 widget
const widget = Widget();

写法可以类似 React
所以你说的这个问题基本不存在
buf1024
325 天前
补充#16 ,贴上之前用 flutter 写的,支持三端: https://github.com/buf1024/hiqradio
=======
稳定不至于,只能说基本可用,很多功能要第三方插件支持,而且第三方支持不一定有你自己所需的功能,还是要自己修改,或写插件支持。
ybz
325 天前
flutter 有自己的调试工具并不比浏览器控制台差。

性能问题,Impeller 之后会好一些,虽然还是难以达到原生级别的性能。

代码嵌套用多了你会发现其实真香。

深入使用后你会发现全自绘带来了很多原本原生自带的功能很多都需要 Flutter 自己实现,比如在原生上很平常的文本选择在 Flutter 里面是自己重头实现的,这其中还要考虑多平台。虽然 Flutter 现在已经都实现了但是其中很多细节达不到原生的体验,还有很大的优化空间。

然后 Flutter 包括各个平台嵌入层、引擎层、框架层、官方 packages 、开发工具、测试工具、还有 Dart ,随便哪个东西都是一个大项目,但是真正 Google 的全职开发其实没多少人,又要推进新功能,又还有 1w+个 issues 根本忙不过来。
MegatronKing
325 天前
我是 Reqable 的作者,Reqable 是基于 Flutter 框架的大型项目,已上线桌面端 + 移动端平台,https://github.com/reqable/reqable-app 。就目前阶段来讲,Flutter 桌面端还没有完全成熟,但也差不多了,还有些坑。从开发效率和生态上讲,不如 Electron ,从流畅度、性能、体积等用户体验度上来讲,超过 Electron 。长久来看,开发效率和生态有逐步提高的空间,也就是后面会越来越好,值得长期投资,这也是我为什么选择 Flutter 的原因。

![Reqable]( https://reqable.com/zh-CN/assets/images/screenshot_macos-b946ce3ac47e27dfcfa3323d20122552.jpg)

我刚刚将 Reqable 项目的 Flutter 版本从 3.10.4 升级到 3.16.5 ,MD2 升级到 MD3 ,花了不少时间(大约 1 天多)来处理升级后带来的问题,这个过程其实挺痛苦的,中途差点放弃,但还是咬牙坚持下来解决了所有升级带来的新问题。这可能是 Flutter 框架快速迭代的一大痛点,长远来看也值得。
kkk9
325 天前
@fomenyesu #25 HK 节点表示秒开
beimenjun
325 天前
@ybz 确实,Flutter 长期看最大的风险在 Google……
zhengjing
325 天前
flutter 写写公司的一些桌面小工具非常不错,简单快速跨平台
mainjzb
325 天前
@XCFOX 我去下载了这俩 app 试用了一中午,我感觉这个 flutter app 一部分原因是作者自己加入了一堆花里胡哨的功能维护不好的导致的。甚至在一个帖子里,快速下滑都能发现右侧滚动条来回跳动。
RN 原生体验确实很原生
lwlizhe
325 天前
我现在的工作,就在公司做 flutter 基建和推广,怎么说呢,假如别的组用的 QT 这种,跟他们推广 flutter 桌面端就比较尴尬了,从性能、内存、功能支持方面确实都比不上 QT ,多窗口这种也支持的比较困难,感觉离成熟还是有一定差距。
Sniper000
325 天前
我们公司的 APP ,ToB 的 基本都用 Flutter 了,稳定跑了 2 年了,没啥大问题,效率是很高,开发很快,反正我已经不喜欢使用原生 iOS 开发了。
ydong
325 天前
@murmur "webasm 的用途最大是代码混淆",你是认真的吗
murmur
325 天前
@ydong 跑高性能程序有 app ,可以直接调硬件功能,你优化的再牛逼的算法也比不过别人直接调硬件编解码器和 AI 核心对吧
EngAPI
325 天前
咸鱼在 ios 上是真的费电
clue
325 天前
vs code 就是完全基于 electron / webview 的, 未来我是看好统一的 web 标准, 性能越来越过剩, 大家都是往开发效率更高的平台上迁

以前 pc 独立客户端的程序都在 web 化, 移动端也是迟早的事

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

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

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

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

© 2021 V2EX