我想制作一个程序(更准确地说,是一项服务),它会定期扫描目录以查找一些视频文件(.avi、.mkv 等)并自动从一个或多个网站下载一些相关文件(主要是字幕)。
这个程序也可以在 linux 或 windows 上运行。
一方面,我很早就熟悉 Qt 并且知道它的所有好处,但另一方面,我被 node.js 所吸引,它极其灵活和活泼。
我需要与我的程序的最终用户提供一些交互性(例如,选择扫描目录等)。
您认为 2013 年的最佳选择是什么?
我建议不要将 Node.js 用于“小工具和程序”。特别是对于迭代任务。
原因很简单,Node.js 的工作方式。它的异步模型使简单的任务不必要地复杂化。此外,由于从 Node.js 事件循环中调用了许多回调,因此您不能只使用 try/catch 结构,因此每个微小的错误都会使您的整个应用程序崩溃。
当然,有一些方法可以捕获这些错误或使用它们,但文档建议您不要使用所有这些错误,并建议您在任何情况下都优雅地重新启动应用程序以防止内存泄漏。这意味着您必须实现另一段代码。
Node.js 中唯一真正的解决方案是将您的应用程序编写为集群,这是一个很棒的概念,但当然需要您使用某种 IPC 将您的数据返回到可以处理它的进程。
另外,由于您写了有关“定期扫描”目录的文章,因此我想指出您应该...
几乎每个语言工具包现在都有这些,我强烈建议使用这些并且只使用后备全扫描。