Help us understand the problem. What is going on with this article?

TechFeed Live#2 「React vs Angular2」覚書

More than 3 years have passed since last update.

TechFeed Live#2 「React vs Angular2」に参加登録したところ、定員オーバーによる抽選落ちからのキャンセル待ち繰り上がりで参加できたので、自分がうといWeb系技術の勉強がてら拝聴してまいりました。RC版のライブラリをものともせずガッツリと使い込んでいらっしゃる方々のアツいトークの中、初めて聞く単語をググりながら何とか自分なりに情報を拾えるだけ拾ってきました。

以下、覚書です。不勉強なため、間違い(解釈違い)な点もあると思いますが。。。

React

  • Viewのライブラリ
  • 状態・イベントの管理をするデザインパターンがある(オブザーバルパターン、Flux, Redux)
    • これを組み合わせてもAngularエコシステム規模にはならない(足りない)
  • 初期学習コストが高い
    • 中級者になるまでの敷居が高い
  • Javascript上級者が好む
    • 好きにライブラリを組み合わせられる

Angular2

  • "One Framework"、フルスタック
  • RxJSとの組み合わせもあり?
  • DI機能あり。ReactにはDIの考え方はない
    • Angular2をReduxと組み合わせるとこの旨味がなくなる
    • テストしやすい設計
  • RCがRCじゃない。。。
    • RC4 > RC5 > RC6, とAPIの変更が激しい
    • 早ければ今月末にFinallyが出る
  • minify前提(サイズが大きい)

比較観点から

開発言語

  • ReactはJSXがないとつらい
  • Angular2はTypeScript, ReactはBabel、というすみ分けはできている感じがする
    • 開発者の慣れ、FW開発言語など
  • どちらもDOMを直接いじらない
  • React, Angular2問わず、開発規模が大きければTypeScriptが便利(静的型)。
    • Javascriptを生で書くことはない。何らかのコンパイルは必須。

ビルドツール

  • webpack,...
  • どちらも違いはない

ルーティング

  • Angular2のルーティング機能はよくできてきた
    • ここ2-3ヶ月くらいの話。その前はひどかった
  • 現状、汎用ルーティングライブラリのデファクトスタンダードというものがない

テンプレート

  • Angular2はhtml寄り。
  • ReactのJSXは文字列なのでコンパイル時チェックができない

XSS対策

  • Angular2の圧勝
    • ReactはURLを注入する場合など、開発者がちゃんとチェックする必要あり
    • Angular2は厳しいほどチェックしてくれる

ツール

  • WebStorm(IDE)
    • React, Angular双方に力を入れている
      • 固有記法のシンタックスハイライトなど

テスト

  • Angularはテストフレームワークが内包されている
  • Reactはコンポーネントに状態を持たせないスタイルなのでテストしやすい
    • コンポーネントが関数ベース
    • DOMを管理するでかいシングルトンオブジェクトがある
    • Angularはコンポーネントにステートを持たせる

パフォーマンス

  • Angular2になってからReactと同等の速度になった
    • Angular1は遅い。パフォーマンスが出ない場合はAngular1のせいにできた

サーバサイドレンダリング

  • どちらもパフォーマンスは変わらない?

その他

  • SWAGGER
    • RESTFul APIを記述するための仕様
    • yaml/jsonからコード生成
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away