2014-01-17 11 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的常見事情抽象出來。默認情況下,它爲您設置了一些良好的安全實踐,有些團隊可能不記得這麼做。