前端方面

我用 Backbone.js 做过前端的开发,印象里就是后端按模型对象的属性把 JSON 数据发过来,我写在模板里渲染就好了

  • 模板加载( underscore.js )
  • 建立模型
  • 渲染视图
  • 路由,事件等

后端方面

这两天接触 Nodejs ,原本是想前端用 Backbone 做结构,然后用 Nodejs 作服务器开发(用的 express 框架),连接数据库传数据给前端,但是在网上查资料的时候发现用 Nodejs 的模板写前端的话,在渲染的地方比如

app.get('/', function (req, res) {
res.render('index', { title: 'Hey', message: 'Hello there!'});
});

render 的第二个参数就跟 Backbone 里模型的属性感觉上很像,用 Mongoose 连接 Mongodb 的话也可以直接加载数据。 那是不是用 Backbone 配合 Nodejs 的时候 Backbone 里面的 Model 模块和 render 就不需要使用了?那我感觉 Backbone 就挺没用的了阿?


当然了,我所说的很有可能不对,我就是想知道我哪里理解的有问题。我的问题如下:

  • Backbone 配合 Nodejs 的时候 Backbone 里面的 Model 模块和 render 可以直接被 express 里的类似模块替代?
  • Backbone 和 Nodejs 合拍吗?哪种情况下适合搭配使用呢?
  • Backbone.js 为什么适合单页开发?因为它的路由?

    segmentfault:res.render是服务端返回的,Node拿到数据,结合模板引擎(ejs等)渲染好html返回给浏览器,剩下的客户端的交互才是backbone来处理的,随后的交互就不是res.render了,而是res.json等直接返回纯数据交给Backbone渲染。
    
    v2ex:就把 NodeJS express 当作普通的服务端,和 Python Flask 、 PHP 一样。你要普通的服务端渲染页面,就用 express 的模板渲染( res.render );你要用前端框架( Backbone )渲染页面, express 就只要返回数据,例如 JSON ( res.json )。
    另外你的前端构建可以让 NodeJS 做自动化,比如打包、压缩( minify )等。
    Backbone 作为一款前端 MVC 框架,当然适合单页开发。类似的还有 Angular 、 React 等 MVVM 框架。

Backbone.js 和 Nodejs 的一些共同点搞不清楚的更多相关文章

  1. AngularJS 、Backbone.js 和 Ember.js 的比较

    1 介绍 我们准备在这篇文章中比较三款流行于Web的“模型-视图-*”框架:AngularJS.Backbone和Ember.为你的项目选择正确的框架能够对你及时交付项目的能力和在以后维护你自己代码的 ...

  2. MVC、MVP、MVVM、Angular.js、Knockout.js、Backbone.js、React.js、Ember.js、Avalon.js、Vue.js 概念摘录

    注:文章内容都是摘录性文字,自己阅读的一些笔记,方便日后查看. MVC MVC(Model-View-Controller),M 是指业务模型,V 是指用户界面,C 则是控制器,使用 MVC 的目的是 ...

  3. 我对Backbone.js的一些认识

    backbone.js已经不是当前最流行的前端框架了,但是对于我而言,依然具有比较好的学习价值.虽然目前来说,react,vue等mvvm框架非常火热,但是感觉自身还不到去使用这种框架的层次.这些技术 ...

  4. 比較Backbone.js, Angular.js, Ember.js, Knockout.js 心得

    還記得第一次寫網站的時候,我無意間寫成了 SPA(single page application),當時還沒有SPA這個詞,後來因為廣告主需要不同 url location 頁面的廣告展示,只好把部分 ...

  5. Backbone.js的技巧和模式

    Backbone.js的技巧和模式 Backbone.js的技巧和模式   本文由白牙根据Phillip Whisenhunt的<Backbone.js Tips And Patterns> ...

  6. Backbone.js 1.0.0源码架构分析(一)

    Backbone.js 是javascript 语言中 首个实现MVC设计模式的类库,API接口方法重度依赖于underscore.js,DOM选择器则依赖于jQuery.js或者zepto.js. ...

  7. Backbone.js应用基础

    前言: Backbone.js是一款JavaScript MVC应用框架,强制依赖于一个实用型js库underscore.js,非强制依赖于jquery:其主要组件有模型,视图,集合,路由:与后台的交 ...

  8. Backbone.js学习之Backbone.View(视图)

    Backbone.js为复杂WEB应用程序提供模型(models).集合(collections).视图(views)的结构.其中模型用于绑定键值数据和自定义事件:集合附有可枚举函数的丰富API: 视 ...

  9. 前端mvc框架backbone.js入门[转]

    原文地址:http://www.cnblogs.com/zhjh256/p/6083618.html 关于backbone.js的优缺点,这里就不详谈了,网上关于这方面的讨论很多了,而且各种框架之所以 ...

随机推荐

  1. web报表工具FineReport的公式编辑框的语法简介

    FINEREPORT用到公式的地方非常多,单元格(以=开头的便被解析为公式),条件显示,数据字典,报表填报属性值定义,图表标题,轴定义,页眉页脚,甚至单元格的其他属性中的鼠标悬浮提示内容都可以写公式, ...

  2. 如何在linux上构建objective-c程序

    swfit目前还是os x独占,以后会不会扩展到其他系统还未可知,但objective-c并不只存在于os x,在linux下gcc和clang都支持obj-c哦,下面简单把如何在ubuntu上构建o ...

  3. 用windbg显示特定进程虚拟地址的方法

    1 必须使用Livekd.exe启动windbg 2 !process PID 3 找到PROCESS对象的地址:PROCADDR 4 找到进程的DirBase 5 r cr3 = DirBase 6 ...

  4. 恶补web之二:css知识(2)

    css字体属性定义文本的字体系列,大小,加粗,风格和变形等. css中包含两种字体系列:通用字体系列和特定字体系列. font-family属性定义文本的字体系列: body {font-family ...

  5. 剑指offer面试题48: 最长不含重复字符的子字符串

    Given a string, find the length of the longest substring without repeating characters.(请从子字符串中找出一个最长 ...

  6. 移动端 slide拖拽

    <html> <head> <meta charset="UTF-8"> <meta name="viewport" ...

  7. Android的颜色值转换

    Android的颜色int值比较变态,是个负值,用计算机术语讲叫补码,手工转换比较麻烦,首先看看文档 https://developer.android.com/reference/android/g ...

  8. C 实现基于角色的权限系统

    本文demo下载地址:http://www.wisdomdd.cn/Wisdom/resource/articleDetail.htm?resourceId=1068 实例使用C# 实现基于角色的权限 ...

  9. 测试驱动开发 TDD

    一.详解TDD 1.1.TDD概念 :Test Drived Develop 测试驱动开发是敏捷开发中的一项核心实践和技术,也是一种方法论.TDD的原理是在开发功能代码之前,编写单元测试用例代码,测试 ...

  10. FileReader读取本地文件

    FileReader是一种异步读取文件机制,结合input:file可以很方便的读取本地文件. 一.input:type[file] file类型的input会渲染为一个按钮和一段文字.点击按钮可打开 ...