原文地址:http://geek.csdn.net/news/detail/4020

框架列表: http://nodeframework.com/

与其他很多语言一样,Node.js也有很多Web框架可以选择,以至于有一个专门的网站/GitHub项目收集这些框架:http://nodeframework.com/

其中比较流行的MVC框架应该是Sinatra风格的Express(GitHub关注数是11571),和Rails风格的Getty。(参见StackOverflow)而从CNodejs中文社区的话题来看,国内Express明显要更受欢迎。中间件里出自Sencha的Connect比较热门一些。事实上Express就是基于Connect的。

现在Express的主要作者T.J. Holowaychuk等又发起了一个开源中间件项目Koa。从项目的FAQ来看,目的是通过生成器(借助co)减少回调,将Express中许多优秀特性移到中间件层次,让中间件的编写更轻松、不易犯错,为整个技术栈形成更稳固的基础,不针对最终的具体应用。它的功能与Connect类似,但不会取代Connect,你尽可以萝卜白菜各有所爱。Holowaychuk这么说是有权威性的,因为Connect现在的主要开发者也是他。

Koa的官方网站这样描述自己:

Koa is a new web framework designed by the team behind Express, which aims to be a smaller, more expressive, and more robust foundation for web applications and APIs. Through leveraging generators Koa allows you to ditch callbacks and greatly increase error-handling. Koa does not bundle any middleware within core, and provides an elegant suite of methods that make writing servers fast and enjoyable.

(Koa是由Express背后的团队开发的新Web框架,目的是为Web应用和Web API提供更小、更有表达力、更稳固的基础。通过生成器,Koa可以摆脱回调,极大地改进错误处理。Koa核心不绑定任何中间件,但提供了优雅的一组方法,可以快速和愉悦地编写服务器应用。)

Koa应用就是一个含有一组中间件生产函数的对象,遇到请求时以栈的方式组合和执行。这与Ruby里的Rack,Node.js之前的Connect等是类似的。但Koa在底层中间件层提供高层功能,因此改进了互操作性、稳固性,而且编写中间件也更轻松了。

Koa比较有特色的是Context,在一个对象里封装了Node.js的request和response。

示例应用是这样的:

var koa = require('koa');

var app = koa();

app.use(function *(){

this.body = 'Hello World';

});

app.listen(3000);

既然出自传奇人物T.J. Holowaychuk之手,Koa当然值得足够重视。因为他是Node.js社区最活跃和高产的成员之一。看看他的GitHub页面你会惊叹,怎么会有人如此高产!Express、Jade、Mocha、Component、Connect等Node.js多个重量级项目(关注数均是3000以上),CSS方面的Rework、Stylus,还有一个UIkit,用C实现的Luna语言,他都是创始人或者提交最多的贡献者,而且往往遥遥领先。他涉足的GitHub项目超过300,而过去一年中GitHub总贡献数4700多!

难怪Quora上对此有专门的讨论“T.J. Holowaychuk怎么能这么恐怖地高效?”。回答者里有人开玩笑地说他肯定像布尔巴基那样其实是一群人。还有人指出,他录制的Webcast里,打字速度那个快啊……另一个讨论中,有人打趣说他肯定不怎么睡觉,另一个人说他其实一直在睡,只不过我们都是他梦中世界的产物。而他本人则说,自己其实很喜欢睡觉,而且起床很困难……

此外,他与Node.js现在的负责人Isaac Schlueter年初关于组件的一番争论,也引起广泛关注

有意思的是,这位编程狂人居然是设计出身(下图是他的数码绘画作品之一,花了2个半小时,大家感受一下),然后接触到Flash,开始编写一些脚本(应该是写ActionScript吧)。某次接了一个设计活儿之后,他决定全部自己搞定,从此开始编程。至于怎么学会编程的,他说没有什么特别的,没有看书,也没有去学校,只是读别人的代码,任何思考怎么回事儿。

当然啦,编程高手里半路出家的很多,搞出Rails的DHH最开始是做游戏网站的网络编辑,JavaScript老道Douglas Crockford大学里学的是广播电视,Perl之父Larry Wall本科读的是化学、音乐和医学预科,最后拿了一个语言学的学位……

Holowaychuk本人网上似乎找不到正儿八经的简历。从散落各处的信息看,他住在加拿大Victoria,曾经在350designs、LearnBoost工作过,现在是集成分析平台Segment.io的员工。

对了,他也是Manning《Node.js in Action》的作者之一。

原文地址:http://geek.csdn.net/news/detail/4020

