Daisuke's TechBlog

日々の仕事で得た技術的なことを書いてきます

backbone.js使った時の覚え書き

先日業務でbackbone.jsを使ったのでその覚え書き。

前提

今回の業務の状況としてはこんな感じでした。

  • 開発終わりかけ
  • javascript
    • underscore.jsとかjQueryとか使って作られてる
    • 前任者が1人で作っててその人もういない
    • 結構複雑で、メンテしずらい(悲)
  • 自分
    • その現場入ったばかり

そこでリーダーからこんなお言葉が。
(リーダー)「コードわかりにくいから、backbone.jsとか使って作り直してよ〜」
(自分) 「は、はい。ちょっとやってみます。」(開発終わりかけなのにいいんだw)

リーダー曰く、大体の人は面倒くさがってやらないそうだ。
僕の場合、ちょうどそのあたりの話をrebuild.fmで聞いてたので、興味があったし、
勉強の時間もくれるというのでやる気になった。

フレームワークの選定

リーダーからbackbone.jsという言葉が出てきたので、ただそれに乗っかっても良かったが、
僕の聞いているポッドキャストのrebuild.fmではReact.jsが良いという話も聞いてたので、 フレームワークの選定から行うことにした。

backbone.jsとReact.jsの他にもいろいろあったよなーと思いつつ、とりあえずググると良い記事が。

paiza.hatenablog.com

選定という意味だとものすごく参考になる記事だと思う。

このサイトとか、他のサイトとかいろいろ見て回ったが、 backbone.jsかReact.jsのどちらかだなという結論に(結局w それぞれの所感を書いときます。

  • React.js
    • バーチャルDOM早そう!
    • rebuild.fmで紹介されてたから使ってみたい!
    • jsxってなんぞ。。 (javascript上にHTMLを埋め込むみたいな?テンプレに近い??)
  • backbone.js
    • underscore.js必要なんだ。あ、使ってるや。
    • MVCモデルを導入できる

他にもいろいろあった気がしますが、忘れましたw

まあこの2つを比較して選定したわけです。 以下の点で決めました。

  • 今回の対応は既にHTMLは存在していて、一部の機能の修正
    • jsxとかを用意するReact.jsには不向きかな?
  • 既にunderscore.jsを使っている
    • backbone.js導入の下地できてる!
  • リーダーが「backbone.jsとか使って」と言ってたし

(結局かよ!

backbone.jsについて

backbone.js使いましたが、全機能使ったわけではありません。
というか本流から外れた使い方しちゃったかも。。

以下のオブジェクトをextendして実装しました。

  • Model
  • View
  • Collection

まあこのあたり詳しくやってもいいですが、
backbone.jsについてはまだまだシロウトなので、
説明とかは詳しいサイトにお任せします。 選定の話長くなっちゃったし。
(タイトルにbackbone.js入ってるのに内容触れないという。。)

難しいところはbackbone.js以外のところであったりしたし。
それはまた別の機会に書こうかと思います。