node 虚拟环境(虚拟研讨会:Node.js生态系统之框架、库、最佳实践)
虚拟研讨会:Node.js生态系统之框架 、库 、最佳实践
Node.js的创建者Ryan Dahl在JSConf 2010上做了演讲 ,简单介绍了什么是Node.js(PDF) :
服务器端的JavaScript 基于Google的V8创建 事件触发、非阻塞的I/O 。 类似于EventMachine或Twisted 。 CommonJS模块系统 。 有8000行C/C++代码 , 2000行Javascript代码,14个贡献者 。Node.js最近越来越受关注 ,Yahoo! Mail的首席工程师Peter Griess也提到 , 他们公司正在研究如何在产品中使用Node.js 。
目前在GitHub上 ,大约有三百个项目都与Node.js有关 ,InfoQ联系了其中几个最受欢迎项目的创建者 , 与他们展开了此次讨论 。
参与者包括:
来自Express的TJ Holowaychuk , Express是受Sinatra影响的Node.js Web开发框架 。(译注: Sinatra是用Ruby编写的开源Web应用框架 、 领域特定语言 。) Socket.IO的Guillermo Rauch ,Socket. IO是一个简单的HTTP套接字接口实现及服务器 。 来自Geddy的Matthew Eernisse ,Geddy是个Node. js的Web开发框架 ,类似于Merb 、Rails 、 Pylons 、Django等框架。 node-xmpp的Astro,node- xmpp是遵循XMPP协议的Node.js库 。 StackVM的Peteris Krumins和James Halliday ,StackVM是一家初创公司 , 正尝试用Node.js来简化虚拟机在Web上的使用 。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。
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!