2022 年, desktop app 开发(macos, windows, Linux )的跨平台框架是什么?

2022-08-25 11:18:30 +08:00
 xiaochong

本人 JAVA 后端,有一些 react 的前端经验。打算开发一个 mac os 的小工具 app ,想了解下目前的跨平台框架对 desktop 的支持咋样?

  1. fluter
  2. react native
  3. 其他

关心几点:

  1. 成熟度和活跃性,未来发展
  2. 通用性,能否向 mobile ( ios ,android )和 tv ( tvOs 等)迁移

能沿用现在技术栈最好,也不很排斥新语言。感谢!

14722 次点击
所在节点    程序员
124 条回复
iamqk
2022-08-25 17:19:48 +08:00
似乎有梯子是用 qt 做的,感觉 mac 下凑合用
zjsxwc
2022-08-25 17:20:28 +08:00
limiter
2022-08-25 17:21:08 +08:00
@murmur c++学习成本太高了,时间不等人,看好 flutter
zjsxwc
2022-08-25 17:21:21 +08:00
obwj
2022-08-25 17:24:30 +08:00
flutter
whoami9894
2022-08-25 17:26:20 +08:00
QT 。

@theohateonion #21 @zhailei2011 #30 @elechi #34
一个人 typo ,两个人复制粘贴
flowerpiggy
2022-08-25 17:26:32 +08:00
nw.js
zyxk
2022-08-25 17:28:36 +08:00
为什么这么多推荐 tauri 的, 且不说需要学 rust , 10 及以下系统还要装运行库, 这点就不适合小工具了吧.
youxiachai
2022-08-25 17:30:48 +08:00
@murmur flutter 3.0.5 准备走微软应用商店流程上架了
youxiachai
2022-08-25 17:35:05 +08:00
@murmur 我是上一年看了这篇文章后面试一下用 flutter 做桌面 app
https://blog.whidev.com/native-looking-desktop-app-with-flutter/

真有复杂需求 dart::ffi 其实也可以解决问题..我觉得 flutter 开发桌面端其实问题不大
mejee
2022-08-25 17:39:52 +08:00
会 Java 的话,感觉可以尝试下 flutter ,dart 和 java 很像
Kasumi20
2022-08-25 18:00:27 +08:00
前后端分离,exe 跑服务,UI 跑在浏览器里
WebKit
2022-08-25 18:18:17 +08:00
Jetbrains Compose 不错
treblex
2022-08-25 18:27:58 +08:00
manjaro gnome wayland 下,flutter dev 运行还是比 gtk 慢一点,空白窗口有差不多 1 秒
santom
2022-08-25 18:34:49 +08:00
如果只是简单的小工具,PWA 怎么样?
debuggerx
2022-08-25 18:48:50 +08:00
@murmur https://github.com/debuggerx01/dde_gesture_manager
flutter 做的客户端(还有 web 版),dart 写的后端,已经上架 deepin/UOS 的应用商店
xiaochong
2022-08-25 18:51:05 +08:00
@debuggerx 学习一下
duan602728596
2022-08-25 18:54:46 +08:00
根据 electron 好几年的开发经验,我推荐 electron ,原因如下:
1. 从数据持久化上来讲,浏览器原生支持 localStorage 、sessionStorage 、IndexedDB 等,不需要在自己引入本地存储的解决方案
2. 开启多线程比较容易,原生 WebWorker 支持
3. 因为你使用了 react ,可以说复杂的界面的切换就很容易了(HashHistory)
4. 打包跨平台,在 mac 上可以编译 mac 、linux 、window
5. 可以在主线程开启子线程,启动其他服务
6. electron 原生支持一些系统功能,比如文件选择器、多窗口等等
7. 可以使用 electron-store 这种来存储相关配置
反正你选择的时候也要考虑到周边的功能,有的时候这些反而会阻碍你的开发
ysc3839
2022-08-25 19:00:57 +08:00
关于 tauri ,我觉得主要问题是要用 Rust 写后端,对前端开发者不友好。
很多人吹 tauri 只是因为它是调用系统 WebView ,不需要自带一个 WebView ,完全没考虑到对前端开发者易用性问题。
个人认为目前市场需要一个 Node.js+系统 WebView 的框架,但可惜并没有人开发。
hst001
2022-08-25 19:13:56 +08:00
flutter desktop 目前虽说是 stable ,但有些问题还是蛮影响的,比如字体、platform view
tauri 从 roadmap 上看,还不够成熟
目前最成熟的应该还是 electron

如果要考虑未来发展,那无疑是 flutter ,背靠大树

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

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

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

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

© 2021 V2EX