PayPal最近發佈了一款Node.js Web開發框架——Kraken。php
Kraken基於Express。Express是目前Node.js上最流行的MVC模式的Web開發框架。Express提供的一系列強大特性能夠幫助開發者快速建立各類Web應用。而Kraken在Express的基礎上提供了更加穩健的功能集,包括本地化、環境配置,同時更加註重應用程序安全。git
以前,PayPal 長期存在着「非我所創」的文化,採用新技術的態度很消極,項目開發進度也很是緩慢。因爲 PayPal 開發緩慢,其餘支付系統(好比Stripe 和 Square) 趁機成長,開始撼動 PayPal 的市場地位。PayPal 當時的開發技術也已經沒法知足快速開發的需求,由於當時的開發基本全是Java,無論功能是否須要用 Java 實現,都會用 Java。github
2012 年 4 月,David Marcuss 成爲 PayPal 的總裁,要求工程師團隊在 6 周內完成支付系統的重寫,這是一個爲 PayPal 帶來了 35 億美圓收入的系統。最終,工程師團隊用了 8 周時間完成了該項任務,他們選擇了 Node.js 對系統進行從新開發。固然,PayPal 的其餘大量的子系統還須要整合到 Node.js 系統,因此起初 Node.js 僅做爲一個快速開發的原型。express
後來,PayPal 愈來愈多的新開發項目都逐漸採用 Node.js 和其餘開源軟件。最終,一個能夠快速開發 Web 應用的 Kraken 框架誕生了。json
下面咱們簡單介紹下 Kraken 的框架結構和特色,但願能對你們有所幫助。segmentfault
Kraken 框架套件包括多個部分,Kraken.js 僅是該框架的主體部分。該框架還包括其餘模塊(可獨立使用):安全
除了上述能夠獨立使用的模塊以外,Kraken 套件還包括了一系列的依賴和工具:服務器
配置、內容、模板、路由邏輯放在不一樣位置,方便對文件進行組織和管理。app
config
配置controllers
控制器lib
庫文件和其餘代碼locales
本地化文件models
模型public
公共資源public/templates
模板test
測試index.js
應用程序入口文件Kraken 的配置文件爲config/app.json
,所有的應用配置均存放在此文件中,大大方便了開發者。config/middleware.json
則是中間件配置文件。框架
開發環境與生產環境,一般在端口號、主機名等方面的參數設置會有不一樣,Kraken 容許建立單獨的適用於開發模式的配置文件,好比config/app.json
爲生產環境下的配置, config/app-development.json
爲開發環境下的配置,而後能夠經過自定義環境變量來控制須要加載的配置文件。開發者能夠在生產環境和開發環境進行快速切換!
利用Lusca提供的安全保障。遵循OWASP安全原則,默認啓用以下請求和響應的頭文件:
Kraken官方給出的兩個代碼示例:
Kraken是一個開源項目。請訪問其Github頁面瞭解更多內容。
編輯:Segmentfault