読者です 読者をやめる 読者になる 読者になる

プログラマーな日々

プログラマー兼SEです。好きな習慣:TDD、好きなツール:WorkFlowy、好きな言語:C#、好きなAWSのサービス:Data Pipeline。趣味は開発環境を改善することです。

わんくま同盟 東京勉強会 #89に行ってきた(その2 Knockout.jsの利用とカスタムバインディングの利用 by 池原大然さん)

イベント Knockoutjs

f:id:JHashimoto:20140409044240j:plain

4/5に、わんくま同盟 東京勉強会 #89に行ってきました。

わんくま同盟
わんくま同盟 東京勉強会 #89

 

全4回に分けて、セッションの内容を紹介します。今回は第2回です。

2つ目のセッションは、池原大然さんの「Knockout.jsの利用とカスタムバインディングの利用」でした。

Knockout.jsの概要

  • キーコンセプト
    • 宣言型バインディング
    • 自動UI更新
    • 依存関係のトラッキング
    • テンプレート機能

バインディング

  • HTML要素に対しては非常に有用
  • Observable/ObservableArray
    • ko.obserbable
      • シングルプロパティ用
    • ko.observavleArray
      • 配列

カスタムバインディング

  • Jsライブラリを使ったUI要素には単純にバインディングできない
    • 例:jQuery UI ProgresBar
    • 独自のバインディングを構築することで、コントロールに手を入れずにKnockout.jsに対応可能
    • 考えられるシナリオ
      • 複数の値を渡したい
        • 例:ProgressBarにvalueとmaxを渡したい
          • ProgressBarの初期化値と同じ形式にしておく
  • 使用しているライブラリがkoに対応していない場合は、カスタムバインディングを自分で作成することで対応可能

IgniteUI

  • インフラジスティクスが提供するリッチなWebUIコントロール
  • いくつかのコントロールで一部のプロパティはKnockout.jsに対応

まとめ

  • 画面実装者は楽ができる
  • 共通部品部隊、標準化部隊は大変かもしれない
    • ベンダーが対応できない、しないときなど

リンク

第1回のリンクです。

わんくま同盟 東京勉強会 #89に行ってきた(その1 MonoGame で作る C# ゲームプログラミング!) - プログラマーな日々

 

第3回のリンクです。

わんくま同盟 東京勉強会 #89に行ってきた(その3 async/awaitの基本 by 荒井省三さん) - プログラマーな日々

 

第4回のリンクです。

わんくま同盟 東京勉強会 #89に行ってきた(その4 Dynamics CRM Online を使ってみよう by えムナウさん) - プログラマーな日々