我开始使用nodejs和socket.io …
是纯JavaScript还是我必须学习像JQuery或MOntools的框架?
谢谢!
node.js是纯javascript。
是的,您需要学习node.js,因为它是您的服务器端IO库。 不,你不需要学习jQuery或MooTools的服务器端开发。
在node.js社区中,非常重视使用第三方库来实现你想要的。 目前没有为节点设置框架。
一些值得学习的图书馆是
Express是一个建立在连接上的轻量级MVC库。 这使您可以访问路由库和视图引擎。 当与EJS或Jade结合使用时,它将允许您设置您的node.js代码来单独处理传入路由并从模板中呈现数据。 我也建议看快递控制器 ,这是一个很好的方式来处理您的网址的REST风格路由。
现在是socket.io的一个抽象。 它提供了客户端和服务器之间的“共享”命名空间。 这使得RPC微不足道。 只需在服务器上声明一个函数作为现在的属性,然后从客户端调用它。 现在为您处理所有的socket.io通信。
摇篮是一个抽象,允许你与couchdb进行交互。 如果你要使用节点,我建议你使用像沙发或mongodb的NoSQL数据库(如果你使用mongo,试试mongoose)。
一个令人敬畏的实用程序库,允许您在功能风格的代码(想Python或红宝石)。 尽管大部分功能已经是ES5的一部分,但强烈建议您这么做。 在客户端上使用它来模拟ES5也是一个很大的优势
Backbone是一个轻量级的MVC抽象。 这使您可以使用更常见的MVC结构。 对于node.js本身,我会建议使用Backbone.Model
和Backbone.Collection
并具有处理视图渲染(但用集合和模型中的数据填充视图)。 您还可以轻松地覆盖Backbone.Sync
以便与您选择的数据库抽象进行交互,从而将Backbone虚拟成ORM。 一个坚实的选择将是脊柱
期货给你一个承诺的API。 这对编写可管理的可读代码非常有用。 它也阻止你嵌套5层深的回调。 图书馆本身广泛。 它还为依次运行异步回调以及在末尾与回调处理程序并行运行提供了很好的抽象。
3个月后
做了几个项目之后,我仍然会推荐快递。 然而。
我不推荐
我会推荐的东西。
jQuery,MooTools和Node.js都是“纯”的Javascript,如果这就是你要求的。 然而,他们都是图书馆,你将不得不学习他们的API。
你可以在这里找到Node.js的文档。