服务器端和客户端的JavaScript

我很难select哪个框架用于即将开发的应用程序。 我是一个前端的人,我的朋友正在做后端。

说我正在开发一个简单的待办事项列表应用程序。 待办事项列表中的每个项目都有一个模板。 理想情况下,我希望服务器端JavaScript使用此模板以及客户端JavaScript。

所以在页面加载时,如果数据库中已经有5个todos,那么HTML将被编译到服务器上。 如果我然后添加一个新的待办事项列表,客户端JS将使用相同的模板编译HTML。

我听到很多关于Node.js,Backbone.js等的嗡嗡声。这种事情有多less种select是非常令人难以置信的。 任何人都可以给我一些使用这些技术的例子吗?

Node.js是服务器端的JavaScript,而Backbone.js则用于使用集合,模型和视图来优雅地构build前端的东西。

两人都有自己的angular色。 为了更好地比较前端框架,你可以检查Addy Osmany的TODO列表,写在很多: https : //github.com/addyosmani/todomvc

在Backbone上也有一些很好的教程:
http://dailyjs.com/2011/04/04/node-tutorial-19/
http://backbonetutorials.com/
http://net.tutsplus.com/tutorials/javascript-ajax/getting-started-with-backbone-js/

这是一个应用程序,它将服务器上的Node.js与客户端上的Backbone结合在一起:

http://fzysqr.com/2011/02/28/nodechat-js-using-node-js-backbone-js-socket-io-and-redis-to-make-a-real-time-chat-app/

骨干(如Node.js)非常受欢迎,因此您可以在线获得大量帮助/资源。

当然。 检查出TodoMVC得到更好的想法的各种替代品。

将模板文件粘贴到页面的底部。 这样,您的客户端代码就可以轻松使用它,而无需致电获取模板。

调用模板时使用JQuery的例子是

<div style="display:none" id="sample_jquery_template"> Hello ${name} </div> 

在你的客户端JavaScript代码

 ..javascript.. person = {name:'Joe'} $.tmpl($("#sample_jquery_template").html(), person ).appendTo( "#destinationList" ); 

有足够的模板解决scheme,像mustache.js在两端工作。
但是为了处理客户端上的模板,提供渲染数据是有帮助的。
Henrik Joreteg写了一篇关于重复使用骨干模型并在客户端和服务器之间同步的文章 。

来自雅虎的Dav Glass给出了一个很好的演讲,展示了他如何在node.js客户端和服务器上运行YUI3。

这是他video中的例子的github :

你也可能有兴趣检查jsdom

我刚开始学习节点,这个video真的帮助我看到如何在服务器和客户端上实验节点。 你会看到他禁用JavaScript和日历仍然工作 – 这很酷。

这里是一个很好的骨干资源:

你可以看看http://derbyjs.com/#why_not_use_rails_and_backbone

打开一个webapp时,他们试图达到以下目的:

  1. 在第一个请求上传输完整的渲染页面。
  2. 从那时开始,所有的更改都将直接作为客户端,并通过ajax同步到服务器。

所以通常,用户对“胖”客户端的第一个请求是非常痛苦的:

  • 应用程序数据必须传输和初始化
  • 数据必须由客户端加载
  • 数据显示

这种行为通常比发送像服务器端渲染页面这样的老式学习方式要慢一些。 例如,Gmail或iCloud需要一些时间来加载,因为他们这样做。