想做一款类似百度网盘(主要 UI 很类似)的软件,之前一直 mfc+soui 在 windows 开发,由于需要到多平台运行,考虑 4 种方案来开发:
1.net+wpf
2.java
3.qt
4.electron 或者 nw (发布的包有点大,基本排除)
大家有没有好的推荐,选择哪个好大带宽服务器点?
你的方案里 1 是不能跨平台的,2 已经不太流行了,只剩下 3 4 可选,你又觉得 4 太大,那只有 3 了。
我的话,只考虑 Flutter 或 electron
sciter.com
qt 好像现在使用的人不多,怕采坑
Flutter 坑多吗, 有没案例
多谢,我了解了下,好像国内没有商业产品用这个
2 年前,也纠结 QT 还是 Electron 。最后选了 Electron……
好吧,这个项目到现在都还没结束……您细品。
discord 和 slack 桌面版都用的 electron,用户体验都很很不错。
electron 相对成熟,坑也不少的,但 electron 的成功案例挺多,这个我用得最多。
flutter 桌面开发,我只做过一些小项目,没遇到什么大坑,flutter app 有成功案例,桌面开发没听说。
用 QT 的话,项目是不是早结束了?开发不下去,被砍掉。。。
市场份额的话我没调查过,不太清楚。
目前观察到的直接选择 electron 吧,不选 flutter 主要是成熟应用把 flutter 当做插件用,纯 flutter 的还需要成功案例。
试试这个? https://tauri.studio/
距离 stable 也不算远了。
Qt 有 20 多年的历史, N 多国外大型项目在用, 什么 AutoCAD, Maya 之类的. 你觉得呢?
现在趋势就是网页套壳
electron + nw,招人好招
看是不是项目完全自己开发,我个人倾向于游戏开发全平台那种 UI 。
WEBVIEW UI 团队开发可以,一个人开发,JS 上也没什么太大的积累,个人感觉写起来没有 C++舒心。( JS 大佬除外,V2 应该有不少)
uno 可以考虑一下
qt
pyqt (qt) -> git-cola
PyGObject (gtk) -> gnome meld
很棒的开源软件,ubuntu apt 直接安装
这 4 个中, Qt 内存占用最低, 比其他 3 个小好几倍, 安装包体积最小,性能高, 但是上手难. 我推荐 javafx 开发桌面端, 不过百度网盘这种, 不需要和系统 api 交互, 类 web 端就好了, electron 应该最适合你的需求
Qt 只是没有中文手册,国内相对少,国外用的人很多,文章、例子也多
其实中古时代就流行网页套壳了
出 ActivePerl 和 ActivePython 的 ActiveState 家的 komodo edit/IDE 就是基于 mozilla 的 xulrunner 的, 比 atom 、vscode 早了七八年
也有不少人就是直接套个 qtwebview 直接上的
lazarus
^o^
如果是商业应用,electron 分分钟给你破解,有 win32 或 Swift 基础,可以直接 Flutter
Qt,用 QML 开发分分钟的事
unity
html
无远+ electron
xaml+C
前几天试过,用 Xamarin 写一套界面,可以轻松打包成 pc 和 Android 、iOS 的程序,不过在写界面的时候稍微麻烦,毕竟要兼容多平台。和传统的 wpf 有些区别。
https://docs.microsoft.com/zh-cn/xamarin/
怎么破解?它就一个 exe
习惯 MFC 的话估计是 C++?那上手 QT 应该不难。甚至可以先用 PyQT 做个原型出来看看。
看完这个帖没多久就刷到了 Flutter 2 的消息,放在这供大家参考吧: https://developers.googleblog.com/2021/03/announcing-flutter-2.html
qt 问题不大,虽然最近社区和 qtc 意见分歧很大,qt5 还是可以用的
桌面端用 electron,移动端用 flutter, 这是最佳答案
flutter 是给 native 程序员用的,不是给前端用的,而且这东西的 web 和 windows 版看看就行了
几千个 issue 叫最佳解决?真敢吹啊
Qt
最近在使用 jcef 开发跨平台的桌面应用,有兴趣的话,可以发你链接
WPS 就是 Qt 做的,挺不错的,但是 Qt5 之后走商业路线了
没有人提 uno 吗? https://platform.uno c开发,比较成熟了
.NET(MAUI) 和 Java(skija) 的新方案需要等,所以指望不上了。
目前 JVM 上有 JavaFX,CXamarin 可以用。
当然,如果不嫌老,Swing 也行。
弱弱的推荐一下 Delphi 最新版本 :)
楼上说的 uno 刚刚听说,Windows 用 UWP,而跨平台用 Xamarin 和 WebAssembly 。
The Story About .NET Cross Platform UI Frameworks – The Half-Blood Programmer – Stories from Lex Li on technologies.
https://blog.lextudio.com/the-story-about-net-cross-platform-ui-frameworks-dd4a9433d0ea?gi=ed6c9cc36c51
qt 除了开发效率低一点,其他挺好的,大型项目还是推荐用 qt,项目不大的话都可以吧
unity 没人用么, 这个也能跨平台的, 招人也容易
unity 没见过开发 app 的啊,都是做游戏
Qt 在 C++ GUI 框架中开发效率绝对算高的
qt 跨平台、性能好、功能丰富,,久经考验,值得信赖
不过 C++学习、使用难度较大,,建议试试 PyQt 、PySide
哈哈 这。。。。
取决于你的开发能力啊,你的开发了解或者熟悉 Qt 那就上 Qt,没必要再去踩 Electron 的坑
如果都不熟,要看你对功能需求,很多程序对本地功能需求不大的前提下,Electron 是一个很好的选择。
看你的需求,百度网盘这种就算,界面与功能交互不复杂,下载进程其实就走独立的本地进程即可。
看你熟悉的技术栈吧。
我个人是不太喜欢 Electron 开发出来的程序,可能是因为我电脑配置不好,跑起来总觉得有点重。
.net+wpf 不行,但是.net 有一些跨平台的库,比如前面有人提到的 uno 。 今年年底的.net 6 也会自带 maui 。
我对 java 做 UI 了解不多,不评论了
考虑下 imgui ?
看你是做项目玩还是用了,如果是用肯定选择成熟的框架,那 Qt 就是最好的选择,毕竟 Qt 开发的软件几乎每个人的电脑上都有,游戏平台一堆都是 Qt 开发的,还有各类行业软件,反正我随便搜了一下电脑里有几十个,我的电脑里四个游戏平台,还有 AMD 的驱动管理、金士顿 SSD 管理软件、企业微信、AutoCAD 、抓包的 wireshark 、音乐的 MusicCore 和 GuitarPro 、IDE 的 HBuilderX,太多了。
.Net 需要配合 Avalonia UI 才能跨平台
用 Xamarin 的话勉强算跨平台(共用核心库, 各平台分别建 UI 工程)
C++ 和 QT 用起来也不错
后排提示, 跨平台扯着蛋
这么多推荐 flutter 的,想问下桌面端 flutter 有什么案例吗?
看你之前用的 MFC,那就 Qt 吧
Qt,久经考验
需要设计可以联系我:P
出产品当然 qt,electron,别的都是玩具
应该是最新的稳定版发布后就计划好的,我感觉说是 2,其实主要就是网页平台基本 production-ready 了
Unity 因为是渲染引擎所以做 App 是挺耗性能的,很少有人选择。
游戏工具有用 Unity 做桌面端的,比如: https://www.fairygui.com/ 这个 UI 工具就是用 Unity 开发的跨操作系统的桌面端。
反编译太容易,被动开源不可取
electron
参考 https://github.com/Xmader/aria-ng-gui
Qt,使用过 MFC 的话,用起 Qt 简单易上手
没玩过 CEF ?
qt
其实前端网页能共用就行了,没有必要底层一定要跨平台,这样避免不必要的给自己挖坑。
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 = /**
**/
winform.show();
win.loopMessage();
electron 感觉很耗资源,不流畅
跨平台 UI 库还没黄啊。。android 和 iOS 本身就不应该共用一套设计,so stupid,外加原生开发体验很爽性能很高。没错,我是原生派
Qt 最优选,但如果选择 Qt 的话招人是个问题,搞 C++的工资要求都不低(不算我)
Electron,不适合高性能产品,如果没有对性能上的追求,Electron 也是个好的选择
qt,electron 其他都不靠谱
没有
其实弄个 wine 也不是不可以……
qt 在跨平台上更友好,如果不在乎包大小,那无疑 electron 更方便。
我们之前用 unity 做过 app,就是考虑跨平台,各种坑,包也特别大,很多东西也没解决方案。慎用...
GTK,最近刚发布了 GTK4
QT,容易,好上手
推荐 Qt ,qt5 完整的做过一个跨平台的网盘项目,系统差异大的需要自己处理一下,github 上多找找也有不少开源库。就是资料少一点儿,需要自己慢慢找。
知乎上的轮子哥搞了一个 ui 组件,你问问
不管选什么最后开发还是与开发能力有关,electron 确实有很多坑,但也有类似于 vsc 这种非常优秀的产品,还是得看个人的技术栈或学习能力。
能说啥有哪些坑吗
真的需要发布包小的话,不要等框架,自己找一个类似于 WebWindow 这种的做前端,然后后端用一个自己懂得的高效率语言写一个,然后自己想办法打包起来。
SteveSandersonMS/WebWindow
PyQt,写起来挺快,运行也不错
同问,先找个 demo 运行下看看都找不到
MAUI,马上出正式版了
现在稳定的只有 QT,或许可以等 MAUI,其它的都是自娱自乐
Qt 的坑说起来挺多,但是我在开发过程中基本遇到的都能有可以使用原生的解决办法。与 js 交互有点麻烦,WebEngine 需要 js 单独支持,文件系统有差异需要使用原生方法解决,网络库不是很好用,建议使用开源的库,比如 Google 的。再有就是打包方面的问题了: Windows 的资料比较多,Mac 和 Linux 的较少,Linux 的看你需求使用官方的也能行,我用的一个开源解决方案 https://github.com/probonopd/linuxdeployqt 。Mac 的可以看一下论坛里的帖子 ,我的博客中也有一些总结,比较简单,可以参考一下 https://blog.msmk.live/
多谢分享