http://connpass.com/event/6910/ で発表した資料です。 http://ofsilvers.hatenablog.com/entry/ten1club-1 でブログ書いてるよ。
だいぶ前に書いた Backbone.js の入門記事で Backbone.Router を使ったサンプルを紹介した。 作って覚える Backbone.js (2) Router 編 - present Router が表示する View を切り替える良い方法が思いつかなかったので、サンプルではメイン View をグローバル変数に格納して Router から触れるようにし、無理やり切り替えていた。今見ても、全然スマートな方法じゃないね。 あれから試行錯誤しながら、何個か Backbone.js を使ってアプリを作成してみて、ようやく自分の中で Backbone.Router の使い方が固まった。以前書いたサンプルを修正したのがこちら。 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>Backbone
Backbone.jsとは? Backbone.jsは、JavaScriptによる大規模なアプリケーション開発を行う際に力を発揮するMVCフレームワークです。データバインディングとカスタムイベントを備えたModel、配列情報を表すCollection、イベントをハンドリングするView、サーバーサイドのアプリケーションと連携するためのRESTful JSONなどをフレームワークとして備えています。 大規模な業務アプリケーションのユーザーインタフェースをJavaScriptでゴリゴリと作ろうとした場合、100%に近い確率で失敗するかと思います。これは、Flexのようなビルド時のコンパイラエラーを検出できないこと、存在するフレームワークがインタラクションやビジュアルに特化していること、ブラウザーやOSの組合せでAPIレベルの仕様が異なる事、同じブラウザーでもバージョンの違いにより挙動が異なる事
Mackbone.Modelの派生クラスは、デフォルトでAjaxによるサーバとの連携ができる。 前のエントリでも書いたのだけど、fetch(), save(), destory() の3つのメソッドを使う。 この3つのメソッドから、Backbone.sync()が呼ばれ、$.ajax()用にオプション処理するが、この中ではサーバー側アプリケーションの要件に応じて、Backbone.emulateHTTP、Backbone.emulateJSON というフラグを活用し、古い実装でのアプリケーションにも対応しやすくする様子。 Modelに実装される、サーバー連携用メソッドは3つ。 model.fetch() サーバーから読む。model.save() サーバーに書き込む。model.destroy() サーバーから削除する。 この3つは、Modelの派生クラスにsync() を実装した場合はそ
モバイル版 Basecamp に使われていると聞いて興味を抱いていた、JavaScript の MVC フレームワーク Backbone.js。Model と View は先日試しました。 作って覚える Backbone.js - present でも、Controller はまだ。「今度試す」といってやらないことが多い私ですけど、Controller は自分も使うので、ちゃんと行動に移すことにします。 Backbone では Controller の役割は Backbone.Router を継承したクラスが行います。Routerの定義の仕方はこんな感じ。 var AppRouter = Backbone.Router.extend({ routes: { "post/": "list", "post/:id": "show" }, list: function() { # データ一覧を表
events とか default とは何か Backbone.js のクラス定義において、特殊なパラメーターがいくつか存在している。たとえば events や defaults は、 Backbone.js のチュートリアル的文書ではまっさきに触れられている特殊なパラメーターだ。 例えば、 defaults は Model の特殊パラメーターで、指定しておくことでクラスをインスタンス化した際に、デフォルトの値として使われるようになる。 var Person = Backbone.Model.extend({ defaults: { name: 'John Doe', age: 25 } }); var person = new Person({ age: 100 }); person.get('name'); // 'John Doe' person.get('age'); // 100
Backbone.js を試したから Knockout.js にも挑戦 JavaScript のクライアント MVC フレームワークは Backbone.js でいこうと思っていたんですが、Knockout.js が Ver 2.0 でかなり機能追加されて、ちょっと心変わり。もともと Knockout.js のデータバインディング機能に興味を持っていたところに、テンプレート機能が追加されて、試してみたくなりました。 念のため説明すると、Knockout.js は、.NET 開発者にはお馴染みの、データバインディングや MVVM パターンが特徴のフレームワークです。 Knockout : Home ちなみに、Backbone.js の記事はこちら。 作って覚える Backbone.js - present 作って覚える Backbone.js (2) Router 編 - present T
jQuery だけでサイトを作っているとちょっと規模が大きくなると見え辛くなってくるので Backbone.js を使おうと思い情報収集している。 以下自分の為のリンク集。 オフィシャルサイトのドキュメント http://documentcloud.github.com/backbone/ チュートリアル オフィシャルの ToDo アプリケーション http://documentcloud.github.com/backbone/docs/todos.html 上記の ToDo だと最初の一歩としては複雑すぎる。 こっちの方が分かりやすかった。 Hello Backbonejs – Artur Adib 日本語は Qiita のアドベントカレンダーが分かりやすい。 Backbone.js Advent Calendar 2011 - Qiita WebSocket というか SocketI
Backbone.js Introduction Events – bind – unbind – trigger Model – extend – constructor / initialize – get – set – unset – id – cid – attributes - toJSON – save – destroy – validate – url – clone – isNew – change – hasChanged – changedAttributes – previous – previousAttributes Collection – extend – constructor / initialize – models – Underscore Methods (24) – add – remove – get – getByCid – at – le
URLYou can post either your article on Qiita or your blog post. About reserved postingIf you register a secret article by the day before the same day, it will be automatically published around 7:00 on the same day. About posting periodOnly articles submitted after November 1 of the year can be registered. (Secret articles can be registered anytime articles are posted.)
はじめに Backbone.js を使って UI を実装しているけど、モデルやビューが増えてきた。1ファイルに収めるには多いんで、ファイルを分割して実装し、最終的には結合したい。 そこで、RequireJS を使ってモデルやビューをモジュールにして、ファイルを分割しつつ開発できるようにしてみる。 RequireJS とは RequireJS は JavaScript のファイルやモジュールを非同期でロードできる JavaScript ライブラリ。 RequireJS 最適化機能もあり、公開時はモジュールをひとまとめにできる。 RequireJS と Backbone.js を組み合わせてみる 以前作った TODO アプリのサンプルで練習してみる。モデルとビューとテンプレートを1ファイルに記述していたので、それを別ファイルに分割する。 ディレクトリ構成 RequireJS の導入でディレクト
Backbone's only hard dependency is Underscore.js ( >= 1.8.3). For RESTful persistence and DOM manipulation with Backbone.View, include jQuery ( >= 1.11.0). (Mimics of the Underscore and jQuery APIs, such as Lodash and Zepto, will also tend to work, with varying degrees of compatibility.) Getting Started When working on a web application that involves a lot of JavaScript, one of the first things yo
はいどうも~。Japanese Schoolgirlsが好きなエンジニアの吉田です。 以前「jQuery.tmpl() で HTML の View と Model を分離してみるよ」という 記事を書きましたが、引き続きJavaScriptによるMVCシリーズ第二弾! 今回は、Backbone.jsでViewとModelを分離させてみるという試みです。 ここ最近、JavaScriptのMVCライブラリだと「JavaScriptMVC」や「Knockout.js」 「Backbone.js」などがぼちぼちと知名度を挙げてきているような印象です。 (※注)正確にはKnockout.jsはMVCではなくMVVM(Model-View-ViewModel)ですね。 そんな中SoundCloudなどでも使用されているBackbone.jsがとても気になって いたので、どのような感じで利用できるのか試し
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く