Backbone.js项目开始

最近通读了一遍《Backbone.js实战》,对Backbone.js的api大致有了了解,Backbone依赖于underscore,提供model、collection、view以及router。

虽然大致了解,但不知道怎样开始一个程序,github上找到了一个资源,backbone+bootstrap。

项目地址:https://github.com/zjzhome/directory-backbone-bootstrap

这是项目目录,我们可以看到,是一个典型的单页应用,index.html作为入口文件,通过view加载tpl的html模板们,app.js里面是router,大致每个view对应一个js文件,model也是一个js文件。

对于一个app,给一个命名空间:

var directory = {

    views: {},

    models: {},

    loadTemplates: function(views, callback) {

        var deferreds = [];

        $.each(views, function(index, view) {
            if (directory[view]) {
                deferreds.push($.get(‘tpl/‘ + view + ‘.html‘, function(data) {
                    directory[view].prototype.template = _.template(data);
                }, ‘html‘));
            } else {
                alert(view + " not found");
            }
        });

        $.when.apply(null, deferreds).done(callback);
    }

};

之后的每个view或者model还有router都是在directory这个命名空间下。

directory.Router = Backbone.Router.extend({
    //....
})

directory.ShellView = Backbone.View.extend({
    //....
})

//等等

正在使用这种方式写一个webapp,也遇见好多问题,都写好了继续更新遇到的坑。

其实会发现这样需要在index.html里加载很多js文件,所以可以使用诸如requirejs异步加载或者seajs模块加载。

时间: 2024-10-05 04:55:15

Backbone.js项目开始的相关文章

使用Underscore.js的template将Backbone.js的js代码和html代码分离

这段时间在学习Require.js和Backbone.js的过程中,发现有些项目里的HTML代码都是写在View的js代码里面的,渲染的时候需要对Collection进行循环,再将HTML代码拼接上去,这似乎不是一件非常好的事情,因为将js代码和html代码融合到一起会增加代码的维护难度,而且这个过程中考虑到性能的因素,需要将HTML代码放到一个数组中,最后进行拼接,代码写起来比较麻烦.我看到他们的代码之后就在考虑是否有一种类似php模板引擎的东西可以将Collection传递进去然后渲染. 我

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

转自:http://www.cnblogs.com/xishuai/p/mvc-mvp-mvvm-angularjs-knockoutjs-backbonejs-reactjs-emberjs-avalonjs.html MVC MVC(Model-View-Controller),M 是指业务模型,V 是指用户界面,C 则是控制器,使用 MVC 的目的是将 M 和 V 的实现代码分离,从而使同一个程序可以使用不同的表现形式. 交互方式(所有通信都是单向的): View 传送指令到 Contro

BackBone.js入门教程

废话不说,直入正题. Backbone.js是什么 Backbone.js提供了一套web开发框架,通过Models进行key-value绑定及自定义事件处理,通过Collections提供一套丰富的API用于枚举功能,通过Views来进行事件处理及现有的Application通过RESTful JSON接口进行交互,它是基于jQuery和underscore的一个前端js框架. Backbone中的重要概念 Model:根据现实数据建立的抽象,比如people Collection:比如一群人

使用Backbone.js, ExpressJS, node.js, MongoDB的web应用样板工程

这是web应用的一个完整的样板工程,用到了Backbone.js & Marionette, node.js & ExpressJS,MongoDB & Moogoose, Handlebars, Grunt.js, Bower和Browserify! 我建立了一个超级基础的单页面应用程序(SPA),就是一个简单的通讯录管理器, 但麻雀虽小,五脏俱全.我写这篇文章的目的是介绍一下这个应用所用到的整个技术栈:后端,数据,前端,工具和测试.主要包括下面这些技术: 后端: node.js

什么是 Backbone.js

Backbone.js 是一个在JavaScript环境下的 模型-视图-控制器 (MVC) 框架.任何接触较大规模项目的开发人员一定会苦恼于各种琐碎的事件回调逻辑.以及金字塔般的代码.而且,在传统的Web应用程序代码中,不可避免的都有在应用逻辑中加入显示数据的代码的情况.当项目规模愈发变大时,这种形式的代码变得越发的难以维护,因为任何在主干逻辑中的变更都可能影响到数据显示逻辑,反之亦然. Backbone就是要来解决这样的代码耦合的问题.它通过提供一个控制层-显示层的框架,以及模版(templ

我对Backbone.js的一些认识

backbone.js已经不是当前最流行的前端框架了,但是对于我而言,依然具有比较好的学习价值.虽然目前来说,react,vue等mvvm框架非常火热,但是感觉自身还不到去使用这种框架的层次.这些技术虽好,但是对个人的挑战也是比较大:首先是在编程基础这个部分,包括数据结构,算法,面向对象编程,设计模式,设计原则等等,我觉得在这些方面积累地还不够:其次是工作方法层面,对比angualr,react以及vue,跟传统的用原生js或者jquery写的代码,包括html,css和js三个方面,你会发现这

使用backbone.js、zepto.js和trigger.io开发HTML5 App

为了力求运行速度快.响应迅即,我们推荐使用backbone.js和zepto.js. 为了让这个过程更有意思,我们开发了一个小小的示例项目,使用CSS重置样式.Backbone.js和带转场效果的几个页面.我们的项目会显示Trigger推特更新内容和单个的推特消息.与往常一样,我们将使用同一个HTML5代码库创建安卓和iOS应用程序.在这个过程中,我们将介绍如何: 把你的JavaScript文件添加到应用程序中 使用Backbone.js来显示响应迅即的界面 使用CSS重置样式,减少跨平台出现的

Backbone.js 使用模板

实际的应用中会使用到模板,Model 等,而模板又是进阶的基础.所以这里介绍在 View 中使用模板,以及如何向模板填充值,模板可以用字符串,或是用 <script type="text/template"> 声明的内容.使用 <%= %> 或 <%- %> 来声明变量输出的占位符. Backbone 的模板要用到的是 underscore.js 库, 要深入了解 Unserscore 就看官方的 Underscore.js 的文档,Undersco

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

1 介绍 我们准备在这篇文章中比较三款流行于Web的“模型-视图-*”框架:AngularJS.Backbone和Ember.为你的项目选择正确的框架能够对你及时交付项目的能力和在以后维护你自己代码的能力产生巨大影响.你也许想基于一款可靠的.稳定的和成熟的框架来构建项目,但又不想为此受到约束.Web发展迅速——新技术产生,旧的那套方法很快跟不上潮流.如此形势之下,我们准备仔细深入的比较这三个框架. 2  框架概览 今天我们提到的所有框架有许多共同点:都是开源的,遵从 MIT 协议,并且都尝试通过