Node.js与Twisted有什么用例?

pmn*_*pmn 65 javascript python twisted node.js

假设一组开发人员同样习惯于在服务器端编写Javascript,就像使用Python和Twisted一样,Node.js什么时候比Twisted更合适(反之亦然)?

Ale*_*lli 77

Twisted更成熟 - 它已经存在了很长很长时间,而且有很多花里胡哨的东西可以使你的头旋转(实现最高级的协议,将反应器与各种其他事件循环集成在一起,以及等等).

据说Node.js更快(我自己没有测量过),也许可能更简单(如果你不需要额外的花里胡哨),因为那些额外的东西不存在(有点像龙卷风) Python世界 - 再一次,我从未测量过相对表现.

所以,如果我需要任何额外的功能,或者想要通过使用更成熟的包装来更加坚实,我绝对会使用Twisted.如果这些考虑因素不适用,但最佳性能是项目的关键目标,那么我将在Twisted中编写一个简单的基准测试(但仍然代表我的实际项目中至少有一两个关键的性能需求情况) Node.js Tornado,在我决定采用哪种方式之前做了很多仔细的测量.Python与服务器端Javascript的"额外功能"(第三方扩展和标准库)也更加丰富,如果项目需要任何此类附加功能,这可能是一个关键因素.

最后,如果这些问题都不适用于特定的应用场景,请让开发团队在简单性和熟悉度方面对三个候选者(Twisted,Node.js,Tornado)的相对简单性进行投票 - 其中任何一个都可能只是很好,不妨选择团队中最舒服的大部分!

  • 截至2012年,Node.js也非常成熟:P (7认同)
  • 一个节点的例子不是很快(特别是如果你使用pypy)http://mrjoes.github.com/2011/12/15/sockjs-bench.html还有其他或多或少可靠的基准测试,但我想了很多如果你使用PyPy,潜在的性能提升就会消失. (3认同)

Ami*_*ari 7

截至2012年,Node.js已被证明是一个快速,可扩展,成熟且广泛使用的平台.Node.js的创建者Ryan Dahl引用:

如今,Node正被世界各地的大量初创公司和成熟公司使用,从Voxer和优步到沃尔玛和微软.可以肯定地说,每天有数十亿个请求通过Node.随着越来越多的人加入该项目,可用的第三方模块和扩展会增加并提高质量.虽然我曾经保留过关于推荐任务关键型应用程序的建议,但我现在衷心推荐Node用于最苛刻的服务器系统.

更正式地说,Node的优点可分为:

  • 伟大的社区:可以说没有其他平台在如此短的时间内获得这样的社区吸引力,它在GitHub中拥有数百名贡献者和数千名观众,并被雅虎等巨头使用.(曼哈顿项目),e-bay,LinkedIn,微软和Voxer.

  • NPM:虽然拥有一个相对较小的核心,但Node有很多软件包可用于将其功能扩展到您可能考虑的任何内容!它全部自动化,正在积极开发和扩展,想想PyPI(pip).

  • 可扩展性和速度: Node的架构和单线程特性允许高可扩展性和速度.特别是在0.8发布之后,它的速度变得非常快(基准测试),这可以通过很多大型企业使用Node来确认.由于当前的浏览器大战,它的V8核心也在不断变得更好.

  • JavaScript: Node(JS)的核心语言更适合这种服务器端用法,特别是lambda函数,动态对象和简单的JSON序列化是JS亮点,它非常适合速度和可伸缩性的情况.(Python拥有所有这些,但这些在JS中真的更好,更强大).

  • 部署:由于其广泛的使用,许多非常好的站点提供了简单和强大的Node部署工具,包括:Heroku,Joyent,Cloud9等等.

因此,Node似乎功能更强大,未来更轻松,因此如果没有任何约束条件(如现有代码,服务器,团队功能),建议用于任何新的协作网络项目,以实现高速和可扩展性.

  • 听起来你并没有意识到Twisted成熟的程度.你所强调的Node中没有一个点实际上不包括Twisted(除了"JavaScript"点,这是列表中最脆弱的项目)! (28认同)
  • 如果您认为该大小是衡量社区的唯一指标,那么肯定. (5认同)
  • @ Jean-PaulCalderone快速看看右边的tagstats支持他的第一点:node.js×11239 twisted×1021 (4认同)
  • 大小不是唯一的指标,但它可能是最重要的. (4认同)
  • 仅仅因为有更多的问题,并不意味着它使用较少或社区较小.想想文档. (4认同)
  • 这听起来更像是广告而不是回答问题,即当比较框架比另一个更合适时. (2认同)