2014-01-17 12 views
1

我已经观看了一些演示文稿,并阅读了几张关于PayPal如何在其Node.js堆栈中使用Karken.js的幻灯片,以利用开箱即用的安全性,并且显然它也适用于dust.js。什么是Karken.js套装,它有多大帮助Node.js更安全和可扩展?

但这里真正的问题是,这是一个真正的事情,使Node.js的企业材料或它对于贝宝的开发团队是有用的吗?为什么我应该在我现有的Node.js堆栈中使用它?

更新1:它没有提供任何更多的安全性。它使得使用其他软件包变得更容易。

回答

2

一个漫长的回答了一下,

当我们开始切换到节点上,我们很快意识到,在当时现有的框架过于宽松。

给三个人同样的任务,他们会以三种完全不同的方式解决它。

现在,描绘一家拥有3000名开发人员的公司,切换到NodeJs,其中许多人正在学习。随着人们发明和重塑自己的模式,最终的代码库可能会很快变得混乱。

这个问题的答案是创建一个框架(并且我毫不犹豫地使用framewor这个词,因为它不是真正的一个)可以确保每个应用程序具有相同的结构并遵循相同的模式。

完成这项工作后,开始添加便于开发人员生活的设施非常简单。

安全?当然,这是一个启用常见标题的模块,并作为中间件运行。它对开发者来说是完全透明和可配置的,而且是最好的部分?它是内置的。还有一件事你必须做。

同样的考虑因素适用于国际化支持以及Kraken提供的开箱即用开发工具。

Kraken套件的一个非常重要的设计方面是我们非常明确地决定而不是使它成为PayPalish。它是利用Express,Grunt和其他许多开源组件构建的。

由于它是以这种方式构建的,所以我们将其作为开源项目发布是很自然的,因为如果我们在通向节点采用的道路上遇到障碍,其他大型商店肯定会遇到同样的困难。

请注意,Kraken不是所有问题的灵丹妙药,你总是必须为这项工作选择合适的工具。

我坚信克拉肯的主要优势在于它如何为任何不平凡的项目提供坚实的基础,从而使其以有组织,易读易维护的方式发展。所有额外的东西(安全,国际化等)可能与所有项目无关,但如果您需要它,它就在那里。

看看购物车的例子:https://github.com/lmarkus/Kraken_Example_Shopping_Cart/ 它可以让你更好地感受kraken能做些什么。

**标准免责声明: 我是PayPal员工,也是Kraken Core团队的一员。我的意见是我自己的,并不反映贝宝/易趣。

1

PayPal开源KrakenJs为普通社区工作。这不是贝宝特定的。它并不打算成为一个完整的框架。它旨在确保不同团队在组织中开发的Node应用程序的一致性,并将您需要做的连接Express/Connect的常见事情抽象出来。默认情况下,它为您设置了一些良好的安全实践,有些团队可能不记得这么做。