Backbone.jsはJavaScriptに活用されるオープンソースのWebアプリケーションフレームワークです。シンプルで柔軟という特徴を持ち、JavaScriptを習得した後に初心者でも触れやすいフレームワークとして人気を集めております。この記事ではBackbone.jsを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説していきます。
Backbone.jsとはJavaScriptに活用されるジェレミー・アシュケナス(Jeremy Ashkenas)氏によって開発されたオープンソースのWebアプリケーションフレームワークです。2010年10月に誕生し、その他フレームワークと違って双方向バインディングなどの機能は持ち合わせておらず、画面周りの動作を実装する場合には他のフレームワークとの併用を必要とします。その名の通りMVCに基づいて骨組みを提供するフレームワークとなっております。
JavaScriptとはネットスケープコミュニケーションズ社によって1995年に誕生したプログラミング言語の一種でその中でもオブジェクト指向スクリプト言語に区分されます。主な目的として動的な機能をWebページに生成するためのプログラミング言語として開発されました。Webサイト、Webアプリ、ゲームなど様々な用途に活用できるため注目を集めております。名称にJavaが含まれるためJavaの仲間と誤解を生むこともありますがJavaScriptは全く異なるプログラム言語です。開発当時サン・マイクロシステムズ社が開発したプログラミング言語『Java』が大きな注目を集めていたことや同社との業務提携を行った背景もありJavaにちなんだ名称が付けられました。
JavaScriptのメリット・基礎知識について解説された記事はこちら>>
『JavaScriptにおけるシステム開発を簡単に行えるように用意された枠組みのこと』
JavaScriptフレームワークとはJavaScriptにおけるシステム開発のプログラミングを効率的に実施するために汎用的な機能群をまとめ、システムの骨組みとなるテンプレートまで用意してくれる枠組みのことです。フレームワークを活用することでプログラミングにおける記述コードを最小限に抑えることが出来ます。JavaScriptフレームワークの代表的な種類としてjQuery、Angular、Vue.jsなどが挙げられます。
JavaScriptフレームワーク人気どころ6選ついて解説された記事はこちら>>
Backbone.jsの読み方は『バックボーンジェイエス』です。エンジニア界隈では「Backbone(バックボーン)」と略称して呼ぶことも多いようです。名前の由来については明かされておりませんでした。SPAを最初に取り入れたフレームワークとして後に登場するJavaScriptフレームワークに大きく影響を与えています。
Backbone.jsはジェレミー・アシュケナス氏によって開発されたインターフェースとアプリケーションデザインパラダイムに基づいたJavaScriptライブラリとして2010年にリリースされました。Backbone.jsは2010年の初回リリースからバージョンアップの度に細かなドキュメントを公式サイトに記録しておりとても親切に情報提供を行っている点でもユーザーから愛されております。簡単に以下の年表にまとめておりますのでご覧ください。
年代 | 内容 |
2013年 | Backbone.js 1.0.0 リリース ・コレクションの「update」の名前を「set」に変更 |
2013年 | ・初版リリース ・オープンソース化 |
2015年 | Backbone.js 1.2.0 リリース ・ビューに新しいフックを追加して、jQueryなしで機能できるように |
2016年 | Backbone.js 1.3.3 リリース |
2019年 | Backbone.js 1.4.0 リリース ・コレクションがJavascriptIteratorProtocolをサポートするように |
Backbone.jsの特徴を見ていきましょう。
Backbone.jsはシンプルで柔軟という特徴があります。フレームワークという感覚よりもライブラリ感覚で使えるほどのシンプルさで、なおかつ他のライブラリとの併用が可能です。バインてティング昨日のような高度な機能がない分、開発者が自由に細かい制御を行えます。
Backbone.jsはRESTfulAPIと同期するように事前構成されているという特徴があります。リソースエンドポイントのURLを使用して新しいコレクションを作成するだけと簡単です。
Backbone.jsは、JavaScriptプログラムをModel(モデル)、View(ビュー)、Controller(コントローラ)の3つの役割に分けて記述するように設計されているという特徴があります。公式サイトにも記載の通りBackbone.jsが支援できる最も重要なことは、ビジネスロジックをユーザーインターフェイスから分離しておくことです。2つが絡み合っていると、変化は困難となります。ロジックがUIに依存しない場合、インターフェイスの操作が簡単になります。
Backbone.js以外のJavaScriptによるシステム開発に用いられる代表的なフレームワークを紹介させていただきます。
jQueryとはJavaScriptに活用されるジョン・レシグ(John Resig)氏によって開発されたクライアントサイドスクリプトを簡易化するためのライブラリです。2006年8月に誕生し、基本理念を『write less, do more(少ない記述で、もっと多くのことをする)』を掲げております。特徴として非常に簡単でかつ少ない記述でHTMLとCSSを操作することができます。またjQueryを利用する世界中の方々が様々なプラグインの作成を行っていることから拡張性が高いことも特徴として挙げられます。jQueryはJavaScirptの発展に大きく影響を与えたライブラリと言えるでしょう。
Vue.jsとはJavaScriptに活用されるエヴァン・ユー(Evan You)氏によって開発されたオープンソースのオブジェクト指向Webアプリケーションフレームワークです。2014年2月に誕生し、GoogleにてAngularJSを使用した開発に携わっていたエヴァン・ユー氏がAngularJSをモデルに本当に好きな部分だけを抽出してVue.jsの作成を行ったという経緯があります。特徴として、
スクリプトタグを一行書くのみで使い始めることが出来る手軽さやAngularJSと比較して規模が小さい分学習コストが低いなどが挙げられます。
AngularJSとはJavaScriptに活用されるGoogle社によって開発されたオープンソースWebアプリケーションフレームワークです。2009年に誕生し、ミシュコ・へブリー(
Mishko Hebley)氏とアダム・アブロンズ(Adam Ablons)氏が主軸となって開発がなされました。特徴としてフルスタックなフレームワークと呼び声が高く、AngularJSが用意する機能を全て使いこなすことができればその他の技術は不要と言えるほど多機能で充実しております。AngularJSとAngularJS2が存在し、AngularJS2についてはGoogle社とマイクロソフト社の協力の下で作成されました。
Backbone.jsを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説させていただきました。Backbone.jsを一言で表すと『SPAを最初に取り入れたJavaScriptフレームワーク』です。特徴として「シンプルで柔軟」「API統合」「ModelとView」などが挙げられます。Backbone.jsについてこの記事に書かれている最低限の内容は理解をしておくようにしましょう。