Backbone.jsという、中〜大規模なWebアプリ構築のためのJavaScriptのライブラリを解説します。その機能、使いどころ、Backbone.jsを用いたアプリケーション設計方法が理解できます。

Backbone.jsという、中〜大規模なWebアプリ構築のためのJavaScriptのライブラリを解説します。その機能、使いどころ、Backbone.jsを用いたアプリケーション設計方法が理解できます。
かって、JavaScriptのテンプレートとしてjquery.tmpl.jsが存在した。 jQuery公式サイトにものっていたが、現在はメンテナンスされておらず、公式から削除された。 https://github.com/BorisMoore/jquery-tmpl しかしながら、同じ作者のJsRender、JsViewsといわれるライブラリが後継として存在している。 このドキュメントでは JsRender, JsViewsについての解説を行う。 http://www.jsviews.com/ JsRender JsRenderはDOMやjQueryの依存関係なしで、軽量でありながら強力で拡張可能なテンプレートエンジンである。 JsRenderは以下からダウンロードすることが可能だ。 http://www.jsviews.com/#download 実装のサンプルとJsRenderの機能
それぞれ、このシリーズの後続の回で詳しく触れていきますが、Application、AppRouter、ControllerはViewやModelの間を取り持つ機能を担っています。ItemView、CollecttonView、CompositeView、Region、Layoutはそれぞれ異なった役割で、View周りのコーディングに役立つ機能を持っています。 Marionette.jsにできること Marionette.jsから得られる恩恵は大小さまざまで、細かいものを挙げていくときりがないほどですが、大きなものを挙げるとすれば、次のような点があります。 モジュール化のサポート 開発者が書かなければならないコード量の減少 機能の部分的な利用 モジュール化のサポート Marionette.jsの機能の中で大きなものとして、モジュール化のサポートがあります。モジュール化というのは、ある機能を表
MVC と言えば Apache Struts をはじめとするサーバサイド・フレームワークを想像しますが、 今回は JavaScript による大規模開発の際に採用されるクライアントサイド MVC フレームワーク「Backbone.js」の使い方についてまとめてみました。 (厳密にはクライアントサイドの場合、MVC とは呼ばず MVVM とか MV* とか呼ばれてるようです。) 前提 Backbone.js の構成を簡単に言ってしまうと 単一データの管理を行うモデル 複数件のモデルの管理を行うコレクション 画面の管理を行うビュー の3つの主要モジュールを軸に構成されており、Underscore.js、jQuery(Zepto)に依存するかたちで動作するようになっています。 利用の際は、underscore.js、jquery.js、backbone.js の順で読み込みます。 //cdnjs
Help us understand the problem. What is going on with this article? この記事は「Gunosy Advent Calendar 2014」の21日目の記事です。 Gunosyの広告配信チームでJavascriptおじさんをやってるaitaです。 最近Gunosyに入社しました。フロントエンドエンジニアではない。 今年はMarionette.jsをいろんなとこで使ってたので、Marionette.jsの紹介します。 Marionette.jsの各コンポーネントについては、 ドキュメントとソース読むのが一番だと思うので書きません。 何故、Marionette.jsを使うのか AngularJS使いたくないからというのは半分冗談です。 僕がMarionette.jsを使い始めた理由は、Backbone.jsがもともと採用事例があっ
Enterキーでフォームを送信したくない時は あるWebアプリケーションのフォームで、Enterキーを押してもSubmitされない様にする必要があって、ちょっと調べた。 リターン(Enterキー)でフォームを送信しない方法: 小粋空間 とりあえずこの記事の「4.押されたキーを判定して抑止する」の所に書いてある方法で対応出来た。 Enterキーで次のフィールドにフォーカスを移動するには 次に、どうせならEnterキーで次のフィールドにフォーカスを自動で移動させたいな~、という事になった。やってみたら、jQueryのおかげでこんな感じで割りと簡単に出来た。 Enterキーが押された時にfalseを返すのではなくて e.preventDefault() を使う様に変えた。その理由はこちらを参照。 Shift+Enterキーにも対応するには さらについでにShift+Enterキーでの逆順の移動に
この一か月分の学習成果を整理したリポジトリを作ったので、その成果についてまとめておく。 作ったサンプルプロジェクトだけを手軽に欲しければ、このリポジトリを clone してほしい。 taichi/js-boilerplate master ブランチには、ミニマムな JavaScript 開発環境がサンプルコード付きで入っている frontend ブランチには、React/Redux/webpackなウェブアプリケーション用の開発環境が入っている デフォルトブランチにしてある electron ブランチには、frontend ブランチの内容に加えてElectronでアプリケーションを開発するための環境が入っている はじめに 最近の JavaScript について 僕は仕事として JavaScript を書いている訳ではないけども、この半年くらいの間にちょっとしたツールならいくつか作った。
今話題のReact.jsはどのようなWebアプリケーションに適しているか? Introduction To React─ Frontrend Conference 外村 和仁(株式会社 ピクセルグリッド) 本記事は、2015/2/21に行われたFrontrend Conferenceの「Introduction To React」の内容を紹介します。 当日の資料は以下にアップされていますので、こちらも参照してください。 Introduction To React // Speaker Deck React.jsとは何か React.jsはFacebook製のJavaScriptライブラリです。 http://facebook.github.io/react/ 公式サイトに、「A JavaScript library for building user interfaces」とあるように、R
いまさらですがReact(react.js)をはじめてみました。 Virtual DOMばかりが話題にあがるReactですが、それにとらわれていると理解が進まない、と言うかReactで理解しなければならないのはVirtual DOMではないことがわかりました。 Reactについての良い資料はすでにたくさんありますので、末尾に参考資料としてあげています。 このエントリは自分がReactのチュートリアルをなぞりながら書いた自分用のメモですが「1エントリで概要をちゃちゃっと理解したい」という方に役に立ったら良いな、とも思っています。 Reactチュートリアル http://facebook.github.io/react/docs/tutorial.html 基本 JavaScriptで書かれたライブラリ。react.jsをインクルードして使う。 (MVCで言うところの)Viewのみを担当する。
フロントエンド周りの技術は驚異的なスピードで進化し、また多様化しています。それらを全てマスターするのは途方もなく大変なので、ペパボでは、社内のエンジニア・デザイナが「最低限これだけはおさえておこう」というスタンダードを文書化することにいたしました。社内向けを想定した文書ではありますが、社内のみに留めず多くの方に役立てたいと考えたため公開します。 この項目の担当 @hadashiA どうしてフレームワークを使う? (1) ドメインロジックとプレゼンテーションの分離 (2) SPA(シングルページアプリケーション) 流行り廃り (1) MVC (2) MVVM (3) Virtual DOM どれを使う? どうしてフレームワークを使う? (1) ドメインロジックとプレゼンテーションの分離 まずこちらの画面を見てください。 ©任天堂 スーパーマリオワールド スーパーマリオが右にダッシュすると、マ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? JavaScriptにはむしろもっと抽象化がもたらされるべき - Qiitaという記事で、もう少し踏み込んだ話を書いてみました。 某所でReact.js界隈の人に聞きたいというフレームが発生したのだが、はてなブックマークでコメントしたらIDコールされたので、反論をここに書くことにした。(最近は技術系記事はQiitaにしか書いてないので)。 あくまで僕が考えるなので、JavaScript界の人達が本当はどう思っているかはわからない。そもそもJavaScriptを本格的にさわり始めたのごく最近なので、JavaScript界では異端かもしれな
(English article is here.) こんにちは、吉岡([twitter:@yoshiokatsuneo])です。 ウェブ開発に欠かせないJavaScriptフレームワークですが、日々発展しておりReact.js, Ractive.js, Aurelia.js, AngularJS2.0など次々と新しいフレームワークが出てきています。 一体どれを使えばいいのか?何が違うのか?何から調べていいのか迷うことがあります。 そこで、現時点で事実上全てとなる、9大主要フレームワークについて、実際に使ってみて比較を行います。 Backbone.js Ember.js Knockout.js AngularJS(1.x) React.js Ractive.js vue.js Aurelia.js AngularJS2.0(アルファ版) これらのフレームワークでは、以下のような機能が実現さ
Javascriptでのオブジェクト定義方法として、prototypeチェーンを使うのが一般的。 多少の変形があるが、おおよそは下記のような構造での継承の仕組みをCoffeeScriptのようなトランスレータやPrototype.js, jQueryのようなフレームワークなどでも使用している (CoffeeScriptなどでは直接規定オブジェクトのインスタンスを生成せず、継承の実現方法にいわゆる「extend」関数を使っているはず) コンストラクタ関数を定義 継承にて基底オブジェクトとして使用する場合、引数0個でのオブジェクト生成できるようにするのがよさそう ECMAScript 5th対応であれば、Object.create(MyObject.prorotype)でもよい。 (派生オブジェクトを作る場合) prototypeプロパティに基底オブジェクトのインスタンスを作成し、設定する。
EvalError と SyntaxError の違いが分からなかったのですが、何となく ↓ のような切り分けなんだろうと勝手に推測しています。 EvalError → eval 実行時に発生したエラーを表す例外オブジェクト SyntaxError → (eval に限らず)全体的に不適切な構文が存在した場合に使用する例外オブジェクト 他の言語と同様に JavaScript でも独自の例外オブジェクトを定義できますが、まずはこれらのオブジェクトで事が足りるのかを検討するのがいいかなと思います。 2. Error オブジェクトを継承した独自例外オブジェクトの作成方法 定義されている例外では要件を満たせない場合は独自の例外オブジェクトを定義します。 次は Error オブジェクトを継承した例外オブジェクトの定義です。 「入力された文字列の書式が不適切な場合に使用する」というサンプルの例外オブジ
先日から、Adobe提供の無料開発エディター「Brackets」を使っています。 僕はこれまで、Wordpressテーマの開発などは「恋に落ちるエディター」のキャッチフレーズでおなじみのSublime Text 3を利用してきました。Sublime Textは、そのキャッチフレーズ通りの素晴らしいエディターです。 けれど、初めてBracketsをインストールして少し使ってみた瞬間から、「これは!」と、Sublime Textを初めて使った時と負けないぐらいの衝撃を受けました。 Bracketsも、Sublime Textと同様拡張で様々な機能を追加できるようになっています。けれどまず今回はデフォルト機能だけで気に入った部分を紹介したいと思います。 Bracketsとは Bracketsは、HTML、CSS、JavaScriptで開発されているオープンソースコードエディターです。Window
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く