RT.
用 Flutter 写了个小 Demo ,方便在可以同时编译成桌面端以及 Web 端
但是好像在我的 M1 上运行的还算流畅,在之前的 Intel MacbookPro 上就感觉有点拉胯....
当然还有很多奇葩的坑,也有可能是自己就看了下文档,花了差不多一个周末多点的时间,不是很熟练的问题....
折腾不起,最后还是让 Team 用了 Electron ,前端小姐姐弄起来还是又快又猛的......
顺便调研下这里有公司用 Flutter 直接开发上线的桌面客户端 以及 Web 端的?
Web 端: https://shitiven.github.io/workishapp/
MacOS M1: https://shitiven.github.io/workishapp/workishapp4m1.zip
1
NessajCN 2023-05-31 15:57:23 +08:00
你是不是搞混了,flutter 是用来写移动端的。桌面端本来就不推荐 flutter
|
3
x77 2023-05-31 16:13:00 +08:00
Flutter 开发 Windows 桌面应用还是不错的。Windows .Net WPF/UWP 桌面应用本来也慢,要是搞 Win32 应用工作量高出很多,要是用 QT/GTK 那些还不如 Flutter 利索。
|
4
kennir 2023-05-31 16:26:07 +08:00
我们已经用 flutter 发了好几个移动端应用了,写 dart 的体验已经几乎和 kotlin 一样好了
flutter 目前是不太适合做桌面应用的,我记的还不支持多窗口,但是最近 google 的重心应该就是在桌面支持上,发展很快。 btw: 我记得 V2EX 前几天有个朋友发了个帖子就是 flutter 写了一个粘贴板相关的桌面应用 |
5
yaocai321 2023-05-31 16:28:11 +08:00 1
细说小姐姐又快又猛。
|
6
duan602728596 2023-05-31 16:35:08 +08:00
本来就是,你以为你解决了一个问题,但是会引进来其他问题
|
7
Highlight1024 2023-05-31 16:40:01 +08:00
|
8
Joliph 2023-05-31 16:42:54 +08:00
企业微信啊,4 端都用的 flutter
|
10
encro 2023-05-31 16:56:17 +08:00
|
11
yuedanwork 2023-05-31 17:02:36 +08:00 3
虽然 flutter 桌面和 web 是很拉胯
但简单看了下你的 demo ,很明显,你的 demo 拉跨并不只是 flutter 问题。 可以照着官网和社区的优化方式针对性的优化,基本还是能用的。 另外尽量采用高版本 |
12
Vitta 2023-05-31 17:04:00 +08:00
慢慢来吧,flutter 貌似开始往桌面端发力了。
|
13
shitiven OP @yuedanwork 说的很有道理,所以我也不敢把源码放出来.....
|
14
shitiven OP @Vitta 还有很有潜力的,基本上只要 UI 交互上设计好,一套代码基本很小的代价可以同时满足移动端 和 PC 端了 (包括 Web)
|
15
onlyForward 2023-05-31 17:10:02 +08:00
flutter web 问题太多了,光一个路由问题就搞了好久。
|
16
shitiven OP @onlyForward 是的 这个有花费我一半的时间在上面捣鼓,最后用的 vrouter
|
17
AlexV525 2023-05-31 17:16:10 +08:00
这个大概率是你写的问题...随便一个 ListTile 怎么都可以这么卡
(利益相关:Flutter 5 年开发) |
18
shitiven OP @AlexV525 嗯 最开始官方文档 写个 ListView 展示 明显可以,当加入动画以及一些 Web 端的 URL 策略就开始有点卡了, 后面就感觉要翻到重来了......
|
19
Xmarmalade 2023-05-31 17:29:12 +08:00
试试拆分 widget, btw 用的哪个状态管理
|
20
zcl0621 2023-05-31 17:29:50 +08:00
之前项目就是 flutter 涵盖 ios andorid pc 和 macos ,今年只保留了 ios 和 andorid 用 flutter ,pc 和 macos 切换到了 electron 。 桌面端适配真是要了老命了
还有个项目尝试 flutter 涵盖 ios android 和 web ( web 直接放弃了 完全没法用) |
21
Vitta 2023-05-31 17:49:32 +08:00
@onlyForward #15 用 GetX 吧,用过几个还是这个好用
|
23
darkengine 2023-05-31 17:52:06 +08:00
这个 ripple 的视觉效果也太卡了吧。。。
|
24
dabbit 2023-05-31 18:45:17 +08:00
卡得我以为你输出的是 debug 模式
|
25
onlyForward 2023-05-31 19:09:22 +08:00
|
27
0001110001011 2023-05-31 19:50:47 +08:00
https://apps.apple.com/us/app/dz-reader-discuz-x-reader/id1602665775
iOS + Android 基本很多包都 ok 的 我编译过 mac ,windows 这时候, 很多包就不跨平台了, 比如 html 这些, 基本要 再写一份代码, 或者针对各个平台写 , 但是, 已经很不错了, 起码 95%的代码都能通用 性能上: 基本从来没优化过, 基本开发常识用到位, 基本看不到卡顿, 拿着好多年前的机器 iPhone 8 玩, 卡顿几乎看不到了 ,新的版本 flutter 自身优化,还是很强劲的. 如果你要 desktop+ web , 真的建议上 Electron . 如果只有 iOS+Android , 可以考虑 flutter |
28
keifer 2023-05-31 20:07:10 +08:00
企业微信,部分功能使用了 Flutter 开发。桌面端的全局搜索等功能,移动端的部分功能。
总体来说 Flutter 还是比较适合写客户端的 UI 界面,web 的话还是算了。 |
29
NewTab12138 2023-05-31 20:34:32 +08:00 via iPhone
我用 flutter 写过 pc 端的纯业务的外包产品,用起来没什么问题。很流畅,尤其是 Mac
|
31
zcl0621 2023-06-01 10:16:28 +08:00
@alleluya 不太敢用 tauri,tauri 的包体积要小很多,但对于我们的业务来说太新了,怕会出现一些找不到解决办法的问题。我自己做写 demo 用的都是 tauri 。
|
32
kingzeus 2023-06-01 11:37:06 +08:00
我和楼主的意见相反,我觉得 flutter 跨端有很大优势,对比 web 方案,我们用 flutter 实现需求反而又快又好
首先,flutter 跨端解决的问题主要是 ui ,从 ui 角度来说,跨端 ui 一致性完成度很高 其次,跨端不是说不需要 native 的能力,flutter 一般只提供了基础的接口,你可以通过定制 plugin 来实现。如果你熟悉 win32 编程的话,会发现 flutter 用来还是很不错的。对应 vs 和 xcode 工程,调试 flutter 还是非常友好的。如果发现真有问题,定制 engine 也可以比较容易搞定。 electron 我觉得最大的问题是 内存占用,以及进程通讯效率。 |