这些天接了个产品资讯管理系统的案子,事主希望拥有原生 GUI 介面操作体验。
我只熟悉 SwiftUI 的 GUI 介面开发( AppKit 略懂);语言的话我只懂 .NET 6 版的 C# 以及 Swift 5 。 给事主的第一版程序赶鸭子上架用 C# .NET 6 WinForms 完成的。 这玩意可以在 macOS 系统下编译成能在 Windows 系统内跑的单独 EXE (需要安装 .NET 6 ),也能满足我全程在 macOS 系统下开发的需要。 ( Visual Studio 在 Windows 系统下的操作真让我适应不来。)
WinFroms 虽然够传统(从 Visual Basic 7 开始就有了),但有个缺点就是对 HiDPI 那翔一般的支持。 不过事主没在用 HiDPI 显示器,所以这一点可以先搁置争议。
但 WinForms 毕竟不像 CocoaTron 那样可以写 NSView 再套到 NSWindows 当中、然后用 NSWindowController 管理。 (没错,CocoaTron 就是 Windows 版的 AppKit 。) 这让我非常不适应。于是 2.0 版的程序的开发就让我有点想换个前端方案了。
尝试了下面几个方案都不太可行:
Cocoatron:这东西在现在的 Xcode 里面完全没法用;老电脑虽可,但我不会用 ObjC (只能略看懂)。
swift-cross-ui:用 Gtk4 做的非官方 SwiftUI 跨平台模组。我这边 macOS 编译出来发现非得用 XQuartz 才能跑、效能稀烂; Windows 能编译出来,但介面操作了完全看不出画面有响应(除了窗体最大化有,但绘制的效果也不准确)。
Qlift:给 Swift 用的 Qt 模组,要求 Qt5 。但我这边 Windows 虚拟机空间不足。一个 Qt5 WINNT 安装居然要 50GB 也太特么扯。更何况我 Google 找不到任何人在 Windows 上用这套的经验心得。
MAUI:微软出这玩意就是用来𫫇心传统 WinNT 开发者的,妈的编译一个测试用 App 还要给 Windows 开 Sideload 、就故意不让你直接弄出一个 Single EXE 。我看介面还得自己撸 XML ,比 SwiftUI 体验烂多了。如果要是有办法能像 SwiftUI 那样用训令口吻直接写 UI 的话那还可以考虑。
于是还有别的选择吗?
1
Kroos 288 天前
阿瓦隆?但也需要 xaml 撸界面。。。
|
2
ericguo 287 天前
> 产品资讯管理系统的案子,事主希望拥有原生 GUI 介面操作体验。
无法理解,这种产品资讯管理系统,不用 Web 完全没理由啊! |