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

2022 年 8 月 25 日
 xiaochong

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

  1. fluter
  2. react native
  3. 其他

关心几点:

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

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

18584 次点击
所在节点    程序员
124 条回复
debuggerx
2022 年 8 月 26 日
@murmur 确实是难题,对开发、设计、产品,甚至老板的要求都很高,但也并不是不可能的。事实上不管是从哪个角色的角度,追求跨平台都是很有价值的,“复用”程度越高越节省成本和开发设计的精力,只是很多原因,有些是技术限制,有些是人的水平问题,走了弯路,增加了复杂性反而是徒增兼容的成本。但是抛开需求和项目规模谈方案就是耍流氓,很多情况下,跨平台方案的综合性价比还是要高很多的。
jdOY
2022 年 8 月 26 日
u3d
czzt1
2022 年 8 月 26 日
为什么不是 qt 呢?
likeunix
2022 年 8 月 26 日
total_time(学一个跨平台框架 + 处理平台相关问题) > total_time(学习每个平台的开发框架 + 处理平台相关问题) * 2
yanue
2022 年 8 月 26 日
swiftui
Vintingb
2022 年 8 月 26 日
gio
chenjiangui998
2022 年 8 月 26 日
说 flutter 的都是口嗨的, electron 或者 qt 无疑, 其他都不行, 目前主流都是 electron
uni
2022 年 8 月 26 日
@ysc3839 前端娱乐圈里一直有个说法,那就是 rust 是未来的前端进阶必须要会的东西。。。
wdwwtzy
2022 年 8 月 26 日
MAUI yyds
AaronWang13
2022 年 8 月 26 日
纯桌面 Tauri
xiaochong
2022 年 8 月 26 日
@uni 请问,为什么这么说呢?
lancelock
2022 年 8 月 26 日
godot
uni
2022 年 8 月 26 日
@xiaochong 这里有个回答我觉得应该就是这个说法目前主流的理由了:

1 ,Webassembly 。这一点不用多说,rust 是 wasm 的一等公民,除了 cpp 在某些方面可以超过之外,rust 在这一领域绝对是最佳选项。
2 ,最近有点使用其他语言重写前端基础设施的趋势,不管是 swc ,还是 fnm ,parcel 也使用 rust 重写了核心组件 Parcel 2 beta 3 ,还有 esbuild (虽然是用 go 写的)。在 vue 的 rfc 中也有相关的讨论是否可以使用 native 的能力家优化 SFC 的 parsing 性能 SFC with native,还有一个刚开的“坑”,vue-template-parser-rs 。未来 rust 一定会在前端工程化有一席之地的
3 ,对底层原理会有更深刻的理解,这对于你理解一些 v8 的黑科技还是有帮助的,而且有些优化的方法是通用的,比如当你有大量数据要插入的时候优先申请一片内存,而不是让容器自动分配。
4 ,使用 napi-rs@太狼 写 node binding ,不再有 node-gyp 重新编译的烦恼

作者:ReAl
链接: https://www.zhihu.com/question/481073515/answer/2072291356
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

另外我本人并不是很赞同这个说法
shijingshijing
2022 年 8 月 26 日
首先排除 MAUI
calvinHxx
2022 年 8 月 26 日
专业软件 qt 吧。
ne6rd
2022 年 8 月 26 日
electron 和 flutter 都用过。
electron 生态更成熟,flutter 开发体验更好。
如果自己的项目,可以先看看需要的功能 flutter 有没有现成的包支持。
1115746521
2022 年 8 月 26 日
javafx
Akitora
2022 年 8 月 26 日
jetpack compose
tauri
yinanc
2022 年 8 月 26 日
没人说 webview 吗……
yinanc
2022 年 8 月 26 日
@yinanc WebView2

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

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

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

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

© 2021 V2EX