Trend of JavaScript Architecture
jQuery から Backbone.js、
そしてその先へ。
jQuery
- DOM の煩雑な API 仕様を簡略化
- UA 間の非互換性への polyfill を提供
- JavaScript のベストプラクティス
最大限ラクしてどこでも動くコードが書ける
- 構造化の方法は未提供
"単語は提供するけど、文法は自分で考えてね"
Backbone.js
- 構造化の手段を提供
- 見通しの良いコードを書ける仕組み
- "do one thing and do it well" の実現
- 保守性の向上が期待できる
jQuery が提供しないレイヤーの提供
"文法を用意するから、
jQuery の単語で自由に文章を書いてね"
Perfect?
共通の
- ワード
-
グラマー
他に必要なもの...?
Vocaburary!
いくら単語と文法を用意しても、
コミュニケーションをする者同士が
コンテキストを共有出来ないと
意味がない
Tons
of
vocabulary
プログラマが共有する語彙は沢山ある
Especially,
for
JavaScript-ers
たぶん特に JSers に必要な語彙は...
Decoupling
疎結合
別に JSers に限らずだけど。
-
JavaScript は密結合しやすい言語
- ただ書いていくと変更出来ないコードに
- でも機能追加変更は割とカジュアルに発生する業界
Love
Death-March, or protect
yourself
Solution?
Bacon.js
"A small functional reactive programming lib for JavaScript."
Decoupling
疎結合を実現するキーワード
- Declarative
- Stateless
- Asynchronous
- Compositional
Declarative
宣言的な定義...
「名は体を表す」ように、
function の役割を "do one thing and do it well" に。
Stateless
国境のない... ではなく、
前後関係に依存しない、
状態に依存しないコードの実現。
Asynchronous
もちろん、
非同期処理も。
Compositional
Observer pattern では解決出来ない、
様々な状態の複合的条件の組み合わせを、
一つのオブジェクトから参照可能にする魔法。
Functional Reactive Programming
Bacon.js の提供するパラダイムの総称。
略して FRP
Trend moves
Backbone.js による構造化の流行の先にあるのは、
Functional Reactive Programming による
複雑な問題の解決だ (キリッ
More
trend of javascript architecture
By Yu I.
trend of javascript architecture
- 674