Node.js Web应用程序示例/教程

所以我看完了道格拉斯· 克罗克福德 (Douglas Crockford)关于Javascript的优秀系列,并且在最后一集(到目前为止)中,他阐述了为什么Node.js是服务器端代码几乎完美的解决scheme。

他谈到保持状态,而不是在数据库中,但是在运行在Node.js中的闭包中,他还指出,对于更复杂的Web应用程序,模板系统(如JSP,PHP和ASP)是一个糟糕的抽象,并且node.js提供解决这个问题。

而且我准备买入,但是我找不到任何使用此模式的Web应用程序示例,或者找不到任何有关如何去做这件事的书籍或教程。 我不是在谈论一个简单的应用程序 ,而是使用Crockford在谈话中提到的模式。 任何人都知道在哪里可以find用Node.js编写的Web应用程序的一些教程/例子(是的,我知道Geddy和ExpressJs ,但他们似乎并不遵循Crockford所说的完全不同的模式,而更像是在Node.js上获得Railsy的经验)。

[未来3年的注意事项:看起来像Express , Geddy , Sails , Kraken等都是从Ruby / PHP / Java重新实现Rails / Symfony / Spring框架。 而像连帽衫和meteor这样的事物正在尝试一种全新的范式。 KOA看起来很有趣,但是却远离了可用,但是看起来像是以过去的MVC应用的历史为基础,构build了javascript的优势。 3年过去了,对于Nodejs来说,这仍然是一个激动人心的时代,即使它不再是新的热点。 至less现在有很多使用Node的真实世界的例子…

我build议你看看最近出现的各种教程。 我目前的收益是:

http://nodetuts.com/

希望这可以帮助。

Node Knockout竞赛最近结束了,许多提交都可以在github上find。 比赛现在似乎没有正常工作,但我相信你可以通过谷歌几个条目检查出来。

DailyJS有一个很好的教程(长篇系列24篇文章),引导您了解构build记事本应用程序(包括所有可能的附加function)的所有方面。

下面是教程的概述: http : //dailyjs.com/2010/11/01/node-tutorial/

inheritance人链接到所有post: http : //dailyjs.com/tags.html#nodepad

更新

来自雅虎的Dav Glass于11月份在YuiConf2010上发表了一个演讲,现在已经可以在Video from中获得 。

他很好地展示了如何使用YUI3来渲染服务器端的小部件,当JS被禁用时让它们使用GET请求来工作,或者当它们处于活动状态时使它们正常工作。

他还展示了如何使用服务器端DOM在渲染之前应用样式表和其他很酷的东西的例子。

演示可以在他的GitHub帐户中find。

缺lessIMO使这真的很棒的部分是一些小部件状态的底层存储。 所以,可以访问没有JavaScript的页面,一切都按预期工作,然后他们打开JS,现在的小部件具有与以前相同的状态,但没有页面重新加载,然后抛出一些保存到服务器+ WebSockets在多个打开浏览器….而下一代的不显眼和优雅地退化ARIA的诞生。

原始答复

那么就自己动手吧。

严重的是,所有在那里的Web应用程序中有90%使用REST方法工作得很好,当然你可以做一些神奇的事情,如优秀的用户跟踪,实时下载跟踪,检查video的哪些部分正在观看等。

一个问题是可伸缩性,只要你有多个1节点的进程,很多(但不是全部)在请求之间存储数据的好处消失了,所以你必须确保客户端总是碰到相同的进程。 即使如此,更大的事情将再次需要一个数据库层。

Node.js并不是一切的解决scheme,我敢肯定,将来人们将会构build真正伟大的东西,但是这需要一些时间,现在很多人只是将东西移植到Node上来完成任务。

什么(恕我直言)使Node.js如此伟大,事实上,它简化了开发过程,你必须编写更less的代码,它完美的JSON,你松散所有的上下文切换。

到目前为止,我主要做了游戏实验,但是我可以肯定的说将来会有很多很酷的多人游戏(甚至MMO游戏),同时使用HTML5和Node.js。

Node.js仍然在吸引人的注意力,几年前甚至还没有接近RoR Hype(看看SO上的Node.js标签,每天几乎没有4-5个问题)。

罗马(或RoR)不是build立了一夜,Node.js也不是。

Node.js具有它所需要的全部潜力,但人们仍然在尝试,所以我build议你join他们:)

最接近的可能是Dav Glass使用node.js,express和YUI3的实验性工作。 基本上,他解释了如何使用YUI3在服务器端渲染标记,然后发送到绑定事件和数据的客户端。 YUI3的优点是在客户端和服务器上使用。 很有意义。 一个大问题是,还没有一个生产就绪的服务器端DOM库。

截屏