Node.js Web框架收集的更多相关文章

  1. Koa – 更加强大的下一代 Node.js Web 框架

    Koa 是 Express 的开发团队设计的下一代 Web 框架,其目的是为 Web 应用程序提供更小,更具表现力,更坚实的基础.Koa 没有核捆绑任何中间件,并提供了一​​套优雅的方法,使服务器端开 ...

  2. 强大的 Node.js Web 框架 - Daze.js

    去年年初对 Node.js 比较感兴趣,也用了很多 Node.js 的框架,但是开发体验不是特别好,我之前也是后端转前端,然后再接触 Node.js ,所以用过挺多的服务端框架,相对js而言,设计一款 ...

  3. 全端开发必备!10个最好的 Node.js MVC 框架

      Node.js 是最流行的 JavaScript 服务端平台,它允许建立可扩展的 Web 应用程序.Node.js 包含不同类型的框架,如 MVC 框架.全栈框架.REST API  以及大量的服 ...

  4. node.js Web应用框架Express.js(一)

    什么是Express.js Express 是一个简洁而灵活的 node.js Web应用框架, 提供一系列强大特性帮助你创建各种Web应用,提供丰富的HTTP工具以及来自Connect框架的中间件随 ...

  5. node.js Web应用框架Express入门指南

    node.js Web应用框架Express入门指南 作者: 字体:[增加 减小] 类型:转载 时间:2014-05-28 我要评论 这篇文章主要介绍了node.js Web应用框架Express入门 ...

  6. 44.Node.js Express 框架--web框架

    转自:http://www.runoob.com/nodejs/nodejs-express-framework.html Express 简介 Express 是一个简洁而灵活的 node.js W ...

  7. Node.js Express 框架

    Node.js Express 框架 Express 简介 Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP ...

  8. 【360开源】thinkjs:基于Promise的Node.js MVC框架 (转)

    thinkjs是360奇舞团开源的一款Node.js MVC框架,该框架底层基于Promise来实现,很好的解决了Node.js里异步回调的问题.360奇舞团(奇虎75Team),是奇虎360公司We ...

  9. Node.js Express框架

    Express 介绍 Express是一个最小的,灵活的Node.js Web应用程序框架,它提供了一套强大的功能来开发Web和移动应用程序. 它有助于基于Node Web应用程序的快速开发.下面是一 ...

随机推荐

  1. Scrum团队成立

    1.团队名称:瘦子不吃肥肉 目标:学习更多,了解更多! 口号:加油 团队照: 2.角色分配: 产品负责人:卓嘉炜        http://www.cnblogs.com/luoliuxi/ Scr ...

  2. VC使用libcurl模拟登录CSDN并自动评论资源以获取积分

    环境:Win7 64位+VC2008 软件及源码下载:(http://pan.baidu.com/s/1jGE52pK) 涉及到的知识点: C++多线程编程 libcurl的使用(包括发送http请求 ...

  3. Swift使用FMDB操作SQLite

    SQLite大家都懂的.本地数据库,在移动设备上使用广泛.IOS平台上自然也少不了它.最近自己折腾一个小App的时候需要使用sqlite本地数据库,上Github搜了下IOS下对SQLite的三方封装 ...

  4. [转]在SqlServer 中解析JSON数据

      在Sqlserver中可以直接处理Xml格式的数据,但因为项目需要所以要保存JSON格式的数据到Sqlserver中在博客:Consuming JSON Strings in SQL Server ...

  5. SQL Server中@@ROWCOUNT的用法

    SQL Server中@@ROWCOUNT返回受上一语句影响的行数,返回值类型为 int 整型. 如果行数大于 20 亿,则需要使用 ROWCOUNT_BIG. @@ROWCOUNT和@@ERROR变 ...

  6. WPF 实际国际化多语言界面

    前段时候写了一个WPF多语言界面处理,个人感觉还行,分享给大家.使用合并字典,静态绑定,动态绑定.样式等东西 效果图 定义一个实体类LanguageModel,实际INotifyPropertyCha ...

  7. BI之SSAS完整实战教程7 -- 设计维度、细化维度中 :浏览维度,细化维度

    上篇文章我们已经将Dim Geography维度设计好. 若要查看维度的成员, AS需要接收该维度的详细信息(包括已创建的特性.成员属性以及多级层次结构), 通过XMLA与AS的实例进行通信. 今天我 ...

  8. LGLProgressHUD

    不想用第三方的指示器,感觉有点大,自己写了一个简单的活动指示器,目前只有两种效果.效果如图 第一种: 第二种 第二种可以随着提示文字的增多而变长 LGLProgressHUD.h // // LGLP ...

  9. ArcGIS制图之Sub Points点抽稀

    简介 Sub Points工具是 Esri 中国自主开发的一个插件,该工具优先考虑点在空间分布上的均匀合理性,并结合点数据中包含的 "优先级" 属性进行筛选.通过获取每个点在一定范 ...

  10. andriod 读取网络图片

    来自:http://blog.csdn.net/jianghuiquan/article/details/8641283 Android手机上,我们常用ImageView显示图片,我们本章获取网络图片 ...