Backbone.jsは、JavaScriptのフレームワークの一つです。
JavaScriptはできることが幅広く、その中でデータのやりとり周りをゼロから構築することはけっこう手間です。
いろんなフレームワークがその部分の開発を軽減してくれますが、今回はBackbone.jsをとりあげます。
Backbone.jsは、データのやりとり(更新、整形、チェックなど)の部分のみにフォーカスしたフレームワークです。
見た目(view)の部分はjQueryに頼む、と公式サイトに潔く書かれています。
そこでこの本サイトは見た目の部分がテーマなので、Backbone.jsとjQueryの関係がわかるサンプルを書こうと思います。
<script type="text/javascript" src="/js/backbone/underscore-min.js"></script>
<script type="text/javascript" src="/js/jquery/jquery-2.1.0.min.js"></script>
<script type="text/javascript" src="/js/backbone/backbone-min.js"></script>
まず、上記のように読み込みが必要で、順番も重要です。
BackboneはUnderscore.jsというライブラリに依存しているので、事前に必須で、jQueryをbackboneのルールで書くので、上記の順番でないとエラーになりました。
次にこんなサンプルを用意します。
<script>
$(function() {
    var demoView = Backbone.View.extend({
        tagName: 'span', //これを省略するとdivがデフォルト
        className: 'demo_text',
        initialize: function() {
            console.log('初期化する処理');
        },
        events: {
            "click .demo_btn":"changeColor",
        },
        render: function() {
            this.$el.text('Backbone.jsでViewを使おう');
            this.$el.append('<div class="demo_btn">ボタン</div>');
            return this;
        },
        changeColor: function() {
            $('#demo_body span').css('color', 'red');
            console.log('色を変えました');
        },
    });
    //インスタンスを生成
    var myItem = new demoView();
    $('#demo_body').append(myItem.render().el);
});
</script>
<div id="demo_body"></div>
上記はspanタグを生成するサンプルで、それに少し機能を持たせています。
jQueryがわかるとなんとなく理解しやすく、そして見知らぬ単語も見つかると思います。
