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已被证明是一个快速,可扩展,成熟且广泛使用的平台.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似乎功能更强大,未来更轻松,因此如果没有任何约束条件(如现有代码,服务器,团队功能),建议用于任何新的协作网络项目,以实现高速和可扩展性.
归档时间: |
|
查看次数: |
19487 次 |
最近记录: |