NodeJS也就是Node,是众所周知的使用javascript构建Web应用框架,它启动一个服务器非常简单,如下:

var http = require('http');

http.createServer(function (request, response) {

response.writeHead(200, {'Content-Type': 'text/plain'});

response.end('Hello World\n');

}).listen(8080);

console.log('Server started');

但是Node.js仅仅是启动了一个基于Http协议的服务器,而Web开发在其之上还需要很多库包支持,下面列举了基于Node基础上的七个小型Web框架:

Express

Express是一个轻量Web框架,能够建立大型或小型轻量的Web应用,与NodeJS Angular.js和MongoDB合称为Mean全栈开发工具,被以下网站应用:

  • MySpace
  • Storify
  • Countly

博客平台 'Ghost' 也是基于Express构建。

Express是Node.js用于Web应用的工具包,能够创建基于http的端口,处理cookie等,提供一切你可能需要建立自己的Web服务器的库包,主要有:

  1. 1. 简单的REST路由:如app.get(/account/:id, function(req, res){ /* req.params('id') is available */ });
  2. 通过Jade的简单模板化
  3. 自动化的http处理。
  4. 支持异步处理请求响应的中间件。
  5. 分析POST请求体
  6. 防止XSS攻击
  7. 错误处理

Flatiron

Flatiron 是来自Nodejitsu支持的项目, 它为Node.js开发提供了很多好用资源和工具包,提供了依赖注入和反转控制等功能 还有流式控制等(大型文件上传),路由, 模板和校验等。

使用来自Nodejitsu同一标准构建的高质量高性能标准组件工具帮助你建立解耦的规模应用,也是一个全栈Web应用程序开发框架,它将很多工具封装结合在一起,使得构建基于流的应用开发更容易。

Koa

koa实际初始是由Express开发和维护的一个Web框架,一个Koa应用是一个包含一组中间件生成器,类似Ruby's Rack, Connect, 等等 – 是一种基于低层次中间件层次的高级“糖”语法,提高了互用性,鲁棒性,并使得编写中间件更愉快 。支持 content-negotiation, cache 刷新和代理支持。

total.js

total是一个创建Nodejs应用的现代小型web框架,主要为可扩展可伸缩的应用程序设计,包括支持WebSockets 的完美URL路由,

restify

能够构建Node.js的REST API,它在纯粹构建REST API可能比Express更加吸引人。不像Express除了REST以外还有模板和渲染等其他功能,Restify的存在是为了让你打造"严格"的API服务,支持DTrace平台

SocketStream

专门为构建实时Web,由于已经将基础封装,SocketStream 能够解放你,让你关注构建你的社交或聊天应用,或多用户游戏,或者任何你需要实时流数据显示的应用,所有口味都能满足(e.g. Vanilla JS vs CoffeeScript, Stylus vs Less)

Sails.js

Sails是实时的MVC框架,能够更易于定制企业级别的Node.js应用. 它设计类似Ruby on Rails,但是支持更现代应用的需求:: 数据驱动data-driven APIs ,面向服务架构SOA,也特别适合构建实时聊天 多用户游戏。

原文地址:http://www.jdon.com/idea/nodejs/node-js-web-frameworks.html

最新文章

  1. [NOIP2014]自测
  2. 自写网站入门阶段之三:兼容大战与jq初探
  3. oracle如何写包
  4. lianjie
  5. js判断ie版本号
  6. [cocos2d-js]长按按钮事件
  7. 暂停和恢复Activity Android
  8. SCU 4436 Easy Math 2015年四川省赛题
  9. js数组和对象互转方法
  10. Node.js初学
  11. spring-security3.2.5实现中国式安全管理(转)
  12. C#深复制与浅复制
  13. AngularJS中如何对Controller与Service进行分层设计与编码
  14. 马的遍历 洛谷 p1443
  15. 运算符和Scanner的使用
  16. 《Redis 命令操作》
  17. WebStorm中使用npm包管理器
  18. MySQL(五)
  19. python系统编程(七)
  20. Python基础-内置函数、模块、函数、json

热门文章

  1. Linux BLE 基于 树莓派
  2. CSS节选——选择器
  3. 身份认证系统(二)多WEB应用的单点登录
  4. 【原创】如何设置Virtual Box虚拟机CentOS7为静态IP地址
  5. Java并发编程(二)创建线程的三种方法
  6. css中可以继承的属性
  7. [笔记] 升級到 Delphi 10.2 Tokyo 笔记
  8. Delphi跨平台下的GetTickCount,GetCurrentThreadID
  9. pomelo 的一些监控和维护插件(工具)
  10. python学习笔记:第8天 文件操作