桌面端
- 桌面应用可在window、macOS、Linux操作系统上运行的应用
桌面应用的特点
- 需要安装软件、特点平台运行
- 可自带资源、无需联网,也可以加载
- 多窗口、系统联动能力 (消息、后台任务)
应用场景
- 离线应用场景
- 效率工具
- 对大资源加载的应用场景
- 娱乐 (游戏、视频)
- 兼容性要求高的场景
- 金融、业务系统
常见的桌面端开发框架
| 框架 | 语言 | 跨平台支持 | UI 风格 | 生态系统活跃度 | 性能 | 扩展性 | 优点 | 缺点 |
|---|---|---|---|---|---|---|---|---|
| QT | C++ | 跨平台 | 自定义 | 非常活跃 | 高 | 高 | 跨平台支持好,功能丰富,强大的工具集,适合大型应用程序开发。 | 依赖多,程序包大 |
| PyQT | Python | 跨平台 | 自定义 | 活跃 | 中 | 中 | 利用 Python 编程,QT 的跨平台能力,开发效率较高。 | 授权问题 |
| WPF | C# | Windows | XAML(自定义) | 较活跃 | 高 | 高 | 针对 Windows 平台的强大 UI 框架,紧密集成于 .NET 生态系统。 | 仅限于 Windows,不适用于其他操作系统。 |
| WinForms | C# | Windows | 自定义 | 中 | 中 | 中 | 简单易学,适用于快速构建 Windows 应用程序,与 .NET 生态系统集成紧密。 | UI 风格相对较旧,不够现代化,不适用于跨平台开发。 |
| Swing | Java | 跨平台 | 自定义 | 活跃 | 中 | 中 | 跨平台支持好,与 Java 生态系统集成,适用于 Java 开发者。 | 性能差,UI一般 |
| Nw.js | HTML/CSS/JS | 跨平台 | Web 技术 | 活跃 | 中 | 高 | 跨平台性好,界面美观 | 底层交互差,性能差,包大 |
| Electron | HTML/CSS/JS | 跨平台 | Web 技术 | 非常活跃 | 中 | 高 | 基于 Web 技术构建桌面应用,社区活跃,拥有丰富的插件和工具。 | 底层交互差,性能差,包大 |