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