前端方面

我用 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. SharePoint 用户控件编写的简单介绍

    我们开发中,通常需要写各种各样的部件来实现我们的展示或者功能,下面就介绍下刚刚接触的QuickPart+用户控件的方式,算是自己的学习笔记,也和大家交流下心得. 1. 新建Web应用程序 2. 在项目 ...

  2. List内存分配

    当采用默认构造函数List<int> value = new List<int>();实例化一个List<T>对象时,.Net Framework只是在内存中申请了 ...

  3. Linux中使用export命令设置环境变量

    Linux export 命令 2011-08-31 22:36:39|  分类: 命令总结|举报|字号 订阅     功能说明:设置或显示环境变量. ######################## ...

  4. .net中的各种委托(Delegate、Action、Func)

    1.Delegate,委托的鼻祖 protected delegate int ClassDelegate(int x, int y);//定义委托类型及参数 static void Main(str ...

  5. myBatis之入门示例

    1. myBatis目录结构: --src ---entity [POJO类] ---mappers [映射类] ----*Mapper.java [方法接口,相当于Dao] ----*Mapper. ...

  6. java -- 对Map按键排序、按值排序

                             java  -- 对Map按键.按值排序 1.按键排序(sort by key) 直接上代码  ↓ public Map<String, Str ...

  7. Android Studio使用手记

    1.官方的Tip and Tricks:http://developer.android.com/intl/zh-cn/sdk/installing/studio-tips.html 2.项目的目录树 ...

  8. Future与Promise

    https://code.csdn.NET/DOC_Scala/chinese_scala_offical_document/file/Futures-and-Promises-cn.md#ancho ...

  9. spring的简单入门

    spring是一个轻量级的JavaEE解决方案,是众多优秀设计模式的整合.spring的核心是:(工厂)容器 1.设计模式:解决一些特定问题的经典代码.共有23中设计模式(工厂,单例,代理,适配,装饰 ...

  10. ES 在聚合结果中进行过滤

    ES查询中,先聚合,在聚合结果中进行过滤 { "size": 0, "aggs": { "terms": { "terms&quo ...