Ruby on rails 什么时候线程框架比事件驱动框架更好?(例如,rails何时比node.js更好?)
我理解什么是线程框架(Rails、Django、Symfony2等等)。我了解什么是事件驱动框架(Node.js、EventMachine、Twisted等),以及为什么它对实时、聊天、速度等都很好,此外,它们似乎不会给正常用例带来问题。因此:Ruby on rails 什么时候线程框架比事件驱动框架更好?(例如,rails何时比node.js更好?),ruby-on-rails,django,node.js,frameworks,event-driven,Ruby On Rails,Django,Node.js,Frameworks,Event Driven,我理解什么是线程框架(Rails、Django、Symfony2等等)。我了解什么是事件驱动框架(Node.js、EventMachine、Twisted等),以及为什么它对实时、聊天、速度等都很好,此外,它们似乎不会给正常用例带来问题。因此: 事件驱动框架的缺点是什么 什么时候我应该更喜欢Rails而不是Node.js 为什么不是所有新的web服务器都使用EventMachine、Twisted或Node.js编写 像Django或Rails这样的著名框架会成为事件驱动还是消亡 那么,事件
- 事件驱动框架的缺点是什么李>
- 什么时候我应该更喜欢Rails而不是Node.js李>
- 为什么不是所有新的web服务器都使用EventMachine、Twisted或Node.js编写
- 像Django或Rails这样的著名框架会成为事件驱动还是消亡
- 事件驱动编程不适合CPU密集型应用程序:原因是CPU密集型计算会阻塞服务器。严格来说,这是正确的,但实际上,可以通过生成另一个进程并将其视为I/O来克服,例如,通过使用节点的
child\u process.exec
- 事件驱动编程仅适用于需要高并发性的应用程序:这里的原因是,事件驱动编程比传统的web应用程序编程“更难”,因此,除非你有充分的理由,否则不值得这么做。我个人不认为这种情况下,事件驱动编程不再困难,但它是非常不同的。在某种程度上,大量的程序员将熟悉事件驱动的方法,这种担忧将消失
- 事件驱动编程是一堆嵌套回调。当您第一次学习它时,这可能是正确的,但最终您将发现如何以可读的方式构造代码
README.md
。来自Python世界,我们习惯于使用优秀的文档,这是一个很大的缺点。这一点正在慢慢改善(我们需要更多的文档)- 当您或您的团队只喜欢Ruby而不喜欢JavaScript时
- 当您或您的团队不熟悉Node并且需要完成工作时
- 当您需要使用Rails中该节点还没有的功能时
- 当您需要部署到现有的基于Rails的基础设施时
- 当您必须说服管理层您应该使用Node.js,但如果项目失败,您不想成为承担责任的人
(但请看Django的首席开发人员,支持Node)。Ahhh,那么在这种情况下,我们需要一些主持人来清理陈旧的评论。作为rails开发人员,我想补充一点,在很多情况下,npm包目前比ruby gems更好,而且有上升趋势。quora链接的一个想法是:Node还有一个关键特性,这甚至是一种不公平的优势。“一种语言统治一切”。一旦您熟悉node.js和js本身,您就能够:编写前端/客户端应用程序、服务器端代码、移动应用程序(如使用phonegap)、桌面应用程序(如使用node webkit)、查询数据库(mongoDBs查询语言为javascript),并享受Web服务和JSON的乐趣,因为当你从上到下使用JS时,这几乎是一个不需要动脑筋的问题。这是一个非常好的答案。它应该在所有线程中回响:)