メインコンテンツまでスキップ

Fluent React

1. 入口レベルの話

この本は、エンドユーザー視点でReactの使い方を学ぶためのものではなく、 ライブラリ作者の視点でReactの仕組みを学ぶために書かれている。

現代的なUXには、高度かつ頻繁な更新が必要である。 Reactがなぜ人気かというと、UIの「更新」をうまく扱えるからである。

従来の方法では、更新にまつわるパフォーマンス、一貫性、セキュリティに限界があった。

  • jQuery
    • Side effectful
    • 重い
    • Polyfill多すぎて冗長
    • パフォーマンス悪い
  • Backbone
    • 状態管理が煩雑
    • MVCが密結合
    • ボイラープレートが多い
    • Composabilityの欠如
  • KnockoutJS
    • ReactiveにUIを更新できる初めてのライブラリ
    • MVVM pattern / ViewModelが間に入る / ViewとVMは2way-binded / ViewはPassive
    • MとVの疎結合性や、テスト容易性を担保できる
    • ボイラープレートが多い
    • VMが肥大化して破綻しがち
  • AngularJS
    • パフォーマンスが悪化しがち
    • FWそのものがやや複雑
    • テンプレート構文の管理性が悪い
    • 型安全性の欠如
    • $scopeの理解しにくさ
    • 開発ツールの少なさ

Reactは従前のライブラリと比べて以下の点で優れていた。

  • 宣言的にUIが書ける
  • vDOMによりパフォーマンスがよい
  • コンポーネントにより管理性や構成性がよい
  • Immutabilityによりパフォーマンスや安全性が高い
  • プラットフォームを選ばない
  • 豊富な開発支援ツール