我开发了用于神经科学和心理学研究的python应用程序。这些应用程序主要呈现视觉信息和/或声音,并且需要来自用户的输入(实验对象)。因此,我需要解决两个具体问题。首先 - 经常需要将应用程序分发给具有不同环境和操作系统的许多用户。这对我来说是一个令人头疼的问题,因为接收应用程序的人并不一定非常精通技术,所以我最终花了很多时间来解决小问题。其次 - 因为研究需要这些应用程序,我需要它们完全向后兼容(比如,20年后,兼容)。这是因为偶尔我们需要重新运行过去的实验,或者重新审视我们已经完成的一些事情。
我最近一直在玩码头工作者,我觉得这可能是我问题的答案(也许对于很多学者来说)。如果我可以容纳我的应用程序,在环境中设置特定包的特定版本,我就可以将它们发送给任何人(他们可以从容器中运行),并在原始容器中重新运行过去的东西。
我觉得我收到有关非网络(桌面)应用程序的docker实用程序的相互矛盾的信息。这有什么理由不起作用吗?我经常收集时间敏感的输入(如反应时间) - 在docker中运行应用程序(并以某种方式共享屏幕)会大大改变反应时间数据?我会失去我想要的毫秒级精度吗?这不是Docker的用途吗?