现在有没有好的跨平台的 UI 库

2021-03-03 15:52:02 +08:00
 csulyb

想做一款类似百度网盘(主要 UI 很类似)的软件,之前一直 mfc+soui 在 windows 开发,由于需要到多平台运行,考虑 4 种方案来开发: 1.net+wpf 2.java 3.qt 4.electron 或者 nw (发布的包有点大,基本排除)

大家有没有好的推荐,选择哪个好点?

12685 次点击
所在节点    程序员
85 条回复
kongziming
2021-03-04 12:00:35 +08:00
Qt,使用过 MFC 的话,用起 Qt 简单易上手
darknoll
2021-03-04 12:11:39 +08:00
@TomVista 没玩过 CEF ?
buzailianxi
2021-03-04 12:14:51 +08:00
qt
g00001
2021-03-04 12:27:43 +08:00
其实前端网页能共用就行了,没有必要底层一定要跨平台,这样避免不必要的给自己挖坑。
ELectron 其实不如微软 Edge 的 WebView ( Chromium 内核) 轻量简洁。

aardio 里调用 WebView 的例子,生成的 EXE 文件打包就几百 KB

import win.ui;
var winform = win.form(text="Edge 浏览器控件 - web.view";right=759;bottom=469;bgcolor=16777215)

import web.view;
var wb = web.view(winform);

wb.export({
alert = function(msg){
winform.msgbox(msg);
return 123;
}
nativeLog = function(msg){
winform.msgbox(msg);
}
})

wb.html = /**
<script type="text/javascript">
alert("test").then( v=>nativeLog(v))
</script>
**/

winform.show();
win.loopMessage();
littlewing
2021-03-04 12:51:38 +08:00
electron 感觉很耗资源,不流畅
BernieDu
2021-03-04 12:59:33 +08:00
跨平台 UI 库还没黄啊。。android 和 iOS 本身就不应该共用一套设计,so stupid,外加原生开发体验很爽性能很高。没错,我是原生派
QBugHunter
2021-03-04 13:18:42 +08:00
Qt 最优选,但如果选择 Qt 的话招人是个问题,搞 C++的工资要求都不低(不算我)
Electron,不适合高性能产品,如果没有对性能上的追求,Electron 也是个好的选择
fgodt
2021-03-04 13:34:01 +08:00
qt,electron 其他都不靠谱
TomVista
2021-03-04 14:05:13 +08:00
@darknoll 没有
lonewolfakela
2021-03-04 14:15:00 +08:00
其实弄个 wine 也不是不可以……
SenLief
2021-03-04 14:18:57 +08:00
qt 在跨平台上更友好,如果不在乎包大小,那无疑 electron 更方便。
piaochen0
2021-03-04 14:23:01 +08:00
@murmur 我们之前用 unity 做过 app,就是考虑跨平台,各种坑,包也特别大,很多东西也没解决方案。慎用...
ACodelover
2021-03-04 14:51:23 +08:00
GTK,最近刚发布了 GTK4
Lemeng
2021-03-04 14:57:58 +08:00
QT,容易,好上手
Otho
2021-03-04 15:13:09 +08:00
推荐 Qt ,qt5 完整的做过一个跨平台的网盘项目,系统差异大的需要自己处理一下,github 上多找找也有不少开源库。就是资料少一点儿,需要自己慢慢找。
nutting
2021-03-04 15:13:14 +08:00
知乎上的轮子哥搞了一个 ui 组件,你问问
AmiKara
2021-03-04 15:46:55 +08:00
不管选什么最后开发还是与开发能力有关,electron 确实有很多坑,但也有类似于 vsc 这种非常优秀的产品,还是得看个人的技术栈或学习能力。
csulyb
2021-03-04 15:52:03 +08:00
@Otho #75 能说啥有哪些坑吗
nerocc
2021-03-04 16:23:55 +08:00
真的需要发布包小的话,不要等框架,自己找一个类似于 WebWindow 这种的做前端,然后后端用一个自己懂得的高效率语言写一个,然后自己想办法打包起来。

SteveSandersonMS/WebWindow
yunyuyuan
2021-03-04 16:33:18 +08:00
PyQt,写起来挺快,运行也不错

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

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

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

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

© 2021 V2EX