要写 win7+的桌面端单机软件,技术如何选型?
要求有小型本地数据库存储
可通过界面导入导出数据包
有全文检索和字段检索的需求
有大量 excel 和 word 的处理
界面好看漂亮
不能选用付费技术如 qt 这种
如何快速制作一个漂亮的安装包
我的开发环境是类 unix 环境 通常是 debian 和 mac 最好支持跨平台,不然得换电脑[这个有点过分]
electron
electron 22 之后就不再支持 win7 了,这个问题我值得考虑
.NET 7+Avalonia UI 满足你全部需求。
go 的 rust 的那些基于 WebViewKit 的都可以满足你,只不过就是安装的时候要安装 WebView 的 Runtime 就和.NET 那玩意一样,也可以用 Electron 22 的最后一个版本,我们都是这么用的。
都 win7 了 用老版本的 electron 也不是很过分嘛(
跨平台的话, .NET + Avalonia ,如果不考虑跨平台的话, 可以 .NET + WPF
SQLite 支持全文检索,但没办法自由配置语言。你如果只支持中文或者英文,可以直接用对应编译好的 Extension 。界面好看的话,要么用 Electron 套壳,要么 WPF 或者 WinForm+第三方 UI 库。安装包 Windows 上可以用 Wix ,你可以自己写界面套进去。但这个好像没办法在 Linux 里跑,而且你 debian 也很难开发 WinForm 。跨平台开发,还想要界面好看一些,要么你用 Avalonia 这种跨平台技术,要么就是各种 Web 套壳。Avalonia 可以做的比较好看,但也比较费精力。你需要手动打磨界面。功能不复杂还行,界面太复杂的话你可能大半的时间都花在这上面。Web 套壳就简单多了,前端组件一大把,最简单的你用 bootstrap 都能搞个很好看的 UI 。套壳技术也有很多,比如 Electron ,WebView2 ,tauri 什么的,你找个 Windows 7 能用的就行。安装包你弄个 Windows 虚拟机做就行了。
感觉 pyqt/pyside 合适这些需求
综合来看,csharp 符合你的要求,特别是针对 excel 处理,没什么比 csharp 更好的了
除了 qt 那只能选微软那套了, 好几种
你这需求,其实 pyside 挺符合的,就是不知道 pyqt 算 qt 不。
tauri.app
开源的 lazarus 也是一个选择,支持多平台开发,跨平台可选 qt 或 gtk
pyside 是 LGPL 协议,可以免费商用,不用担心 qt 的许可证问题
用 unix 环境开发 win7 客户端,即便是跨平台的框架,也得测试调试呀
qt & vc++ & WPF
不跨平台就 wpf ,控件用 materialdesigntoolkit 。跨平台 avalonia ,但是它有个字体的问题。ide 用 rider数据库操作 efcoro.sqliteexcel+word 处理用 openxmlsdk安装包用 visual studio installer 打包成 msi
QT 有部分也是 LGPL 的,实际上就是 QT 。 “免费”和“商用”即使你用 GPL 的库也没问题。问题在于你是否要把自己的代码以同样的 License 发布,或者说你是否要给你的客户提供你自己的源代码。对于 Python 来说,你发布 py 文件自然没问题,相当于你给你的客户提供了源代码。但你如果打包成 exe ,那么可以视为你把 pyside 以静态链接的方式打包进了你的程序里。按照 LGPL 的要求,你必须“允许用户修改你程序中 LGPL 的部分”。那么你要允许你的客户对你打包好的程序进行反向工程,需要提供对应的文件。这就是为什么在开发商业应用时不要碰任何沾了 GPL 三个字母的东西。
第一句的表述有问题,指的是 PySide 实际上就是 QT 。
其实 Python 可以不打成单文件包,这样里面的 DLL 可以轻松替换
跨平台可以考虑 Java 。界面好看用 JavaFX ,处理 Word 和 Excel 用 Apache POI ,全文检索有 lucene ,打包也方便
公司还在用 electron20 ,有几十 w 用户,升级就一行代码的事但是 pl 不同意
CEF 套壳。
MFC 撸起来啊
而且就算是打包成单文件,一样可以修改成动态加载外部 DLL ,把 qt 库排除出去,交付的时候把 dll 和 exe 一起打压缩包就好。
avaloniaui.net/
不想用 QT ,还要用 Mac 开发,答案是没有。最简单的道理:你要开发某个平台的软件,最起码你要有对应平台机器来做测试吧。你自己连测试机器都没有,怎么敢在 Mac 上开发直接交付给别人 Win 使用的。
用 22 之前的哪一个版本,足够了,而且还跨平台,html 写页面非常的友好。
界面的话 flutter 吧,剩下的用条件都没太大的差别,flutter 也有现成的 sqlite 组建可用
弱弱的问你一句,我搞个 kvm 来测试可以不?
Avalonia +1
flutter 最新版本已经不支持 Win7 了。
neutralino.js.org/docs/看下这个。 挺不错的。
#3 刚试了一下,好难啊🤣,没写过 WPF
mac 的 vs 装过,不知道实际能做跨平台的图形界面程序吗?谁知道
Windows 10 以前的系统,只要用了新版编译器,基本都不支持了,只能使用老版本编译器编译。
web+electron
老版本 electron 凑合用吧。。。也就只能这样了。。不然满足不了你的需求。
用 imgui
要最低兼容 win7,要跨平台和不用 qt,还要漂亮界面. 只有 electron 和 javafx 能满足了
WPF
轻量高性能所见即所得编辑 50000 行 markdown 文本编辑流畅无卡顿 可替换任意文本输入框,具备 markdown 富文本能力 高性能手机端支持 AI 输入支持…
You should give me the interview answer directly, without explaining anything unless nec…
新手刚刚学会提 pr ,有点小打击。 我应该维护自己的 fork 分支吗? 但是我后面又不是经常维护,还想享受上游的更新咋整 自己维护,定时 merge 上游不就行了 …