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 等)迁移

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

14723 次点击
所在节点    程序员
124 条回复
debuggerx
2022-08-26 10:27:25 +08:00
@murmur 确实是难题,对开发、设计、产品,甚至老板的要求都很高,但也并不是不可能的。事实上不管是从哪个角色的角度,追求跨平台都是很有价值的,“复用”程度越高越节省成本和开发设计的精力,只是很多原因,有些是技术限制,有些是人的水平问题,走了弯路,增加了复杂性反而是徒增兼容的成本。但是抛开需求和项目规模谈方案就是耍流氓,很多情况下,跨平台方案的综合性价比还是要高很多的。
jdOY
2022-08-26 10:36:01 +08:00
u3d
czzt1
2022-08-26 10:48:52 +08:00
为什么不是 qt 呢?
likeunix
2022-08-26 11:25:40 +08:00
total_time(学一个跨平台框架 + 处理平台相关问题) > total_time(学习每个平台的开发框架 + 处理平台相关问题) * 2
yanue
2022-08-26 12:37:58 +08:00
swiftui
Vintingb
2022-08-26 12:47:59 +08:00
gio
chenjiangui998
2022-08-26 13:06:29 +08:00
说 flutter 的都是口嗨的, electron 或者 qt 无疑, 其他都不行, 目前主流都是 electron
uni
2022-08-26 13:10:02 +08:00
@ysc3839 前端娱乐圈里一直有个说法,那就是 rust 是未来的前端进阶必须要会的东西。。。
wdwwtzy
2022-08-26 14:20:00 +08:00
MAUI yyds
AaronWang13
2022-08-26 14:52:58 +08:00
纯桌面 Tauri
xiaochong
2022-08-26 15:08:31 +08:00
@uni 请问,为什么这么说呢?
lancelock
2022-08-26 16:55:08 +08:00
godot
uni
2022-08-26 18:27:12 +08:00
@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-08-26 18:33:35 +08:00
首先排除 MAUI
calvinHxx
2022-08-26 18:43:05 +08:00
专业软件 qt 吧。
ne6rd
2022-08-26 18:43:09 +08:00
electron 和 flutter 都用过。
electron 生态更成熟,flutter 开发体验更好。
如果自己的项目,可以先看看需要的功能 flutter 有没有现成的包支持。
1115746521
2022-08-26 18:45:20 +08:00
javafx
Akitora
2022-08-26 19:06:35 +08:00
jetpack compose
tauri
yinanc
2022-08-26 19:38:02 +08:00
没人说 webview 吗……
yinanc
2022-08-26 19:40:46 +08:00
@yinanc WebView2

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

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

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

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

© 2021 V2EX