我已经使用PHP有一段时间了。我一直在考虑学习Node.js并与之结合使用,以利用非阻塞的思想创建在线游戏或应用程序。关于如何同时使用这两个技术有很多信息。在游戏的后端使用Node可以真正加速游戏的某些方面,特别是如果允许用户实时互相对战。
最近,我也开始研究学习Python(是的我有很多闲暇时间)。它有许多PHP所没有的功能,我很喜欢。但是对于像我之前用PHP考虑使用Node.js来做后台工作的情况,我找不到太多有关Python的信息。我也注意到Python确实有一些线程功能。由于我还很陌生于Python的世界,我是否需要Node.js?Python是否可以处理Node.js所能处理的这些功能?还是说使用Node仍然有好处,我实际上需要它。
顺便说一下,自从我开始查找关于Python的信息以来,我发现Twisted似乎是另一个像Node一样的框架。但是Twisted是用Python编写的。那么,在上述任一情况下,Twisted是否更好(除了Twisted似乎比Node更早,并且更稳定的事实之外)?我只是想问一下是否值得使用,无论是Node还是Twisted?如果是这样,其中一个用Python会更好吗?
很抱歉问题比较大,但是我对此领域非常不确定和菜鸟。谢谢。
现在看来,经过阅读有用的答案,我看到了以下几种选择:
- PHP + JS
- Python + Twisted
- Python + PyJamas
- Python + Node.js
- Node.js
- Twisted
我已经知道PHP并且熟悉它,目前正在学习JS。这对我来说可能是一个主要的选择。但是我也倾向于从PHP转向Python,因为我喜欢这种语言的一般功能。
我认为这个选项比第三个更可行,使用Twisted处理网络端口,允许玩家相互实时游戏。
这只是使您不必学习JS,对我来说似乎并不是很重要。我已经开始学习它了,学起来并不难。但就像在一个问题中提到的那样,混合使用诸如;和{}可能会有一些问题。
类似于#2,但使用Node.js。主要是看到添加Node来处理网络方面,使玩家能够进行实时游戏/实况游戏。绝大部分代码将使用Python编写。
单独考虑Node.js也是一个选择,因为它是单一语言路线。但它没有学习和使用Python的同样好处(它是一种通用脚本语言,我可以在网页设计内外使用。这是我想学习和使用它的一个重要原因)。
与#5类似,但在阅读评论之前我没有考虑仅使用Twisted。虽然看起来是可行的,但它并没有涉及我想学习的两种语言之一,Python和Node。
以上似乎是我可以走的主要路线。现在我仍然不确定要走哪条路线。我真的想学习Node和Python。因此,似乎我只需要分别学习这两个东西。但我仍然需要为这个项目选择一个选项。到目前为止,我喜欢2和5号,6号靠近5号,因为Node和Twisted具有一些非常相似的功能。1号作为提及,因为那是我已经知道的。但我还想学点新东西。所以,真正的选择是2和5。或者4号,因为它与2号相似。哈,我仍然需要做一些功课。也许这值得再问一个问题。
编辑(2012年9月19日):我想更新一下,目前我大多数开发都在使用Node.js。而且计划使用Redis实现发布/订阅功能,以呈现实时页面更新的外观,因为我不需要像游戏或配对内容编辑那样的真正实时功能。