线程框架何时比事件驱动的框架更好?(即,轨道何时比Node.js更好?)
-
13-12-2019 - |
题
我了解线程框架是什么(rails,django,symfony2,...)。而且我理解了一个事件驱动的框架(node.js,eventmachine,twisted,......)以及为什么它非常适合现场,聊天,速度,......此外,它们似乎没有造成正常用例的问题。所以:
- 事件驱动框架的缺点是什么?
- 我什么时候何时何时更喜欢Rails到Node.js?
- 为什么没有用eventMachine,Twisted或Node.js编写的所有新的Web服务器?
- 将诸如Django或Rails等名框架成为事件驱动或死亡?
解决方案
所以事件驱动框架的缺点在哪里?
- 熟悉。因为事件驱动的web编程如此不同,因此在程序员对它感到舒适之前,它将是一段时间。当您在截止日期工作时,更容易使用您所知道的,这是有效的。
-
库支持。节点有一个惊人的模块数量,但有很长的路要走用ruby和python 。 更新:节点现在具有比python或ruby 可用的更多发布模块。 部署。它的工作人员用于线程框架。要利用事件驱动的框架,您将希望成为异步到底。现在,您可以在Node.js中开发,但您可以有效地部署它,或者您必须管理自己的服务器?毫无根据的问题。似乎是问题的事情,但并不是真的:- 事件驱动的编程对于CPU密集型应用程序不好:是CPU密集型计算将阻止服务器的原因。这是严格的真实的,但实际上,通过将另一个进程产生并将其视为I / O来克服它,例如,通过使用节点的生成古代码码。
- 事件驱动的编程仅适用于需要高并发性的应用程序:这里的原因是,事件驱动的编程比传统的Web应用程序编程“更难”,所以除非您拥有,否则它不值得做有充分的理由。我个人不要以为这是案例驱动的编程是不困难的,但它是<强烈>非常不同。在某些时候,突出的程序员将熟悉事件驱动的方法,这令人担忧会消失。
- 事件驱动的编程是一种混乱的嵌套回调。当您第一次学习时,这可能是真的,但最终您将发现如何以可读方式构建代码。
- 文档。节点的文档及其第三方库是可怕的,通常包含多种多选项。来自Python World,我们习惯于优秀的文档,这是一个大缺点。这慢得多(我们需要更多的文档喜欢这个)。
何时应该更喜欢Rails到Node.js?
- 当您或您的团队更喜欢Ruby以JavaScript。
- 当您或您的团队不熟悉节点时,您需要完成作业。
- 当您需要使用Rails中的功能时,节点尚未存在。
- 当您需要部署到基于Rails的基础架构。
- 当你必须说服管理你应该使用node.js时,但如果项目失败,你不想成为秋天的人。
为什么所有新的Web服务器都没有用eventMachine,Twisted或Node.js写入?
见上文。
将着名的框架作为Django或Rails转动事件驱动或死亡?
Django和Rails将在很长一段时间内。这些框架中有很多应用程序,没有理由重写它们。还有一个大型人才池,在开发新的Web应用程序时往往是考虑因素。
(但是看这个quora回答从Django,认可节点的铅开发人员。
不隶属于 StackOverflow