我观看了一些演示文稿并阅读了几张关于PayPal如何在其Node.js堆栈中使用Karken.js来利用开箱即用安全性的幻灯片,显然它也适用于dust.js。
但真正的问题是,这是一个真正的东西,使Node.js企业材料或它对于PayPal的开发团队有用吗?为什么我应该在现有的Node.js堆栈中使用它?
Update1:它不提供更多安全性。通过使用其他软件包可以更轻松。
答案 0 :(得分:2)
有点冗长的回答,
当我们开始切换到节点时,我们很快意识到当时现有的框架太松散了。
给三个人同样的任务,他们将以三种完全不同的方式解决它。
现在,想象一家拥有3000名开发人员的公司,转而使用NodeJs,其中许多人都在学习。随着人们发明并重新发明他们自己的模式,最终的代码库可能会很快变得混乱。
这个问题的答案是创建一个框架(我会犹豫使用framewor这个词,因为它不是真的一个),这将确保每个应用程序具有相同的结构,并遵循相同的模式。
完成这项工作后,很容易开始添加能够让开发人员的工作更轻松的设施。
安全?当然,它是一个支持通用标头的模块,并作为中间件运行。它对开发人员来说是完全透明和可配置的,也是最好的部分?它是内置的。你不需要做的事情。
同样的考虑因素适用于国际化支持,以及Kraken开箱即用的构建时开发工具。
Kraken套件的一个非常重要的设计方面是我们非常具体地决定不来使其成为PayPalish。它是利用express,grunt和许多其他开源组件构建的。
由于它是以这种方式构建的,因此我们将其作为开源项目发布是很自然的,因为如果我们在节点采用的道路上遇到这些障碍,其他大型商店肯定会遇到同样的困难。 / p>
请注意,Kraken不是所有问题的灵丹妙药,你总是必须选择合适的工具。
我坚信kraken的主要优势在于它如何为任何非平凡的项目提供坚实的基础,使其以有组织,易于阅读和易于维护的方式成长。所有额外的东西(安全,i18n等)可能与所有项目都不相关,但是如果你需要它就可以了。
看一下购物车示例:https://github.com/lmarkus/Kraken_Example_Shopping_Cart/ 它可以让你更好地了解海妖可以做些什么。
**标准免责声明: 我是PayPal员工,也是Kraken核心团队的一员。我的观点是我自己的,不反映PayPal / eBay。
答案 1 :(得分:1)
PayPal开源KrakenJs为一般社区工作。它不是特定于PayPal的。它不是一个完整的框架。它旨在确保不同团队在组织中开发的Node应用程序的一致性,并抽象出您需要做的平凡事情来连接Express / Connect。默认情况下,它会为您设置良好的安全实践,而某些团队可能不记得这样做。