如何确定哪个框架用于节点?

时间:2014-09-07 06:29:36

标签: node.js

所以我们现在已经使用节点很长一段时间了,我必须说,随着节点社区的不断发展,人们正在开发大量令人敬畏的模块和框架。但是,随着我们正在开展越来越多的项目,我有时会对哪个框架感到困惑。到目前为止,我们使用了以下框架:

  1. Express - 我最喜欢的节点框架之一,当我们开始在node.js中创建应用程序时,这也是第一个。(我认为这也是第一个获得如此受欢迎的应用程序)。我们确实遇到了诸如回调地狱之类的问题但是如果路由和代码组织更清晰,我们很高兴使用它。

  2. KoaJS - 来自TJ和团队的另一个人,这真是太棒了!当任何浏览器几乎不支持它们时使用ECS 6。 (特别是它可以帮助你完全删除回调地狱)。我们遇到了一些https符合Koa的问题,并且不得不使用hapi重写整个服务器,而且现在依赖于节点上的不稳定版本。

  3. Hapi - 这是我们最近的采用,并没有做很多事情,但最有趣的部分是joi模块,它可以帮助我们(甚至在此之前)轻松验证请求他们点击了实际的服务器以及自动生成的文档。

  4. Synth - 我还没有与它进行过多次互动,但在阅读文档时,我遇到了

  5.   

    使用服务和依赖注入就像AngularJS一样   后端!

    这很棒,但由于它还处于测试阶段,我很快就不会考虑使用它了。

    因此,在尝试为您的应用程序设计框架时,是否有一个特定的功能集,一个框架擅长,其他框架不是?因为老实说,我们采用大多数框架只是为了尝试它们,除了语法差异(使用ECS 6的Koa除外)以及它们如何处理路由,我在它们之间找不到太多差异。

    所以我的问题是,我们应该通过观​​察它的受欢迎程度(这是人们通常做的)来采用任何框架,或者在做同样的事情时我们需要考虑一些检查点吗?

    任何建议/帮助表示感谢。

    修改

    我想补充一点,我对这个问题的意图是找出在选择任何node.js框架时要考虑的关键点(而不仅仅是依赖它'受欢迎程度或有多少大牌使用它)。对于前端,我们可以很容易地说出因为我们已经知道或者已经被告知可以帮助开发更容易的关键功能(角度和骨干之间的差异可以是一个例子)但对于节点。没有任何方式的js框架。

    我也会请其他人考虑我的编辑。

1 个答案:

答案 0 :(得分:6)

我会尽量保持这个答案尽可能不具意见。请编辑并帮助我改进这一点。这是一个重要的主题,应该得到一个很好的答案。

Express.js

<强>赞成

  • Express.js是个大家伙,相当古老且非常受欢迎。
  • 易于使用的观点
  • 非常轻量级

<强>缺点

  • 没有花哨的功能

Koa.js

<强>赞成

  • 轻型
  • Koa可能是Express的继任者
  • 感谢ES6发电机
  • ,没有回调地狱
  • 由Express和
  • 同一个人建造

<强>缺点

  • 相当新颖,不是超级精致
  • 使用ECMAScript 6功能,这意味着您需要Node.js v0.11(不稳定)

哈皮

<强>赞成

  • 许多官方模块,但不是大量的第三方模块
  • 由一家大公司开发,将其用于自己的产品

<强>缺点

  • 由沃尔玛建造
  • 指定路线的语法与Koa或Express不同。
  • 本身和所有官方模块都有奇怪的名字

合成器

  

专为单页Web应用程序设计的第一个后端框架。

<强>赞成

  • 专为后端单页网站设计,ala Angular.js
  • API First
  • 依赖注入,熟悉那些来自Java的人
  • 旨在完成大量的后端工作,让您可以在前端工作

<强>缺点

  • 依赖注入,很多人都不喜欢,因为Java是它存在的唯一原因
  • 很新,目前处于测试阶段
  • 与更传统的网站不兼容

更多资源