【发布时间】:2011-09-08 16:11:11
【问题描述】:
我开始使用 nodejs 和 socket.io...
是纯 JavaScript 还是我必须学习 JQuery 或 MOntools 之类的框架?
谢谢!
【问题讨论】:
-
Mootools, Jquery 都是纯javascript
标签: javascript linux
我开始使用 nodejs 和 socket.io...
是纯 JavaScript 还是我必须学习 JQuery 或 MOntools 之类的框架?
谢谢!
【问题讨论】:
标签: javascript linux
node.js 是纯 JavaScript。
是的,您确实需要学习 node.js,因为它是您的服务器端 IO 库。不,你不需要学习 jQuery 或 MooTools 来进行服务器端开发。
在 node.js 社区中,非常强调使用 3rd 方库来实现您想要的。目前没有为节点设置框架。
几个值得学习的库是
Express 是一个轻量级的 MVC 库,构建在 connect 之上。这使您可以访问路由库和视图引擎。当与 EJS 或 Jade 结合使用时,它将允许您设置 node.js 代码以单独处理传入路由并呈现来自模板的数据。我还建议您查看express-controllers,这是处理您的 url 的 REST 样式路由的好方法。
now 是 socket.io 之上的抽象。它在客户端和服务器之间提供了一个“共享”命名空间。这使得 RPC 变得微不足道。只需在服务器上将一个函数声明为 now 的属性,然后从客户端调用它。现在为您处理所有 socket.io 通信。
Cradle 是一种抽象,允许您与couchdb 进行交互。如果您要使用节点,我建议您使用 NoSQL 数据库,例如 couch 或 mongodb(如果您使用 mongo,请尝试 mongoose)。
一个很棒的实用程序库,可让您以函数式样式编写代码(例如 python 或 ruby)。这是强烈推荐的,尽管大部分特性已经是 ES5 的一部分。在客户端使用这个来模拟 ES5 也是一个很大的优势
Backbone 是一个轻量级的 MVC 抽象。这允许您使用更常见的 MVC 构造。对于 node.js 本身,我建议使用 Backbone.Model 和 Backbone.Collection 并使用 express 处理视图渲染(但使用来自集合和模型的数据填充视图)。您还可以轻松覆盖 Backbone.Sync 以与您选择的数据库抽象进行交互,这实际上将 Backbone 变成了 ORM。一个可靠的选择是Spine
Futures 为您提供了一个 Promise API。这对于编写可管理的可读代码非常有用。它还阻止您嵌套 5 层深度的回调。图书馆本身很丰富。它还为按顺序运行异步回调以及在最后与回调处理程序并行运行它们提供了很好的抽象。
3 个月后
做了几个项目后,我还是推荐express。但是。
不推荐
我会推荐的东西。
【讨论】:
jQuery、MooTools 和 Node.js 都是“纯”Javascript,如果这就是您所要求的。但是,它们都是库,您确实必须学习它们的 API。
您可以找到 Node.js here 的文档。
【讨论】:
framework 的使用。这些确实是图书馆,答案相应更新。谢谢:)