虚拟研讨会:Node.js生态系统之框架、库、最佳实践

Node.js的创建者Ryan Dahl在JSConf 2010上做了演讲,简单介绍了什么是Node.js(PDF) :

Node.js最近越来越受关注,Yahoo! Mail的首席工程师Peter Griess也提到, 他们公司正在研究如何在产品中使用Node.js。

目前在GitHub上,大约有三百个项目都与Node.js有关 ,InfoQ联系了其中几个最受欢迎项目的创建者, 与他们展开了此次讨论。

参与者包括:

InfoQ:能向大家简单介绍一下你们的项目么? 项目试图解决什么问题?又是如何去做的呢?

TJ(Express):正如你们所了解的, Express很大程度上受到了Sinatra的影响, 最初主要是想让开发人员在新的平台上自如使用新的语法。 不过我们在1.x版本做了很多改进, Express现在利用了流行的中间件框架Connect( 我是共同编写者),并移除了一些不适合项目的依赖。

有些Node框架只关注自身,但大部分还是想成为“最重要的” 库。我期望Express是可选的,不会带来什么局限。

Guillermo(Socket.IO):Socket. IO提供了一个简单的API, 可以抽象出各个浏览器在HTTP传输实现上的不同, 借此让实时JavaScript应用的构建成为可能。

Matthew(Geddy):Geddy是个全JavaScript堆栈的MVC Web框架。 Geddy想让开发人员很容易地用JavaScript编写复杂的Web应用、在客户端和服务器之间共享代码。

Geddy使用了现有MVC框架中的常见模式, 比如Rails和Django中用控制器/行为、模型、 模板化的函数。 不过Geddy中的这些功能都是用JavaScript完成的, 所以模型、验证、模板之类的内容也都可以在浏览器中使用。

Geddy有简单、基于资源的路由机制,还有准确的内容协商, 所以用它来开发传输结构化数据的轻量Web Service会超级简单。

Astro(node-xmpp):我的目标是创建一个能在Node.js环境中容易使用的XMPP库。 先前的库以适用于浏览器的Strophe.js为基础, 不符合Node.js的约定; 也没有利用EventEmitter和支持SRV的DNS解析器 ,最重要的是,它既不支持XMPP客户端,也不支持组件连接。

Peteris和James(StackVM):我们的项目叫StackVM, 它可以借助HTML和JavaScript让虚拟机在浏览器上运 行。StackVM显示了虚拟机不绑定到桌面时可以进行的操作。 比如说,用户可以在他们的网站里嵌入虚拟机、 与合作者共享工作内容、为应用创建在线的产品演示, 还可以创建以前不可能实现的Mashup。

TJ(Express):正如你们所了解的, Express很大程度上受到了Sinatra的影响, 最初主要是想让开发人员在新的平台上自如使用新的语法。 不过我们在1.x版本做了很多改进, Express现在利用了流行的中间件框架Connect( 我是共同编写者),并移除了一些不适合项目的依赖。

有些Node框架只关注自身,但大部分还是想成为“最重要的” 库。我期望Express是可选的,不会带来什么局限。

Guillermo(Socket.IO):Socket. IO提供了一个简单的API, 可以抽象出各个浏览器在HTTP传输实现上的不同, 借此让实时JavaScript应用的构建成为可能。

Matthew(Geddy):Geddy是个全JavaScript堆栈的MVC Web框架。 Geddy想让开发人员很容易地用JavaScript编写复杂的Web应用、在客户端和服务器之间共享代码。

Geddy使用了现有MVC框架中的常见模式, 比如Rails和Django中用控制器/行为、模型、 模板化的函数。 不过Geddy中的这些功能都是用JavaScript完成的, 所以模型、验证、模板之类的内容也都可以在浏览器中使用。

Geddy有简单、基于资源的路由机制,还有准确的内容协商, 所以用它来开发传输结构化数据的轻量Web Service会超级简单。

Astro(node-xmpp):我的目标是创建一个能在Node.js环境中容易使用的XMPP库。 先前的库以适用于浏览器的Strophe.js为基础, 不符合Node.js的约定; 也没有利用EventEmitter和支持SRV的DNS解析器 ,最重要的是,它既不支持XMPP客户端,也不支持组件连接。

Peteris和James(StackVM):我们的项目叫StackVM, 它可以借助HTML和JavaScript让虚拟机在浏览器上运 行。StackVM显示了虚拟机不绑定到桌面时可以进行的操作。 比如说,用户可以在他们的网站里嵌入虚拟机、 与合作者共享工作内容、为应用创建在线的产品演示, 还可以创建以前不可能实现的Mashup。

发表回复