Nodejs和socket.io,它是纯粹的JavaScript?

我开始使用nodejs和socket.io …

是纯JavaScript还是我必须学习像JQuery或MOntools的框架?

谢谢!

node.js是纯javascript。

是的,您需要学习node.js,因为它是您的服务器端IO库。 不,你不需要学习jQuery或MooTools的服务器端开发。

在node.js社区中,非常重视使用第三方库来实现你想要的。 目前没有为节点设置框架。

一些值得学习的图书馆是

  • 表达 路由,视图引擎和控制器(MVC的一半)

Express是一个建立在连接上的轻量级MVC库。 这使您可以访问路由库和视图引擎。 当与EJS或Jade结合使用时,它将允许您设置您的node.js代码来单独处理传入路由并从模板中呈现数据。 我也建议看快递控制器 ,这是一个很好的方式来处理您的网址的REST风格路由。

  • 现在 websocket库

现在是socket.io的一个抽象。 它提供了客户端和服务器之间的“共享”命名空间。 这使得RPC微不足道。 只需在服务器上声明一个函数作为现在的属性,然后从客户端调用它。 现在为您处理所有的socket.io通信。

  • 摇篮 数据库库

摇篮是一个抽象,允许你与couchdb进行交互。 如果你要使用节点,我建议你使用像沙发或mongodb的NoSQL数据库(如果你使用mongo,试试mongoose)。

  • 强调 通用实用工具使生活变得简单

一个令人敬畏的实用程序库,允许您在功能风格的代码(想Python或红宝石)。 尽管大部分功能已经是ES5的一部分,但强烈建议您这么做。 在客户端上使用它来模拟ES5也是一个很大的优势

  • 骨干 集合和模型(MVC的另一半)

Backbone是一个轻量级的MVC抽象。 这使您可以使用更常见的MVC结构。 对于node.js本身,我会建议使用Backbone.ModelBackbone.Collection并具有处理视图渲染(但用集合和模型中的数据填充视图)。 您还可以轻松地覆盖Backbone.Sync以便与您选择的数据库抽象进行交互,从而将Backbone虚拟成ORM。 一个坚实的选择将是脊柱

  • 期货 流程控制库

期货给你一个承诺的API。 这对编写可管理的可读代码非常有用。 它也阻止你嵌套5层深的回调。 图书馆本身广泛。 它还为依次运行异步回调以及在末尾与回调处理程序并行运行提供了很好的抽象。

3个月后

做了几个项目之后,我仍然会推荐快递。 然而。

我不推荐

  • 现在。 为什么? 它阻碍了它的泄漏。 改用socket.io 。
  • 摇篮。 为什么? 它有边缘情况下的错误,这是一个恶梦调试,而不是使用请求。
  • 下划线。 为什么? 这只是不需要的。 ES5足够表达
  • 骨干/脊椎。 为什么? 它泄漏,它的方式。 它只是不是为服务器设计的
  • 期货。 为什么? 这太过分了 你不需要它。 改为使用后 。
  • 表达控制器。 这是一个漏洞抽象,它不起作用。

我会推荐的东西。

  • 单元测试( 誓言 )
  • 热码重新加载( forever / nodemon )
  • 缩放体系结构( cluster / hook.io

jQuery,MooTools和Node.js都是“纯”的Javascript,如果这就是你要求的。 然而,他们都是图书馆,你将不得不学习他们的API。

你可以在这里找到Node.js的文档。