我了解线程框架是什么(rails,django,symfony2,...)。而且我理解了一个事件驱动的框架(node.js,eventmachine,twisted,......)以及为什么它非常适合现场,聊天,速度,......此外,它们似乎没有造成正常用例的问题。所以:

  • 事件驱动框架的缺点是什么?
  • 我什么时候何时何时更喜欢Rails到Node.js?
  • 为什么没有用eventMachine,Twisted或Node.js编写的所有新的Web服务器?
  • 将诸如Django或Rails等名框架成为事件驱动或死亡?
有帮助吗?

解决方案

所以事件驱动框架的缺点在哪里?

  1. 熟悉。因为事件驱动的web编程如此不同,因此在程序员对它感到舒适之前,它将是一段时间。当您在截止日期工作时,更容易使用您所知道的,这是有效的。
  2. 库支持。节点有一个惊人的模块数量,但有很长的路要走用ruby和python 更新:节点现在具有比python或ruby 可用的更多发布模块。
  3. 部署。它的工作人员用于线程框架。要利用事件驱动的框架,您将希望成为异步到底。现在,您可以在Node.js中开发,但您可以有效地部署它,或者您必须管理自己的服务器?
  4. 毫无根据的问题。似乎是问题的事情,但并不是真的:
    • 事件驱动的编程对于CPU密集型应用程序不好:是CPU密集型计算将阻止服务器的原因。这是严格的真实的,但实际上,通过将另一个进程产生并将其视为I / O来克服它,例如,通过使用节点的生成古代码码。
    • 事件驱动的编程仅适用于需要高并发性的应用程序:这里的原因是,事件驱动的编程比传统的Web应用程序编程“更难”,所以除非您拥有,否则它不值得做有充分的理由。我个人不要以为这是案例驱动的编程是不困难的,但它是<强烈>非常不同。在某些时候,突出的程序员将熟悉事件驱动的方法,这令人担忧会消失。
    • 事件驱动的编程是一种混乱的嵌套回调。当您第一次学习时,这可能是真的,但最终您将发现如何以可读方式构建代码。
  5. 文档。节点的文档及其第三方库是可怕的,通常包含多种多选项。来自Python World,我们习惯于优秀的文档,这是一个大缺点。这慢得多(我们需要更多的文档喜欢这个)。

    何时应该更喜欢Rails到Node.js?

    • 当您或您的团队更喜欢Ruby以JavaScript。
    • 当您或您的团队不熟悉节点时,您需要完成作业。
    • 当您需要使用Rails中的功能时,节点尚未存在。
    • 当您需要部署到基于Rails的基础架构。
    • 当你必须说服管理你应该使用node.js时,但如果项目失败,你不想成为秋天的人。

    为什么所有新的Web服务器都没有用eventMachine,Twisted或Node.js写入?

    见上文。

    将着名的框架作为Django或Rails转动事件驱动或死亡?

    Django和Rails将在很长一段时间内。这些框架中有很多应用程序,没有理由重写它们。还有一个大型人才池,在开发新的Web应用程序时往往是考虑因素。

    (但是看这个quora回答从Django,认可节点的铅开发人员。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top