要写 win7+的桌面端单机软件,技术如何选型?

241 天前
 MrDarnell
3945 次点击
所在节点    程序员
42 条回复
xtreme1
241 天前
electron
MrDarnell
241 天前
@xtreme1 electron 22 之后就不再支持 win7 了,这个问题我值得考虑
xomix
241 天前
.NET 7+Avalonia UI 满足你全部需求。
lllllliu
241 天前
go 的 rust 的那些基于 WebViewKit 的都可以满足你,只不过就是安装的时候要安装 WebView 的 Runtime 就和.NET 那玩意一样,也可以用 Electron 22 的最后一个版本,我们都是这么用的。
enchilada2020
241 天前
都 win7 了 用老版本的 electron 也不是很过分嘛(
beginor
241 天前
跨平台的话, .NET + Avalonia ,如果不考虑跨平台的话, 可以 .NET + WPF
Mithril
241 天前
SQLite 支持全文检索,但没办法自由配置语言。你如果只支持中文或者英文,可以直接用对应编译好的 Extension 。
界面好看的话,要么用 Electron 套壳,要么 WPF 或者 WinForm+第三方 UI 库。
安装包 Windows 上可以用 Wix ,你可以自己写界面套进去。但这个好像没办法在 Linux 里跑,而且你 debian 也很难开发 WinForm 。

跨平台开发,还想要界面好看一些,要么你用 Avalonia 这种跨平台技术,要么就是各种 Web 套壳。
Avalonia 可以做的比较好看,但也比较费精力。你需要手动打磨界面。功能不复杂还行,界面太复杂的话你可能大半的时间都花在这上面。
Web 套壳就简单多了,前端组件一大把,最简单的你用 bootstrap 都能搞个很好看的 UI 。套壳技术也有很多,比如 Electron ,WebView2 ,tauri 什么的,你找个 Windows 7 能用的就行。

安装包你弄个 Windows 虚拟机做就行了。
debuggerx
241 天前
感觉 pyqt/pyside 合适这些需求
lstz
241 天前
综合来看,csharp 符合你的要求,特别是针对 excel 处理,没什么比 csharp 更好的了
iorilu
241 天前
除了 qt 那只能选微软那套了, 好几种
qiuhang
241 天前
你这需求,其实 pyside 挺符合的,就是不知道 pyqt 算 qt 不。
Senar
241 天前
zqf01
241 天前
开源的 lazarus 也是一个选择,支持多平台开发,跨平台可选 qt 或 gtk
debuggerx
241 天前
@qiuhang pyside 是 LGPL 协议,可以免费商用,不用担心 qt 的许可证问题
mioktiar56
241 天前
用 unix 环境开发 win7 客户端,即便是跨平台的框架,也得测试调试呀
ugpu
241 天前
qt & vc++ & WPF
snailya
241 天前
不跨平台就 wpf ,控件用 materialdesigntoolkit 。跨平台 avalonia ,但是它有个字体的问题。
ide 用 rider
数据库操作 efcoro.sqlite
excel+word 处理用 openxmlsdk
安装包用 visual studio installer 打包成 msi
Mithril
241 天前
@debuggerx QT 有部分也是 LGPL 的,实际上就是 QT 。 “免费”和“商用”即使你用 GPL 的库也没问题。
问题在于你是否要把自己的代码以同样的 License 发布,或者说你是否要给你的客户提供你自己的源代码。

对于 Python 来说,你发布 py 文件自然没问题,相当于你给你的客户提供了源代码。但你如果打包成 exe ,那么可以视为你把 pyside 以静态链接的方式打包进了你的程序里。
按照 LGPL 的要求,你必须“允许用户修改你程序中 LGPL 的部分”。那么你要允许你的客户对你打包好的程序进行反向工程,需要提供对应的文件。

这就是为什么在开发商业应用时不要碰任何沾了 GPL 三个字母的东西。
Mithril
241 天前
@Mithril 第一句的表述有问题,指的是 PySide 实际上就是 QT 。
ShadowPower
241 天前
@Mithril 其实 Python 可以不打成单文件包,这样里面的 DLL 可以轻松替换

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

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

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

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

© 2021 V2EX