对于一个小程序,两种技术之间的犹豫不决

时间:2013-04-18 08:42:00

标签: node.js qt

我想制作一个程序(更确切地说,一项服务),定期扫描目录以查找一些视频文件(.avi,.mkv等)并自动从一个或多个网站下载一些相关文件(主要是字幕)。
这个程序也可以在linux或windows上运行。

一方面,我很了解Qt很长一段时间,我知道它的所有好处,但另一方面,我被node.js所吸引,它具有极大的灵活性和活力。

我需要与程序的最终用户提供一些交互性(例如,选择扫描目录等)。

您认为2013年最佳选择是什么?

1 个答案:

答案 0 :(得分:1)

我建议反对 Node.js“小工具和程序”。特别是对于迭代任务。

长篇故事

原因很简单,就是Node.js的工作方式。它的异步模型使得简单的任务不必要地复杂化。另外,因为从Node.js事件循环中调用了许多回调,所以你不能只使用try / catch结构,所以 每个微小错误崩溃 您的整个申请。

当然有catch those errorswork with them的方式,但是文档会建议您反对所有这些,并建议您在任何情况下优雅地重新启动应用程序 以防止内存泄漏。这意味着您必须实现另一段代码。

Node.js中唯一真正的解决方案是将您的应用程序编写为Cluster,这是一个很好的概念,但当然要求您使用某种IPC将数据恢复到一个进程可以处理它。

另外,既然你写过“定期扫描”目录,我想指出你应该...

使用文件系统观察者获取服务

现在几乎所有的语言工具包都有,我强烈建议使用这些工具包,并且只使用后备全扫描。