关于 Windows 桌面应用开发的技术选型

2015-12-14 23:02:15 +08:00
 PaulKing

各位 V 友好, 最近我们公司需要做一款兼容 Windows XP 的 Windows 音乐播放器, 支持 Socket.io 通信, 对应用的稳定性和内存管理要求比较严格. 由于我之前没整过 Windows 桌面应用开发, 对这方面也几乎是一片空白, 因此在技术选型上的一些想法可能不是很成熟, 在此想请教下各位有没有什么比较好的方案来做这个事情.

先来谈下我自己的想法, 一开始我是准备开 Visual Studio 用 C# 来做, 但后来发现 Windows XP 最高只能运行到 .NET 4.0, 这直接导致很多的 NuGet 包都没法使用, 很多功能都需要自己手写, 后面维护起来的话比较困难, 并且开发效率也很难提升上去.

QT 的学习成本太高, 并且目前最新的几个版本都对 Windows XP 没怎么做测试.

后来我跑去了解了一下 NW.js 和 Electron, 可惜的是 Electron 不支持 Windows XP, 所以直接排除在外, NW.js 目前最高版本也只是 v0.13.0, 很多的特性也处于使用阶段, 并且 Chrome 团队也宣布未来将不再对 Windows XP 进行安全修复, 更新等操作. 今天我也邮件询问了 NW.js 作者, 他表示未来如果能通过对 NW.js 少量修改既能支持 XP 的话, 就会继续支持下去.

现在的我若要使用 NW.js 的话, 目前主要面临着两个较大的问题:

  1. 应用上线后的迭代更新
  2. 应用桌面快捷方式的创建

因为我们这款应用最终使用的用户都是电脑小白, 所以这一套最终都需要做到完全自动化, 对于问题一, 我能找到的 NW.js 应用更新方案有如下两个:

  1. 使用 node-webkit-updater 完成可执行包的自动化覆盖操作
  2. 使用 chocolatey 来进行包的管理操作

但这两种方式就目前看来都算不上很靠谱的解决方案.

问题二的 "应用桌面快捷方式的创建" 这个目前我还没有找到比较好的解决方案, 在想是否能通过自己写个脚本来自动生成.

最后我来总结一下现在主要的应用需求:

  1. 支持 Windows XP 的桌面音乐播放器
  2. 支持 Socket.io 通信
  3. 运行稳定 (要求至少放着连续播三天)
  4. 要有一个应用可持续迭代更新及内测的解决方案
  5. 一个月时间独自完成开发 (当中包括学习时间)

技术选型这块到目前为止我还未找到较为靠谱的解决方案, 一个人的思考方式和技术视野始终有限, 想到 V2EX 上大神云集, 遂来发帖求助, 还请高人指点.

6213 次点击
所在节点    问与答
21 条回复
PaulKing
2015-12-15 19:21:28 +08:00

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

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

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

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

© 2021 V2EX