本文へスキップ
BecomeCoder
ブログ一覧コース一覧

ReactとAngularどっちがいい?初心者向けに違いを比較

#React#Angular#比較#フロントエンド#学習ロードマップ

結論:JavaScriptの延長線上で気軽に始めたいならReact、最初からTypeScriptと構造がセットで用意された「型と規約に守られた開発」を体験したいならAngular。どちらもブラウザ内で無料で動かせるので、まずは両方の最初のレッスンだけ触って手触りを比べるのが一番早いです。

「React Angular どっち」で検索する人の多くは、フロントエンドの入門をこれから決めるところだと思います。どちらも実在するブラウザ実行つきの無料コースがあるので、ここでは特徴・学習コスト・用途の3点で整理します。

React と Angular はそもそも何が違うのか

一言でいうと、React は「UIを組み立てるためのライブラリ」、Angular は「アプリ全体を作るためのフレームワーク」です。

同じ「1 + 2 = {1 + 2}」のような値の埋め込みでも、Reactは波かっこ1つ { }JSXに値を埋め込む)、Angularは波かっこ2つ {{ }}テンプレートに値を出す ― 補間 {{ }})と書き方が違います。この最初の1行の差が、そのままそれぞれの設計思想の違いを表しています。

学習コストの違い

Reactは「JavaScriptの知識をそのまま使える」ことが強みです。 JSXは覚えることが少なく、useState で状態を持つ(useStateで状態を持つ ― カウンター)、map で一覧を作る(リストを描画する ― map)のように、素のJavaScriptの延長で書けます。まずは JavaScriptコースconsole.log配列・関数に慣れてから React に進むと、つまずきが少なくなります。

Angularは最初にTypeScriptと独自の構文をまとめて覚える必要があります。 [ ](プロパティバインディング)と ( )(イベントバインディング)の書き分け(プロパティバインディング ― [ ]イベントバインディング ― ( ))、@Input/@Output での親子連携(@Input で親から子へ渡す@Output で子から親へ知らせる)など、覚える語彙が最初から多めです。その代わり、型の恩恵で「何がどこから来るデータか」が構造として見えやすくなります。先にTypeScriptの型注釈に慣れておきたい人は TypeScriptコース の入り口である 型注釈 ― 変数に型をつける から始めるとスムーズです。

コースの実行範囲で比べると、Reactコース は全14レッスン中13レッスン(第1〜13回)がブラウザでそのまま実行でき、最後の1回(これからのReact ― エコシステム)だけが実務ツールの紹介の読み物です。Angularコース も全12レッスン中11レッスン(第1〜11回)がブラウザ実行で、最後の1回(これからのAngular ― 実務への橋渡し)が読み物という同じ構成になっています。どちらも登録不要・環境構築なしで、いますぐコードを書いて結果を確認できます。

用途で選ぶならどっち

どちらが「優れている」ということはなく、Reactは自由度、Angularは規約という違う方向性の道具です。迷ったら、まずJavaScriptの感覚が生きるReactから触ってみて、型に守られた開発をもっと知りたくなったらAngular(とTypeScript)に進む、という順序が挫折しにくいです。

つまずきやすいところ

Reactでつまずきやすいのは、JSXの中に素のJavaScript式しか書けないルール(if 文はそのまま書けず、三項演算子&& を使う必要がある)や、useEffect の依存配列の扱いです。条件で表示を変えるuseEffectで副作用を書くでこの感覚をつかめます。それでもコードが動かないときは、undefined のプロパティを読もうとするエラーなど、JavaScript自体のランタイムエラーであることも多いので、JavaScriptのエラー逆引きを確認してみてください。

Angularでつまずきやすいのは、*ngIf*ngFor を使うために imports: [CommonModule] の登録が必要な点(条件と繰り返し ― *ngIf と *ngFor)や、TypeScriptの型エラーです。「宣言した型と違う値を代入した」といったエラーは、TypeScriptのエラー逆引きによくあるパターンと直し方がまとまっています。

次に読む

← ブログ一覧に戻る