所以我看完了Douglas Crockford关于Javascript的精彩系列,在最后一集(到目前为止),loopage他列出了为什么Node.js是服务器端代码的近乎完美的解决方案。
他谈到保持状态,而不是数据库,但是在Node.js中运行的闭包中,他还指出模板系统(如JSP,PHP和ASP)对于更复杂的Web应用程序和该节点来说是一个糟糕的抽象.js为此提供了解决方案。
我准备购买,但我找不到任何使用此模式的Web应用程序示例,或任何有关如何执行此操作的书籍或教程。我不是在谈论simple application,而是在讨论Crockford谈到的模式。任何人都知道我在哪里可以找到用Node.js编写的Web应用程序的一些教程/示例(是的,我知道Geddy和ExpressJs,但它们似乎没有遵循Crockford完全不同的模式在谈论,并且更像是在Node.js上获得Railsy体验。
[未来3年的注意事项:似乎Express,Geddy,Sails,Kraken等都是Rails / Symfony /的重新实现来自Ruby / PHP / Java的Spring框架。而Hoodie和Meteor之类的东西是尝试全新的范例。 KOA看起来很有趣,但是远离可用的方式,但看起来它正在建立在javascript的优势上,具有过去的MVC应用程序的历史。 3年后,它仍然是Nodejs的激动人心的时刻,即使它不再是新的热点。至少现在有很多现实世界的Node用例......
答案 0 :(得分:89)
答案 1 :(得分:8)
Node Knockout竞赛最近结束,许多提交都在github上提供。竞赛网站现在似乎没有工作,但我相信你可以在Google上查看一些条目。
答案 2 :(得分:5)
DailyJS有一个很好的教程(24个帖子的长篇系列),它将引导您完成构建记事本应用程序的所有方面(包括所有可能的附加内容)。
以下是本教程的概述:http://dailyjs.com/2010/11/01/node-tutorial/
以下是所有帖子的链接:http://dailyjs.com/tags.html#nodepad
答案 3 :(得分:4)
更新
来自雅虎的Dav Glass于11月在YuiConf2010上发表了演讲,现在可以在Video from获得。他很好地展示了如何使用YUI3在服务器端渲染窗口小部件,以及在禁用JS时使它们与GET请求一起使用,或者只是在它处于活动状态时使它们正常工作。
他还展示了在渲染和其他很酷的东西之前如何使用服务器端DOM来应用样式表的示例。
演示可以在GitHub Account上找到。
缺少IMO以使其真正令人敬畏的部分是小部件状态的某种底层存储。所以一个人可以访问没有JavaScript的页面,一切都按预期工作,然后他们打开JS,现在小部件具有与以前相同的状态,但工作没有页面重新加载,然后投入一些保存到服务器+ WebSockets以在多个之间同步开放式浏览器......下一代不引人注目且优雅降级的ARIA诞生了。
原始答案
然后继续自己构建它。
说真的,90%的所有WebApp都可以通过REST方法正常工作,当然你可以做一些神奇的事情,比如卓越的用户跟踪,实时跟踪下载,检查视频的哪些部分正在被观看等等。
一个问题是可扩展性,只要您有超过1个节点进程,在请求之间存储数据的许多(但不是全部)好处就会消失,因此您必须确保客户端始终保持同样的效果处理。即便如此,更大的事情还需要一个数据库层。
Node.js并不是解决所有问题的方法,我相信人们将来会构建非常棒的东西,但是这需要一些时间,现在很多人只是把东西移植到Node来实现目标。< / p>
什么(恕我直言)使得Node.js如此出色,是因为它简化了开发过程,你必须编写更少的代码,它与JSON完美配合,你放弃了所有的上下文切换。
到目前为止,我主要进行了游戏实验,但我可以肯定地说,将来会有很多很酷的多人游戏(甚至是MMO),它们同时使用HTML5和Node.js。
Node.js仍然越来越受关注,几年前它甚至还没有接近RoR炒作(只需看看SO上的Node.js标签,每天几乎不会有4-5个问题)。
罗马(或RoR)并非一夜之间建成,Node.js也不会。
Node.js具备所需的所有潜力,但人们仍然在尝试,所以我建议你加入他们:)
答案 4 :(得分:2)
最接近的事情可能是Dav Glass使用node.js,express和YUI3的实验工作。基本上,他解释了YUI3如何用于在服务器端呈现标记,然后发送到客户端,在那里发生与事件和数据的绑定。美丽是YUI3在客户端和服务器上按原样使用。很有道理。一个大问题是还没有生产就绪的服务器端DOM库。