我很难选择要用于即将进入开发的应用程序的框架。我是一个前端人,而我的朋友正在做后端。
说我正在开发一个简单的待办事项列表应用程序。我有一个todo列表上每个项目的模板。理想情况下,我希望服务器端JavaScript使用此模板以及客户端JavaScript。
因此,在页面加载时,如果数据库中已有5个待办事项,则将在服务器上编译HTML。如果我然后在列表中添加一个新的待办事项,则客户端JS将使用相同的模板编译HTML。
我听过很多关于Node.js,Backbone.js等的讨论。对于这类事情,有多少选项是非常令人难以置信的。有人能举例说明一起使用这些技术吗?
答案 0 :(得分:10)
Node.js是服务器端的JavaScript,而Backbone.js则用于使用集合,模型和视图优雅地构建前端内容。
两者各有各的作用。为了更好地比较前端框架,您可以查看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结合起来的应用程序:
Backbone(如Node.js)非常受欢迎,因此您可以在线获得大量帮助/资源。
答案 1 :(得分:0)
不确定。查看TodoMVC以更好地了解各种替代方案。
答案 2 :(得分:0)
将模板文件粘贴到页面底部。这样,您的客户端代码可以轻松使用它,而无需调用获取模板。
调用模板时使用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" );
答案 3 :(得分:0)
有足够的模板解决方案,例如mustache.js两端工作
但是,为了在客户端使用模板,使渲染数据可用是有帮助的。
Henrik Joreteg撰写了a nice article关于重用骨干模型并在客户端和服务器之间进行同步的文章。
答案 4 :(得分:0)
以下是视频中的github个例子:
您可能也有兴趣查看jsdom
我刚刚开始学习节点,这段视频真的帮助我了解如何在节点上对服务器和客户端进行实验。你会看到他禁用javascript,日历仍然有效 - 这很酷。
这是一个很好的backbone资源:
答案 5 :(得分:0)
您可以查看http://derbyjs.com/#why_not_use_rails_and_backbone
他们在打开网络应用时尝试实现以下目标:
因此,通常用户向具有“胖”客户端的网站发出的第一个请求非常痛苦:
此行为通常比传输旧式学校服务器端呈现页面慢。例如,Gmail或iCloud需要一些时间来加载,因为他们这样做。