我开始使用nodejs和socket.io ...
它是纯粹的javascript还是我必须学习像JQuery或MOntools这样的框架?
谢谢!
答案 0 :(得分:18)
node.js是纯粹的javascript。
是的,您确实需要学习node.js,因为它是您的服务器端IO库。并且您不需要为服务器端开发学习jQuery或MooTools。
在node.js社区中,非常强调使用第三方库来实现您的目标。目前没有为节点设置框架。
有几个值得学习的图书馆
Express是一个轻量级的MVC库,它构建在connect的顶部。这使您可以访问路由库和视图引擎。当与EJS或Jade结合使用时,它将允许您设置node.js代码以单独处理传入路由并从模板呈现数据。我还建议查看express-controllers,这是处理网址的REST样式路由的好方法。
现在是socket.io的顶层抽象。它在客户端和服务器之间提供“共享”命名空间。这使RPC变得微不足道。只需将一个函数声明为服务器上的now属性,然后从客户端调用它。现在为您处理所有socket.io通信。
Cradle是一种抽象,允许您与couchdb进行交互。如果您要使用节点,我建议您使用NoSQL数据库,如沙发或mongodb(如果您使用的是mongo,请尝试mongoose)。
一个很棒的实用程序库,允许您以函数样式编写代码(想想python或ruby)。尽管大多数功能已经是ES5的一部分,但强烈建议这样做。在客户端上使用它来模拟ES5也是一个很大的优势
Backbone是一个轻量级的MVC抽象。这允许您使用更常见的MVC构造。对于node.js本身,我建议使用Backbone.Model
和Backbone.Collection
并快速处理视图呈现(但使用集合和模型中的数据填充视图)。您还可以轻松覆盖Backbone.Sync
以与您选择的数据库抽象进行交互,从而将Backbone虚拟化为ORM。一个可靠的替代方案是Spine
Futures为您提供promises API。这非常适合编写可管理的可读代码。它还可以阻止您将5层深度的回调嵌套。图书馆本身就很广泛。它还为顺序运行异步回调提供了很好的抽象,并且在最后与回调处理程序并行运行它们。
3个月后
完成一些项目后,我仍然建议快递。然而。
我不推荐
我会推荐的东西。
答案 1 :(得分:5)