React全盛の今、あえてAngularを学ぶ理由
「これから何を学ぶ?」と聞かれて、素直に「Angular」と答える人は、たぶん多くない。
数字を見れば理由は明白だ。
Stack Overflowの2025年調査では、
プロの開発者のReact使用率が44.7%なのに対し、
Angularは18.2%。新規プロジェクトに限れば
Reactのシェアは6〜7割という調査もある。
求人数も桁が違う。
スタートアップの資金調達の8割超がReact採用企業、
という話まである。
だから普通の結論はこうなる。
「迷ったらReactにしとけ」
実際、僕もこの結論自体は否定しない。
学習コストの低さ、コミュニティの大きさ、
案件の多さ。
最初の一本目として選ぶなら、Reactは妥当だ。
それでも僕は、Angularを学ぶ価値はむしろ今こそ上がっている、と思っている。
逆張りに聞こえるかもしれないが、
理由はわりと地味で実利的だ。
理由1:Angularは「死んでない」どころか作り直された
「Angularってオワコンでしょ?」というイメージを持っている人は、
たぶん2〜3年前で記憶が止まっている。
ここ数バージョンのAngularは、かなり大胆に作り変えられた。
NgModuleが必須だった時代は終わり、
standaloneコンポーネントがデフォルトになった。
そして一番大きいのが、Signalsという新しいリアクティビティの仕組みだ。
これまでのAngularは「Zoneベースの変更検知」という、ある意味おおざっぱな仕組みで画面更新を管理していた。
大きなコンポーネントツリーだと、
関係ないところまで再描画が走ることがあった。
Signalsは「どのデータがUIのどこに影響するか」
をピンポイントで追跡する仕組みで、
無駄な再描画を減らせる。
これはSolid.jsやPreactあたりが先に流行らせた考え方で、Angularがそこに合流してきた格好だ。
つまり今のAngularは、昔の「重くて冗長なAngular」とは別物になりつつある。
学び直す価値がある程度には、中身が変わっている。
理由2:「迷わなくていい」というのは想像以上に強い
Reactの最大の魅力は柔軟性だ。
だが、その柔軟性は裏を返すと、
「毎回決めなきゃいけない」ということでもある。
ルーティングは何を使う? 状態管理は、
Zustand? Redux Toolkit? Jotai?
フォームのライブラリは?
HTTPクライアントは?
プロジェクトを立ち上げるたびに、
この手の意思決定が発生する。
一人なら好みで決めればいいが、
チームで、しかも長期で動かす前提だと、
この「決定疲れ」がじわじわ効いてくる。
Angularは逆だ。ルーター、HTTPクライアント、フォーム、DI(依存性注入)。
必要なものが最初から揃っていて、しかも「正しい使い方」がだいたい一通りに決まっている。
新しくチームに入った人が、状態管理のパターンを推測しなくていい。
「Angularならこう書く」がフレームワーク側で決まっているからだ。
これは個人開発だとありがたみが薄いが、
複数人・長期保守のプロジェクトでは効いてくる。
だから金融、医療、行政みたいな「大規模で長く使う」領域でAngularが根強く生き残っている。
実際、新規案件ではReactに押されつつも、
エンタープライズ領域でのAngularのシェアは安定している。
理由3:希少性は、そのまま市場価値になる
ここが一番の本音かもしれない。
Reactエンジニアは多い。
多いということは、案件も多いが競争相手も多いということだ。
一方Angularは、できる人が相対的に少ない。
需要(特にエンタープライズ)に対して供給が足りていないので、Angular案件は同等のReact案件より単価が5〜10%高い傾向がある、
という調査もある。
「みんなが学んでいるもの」を学ぶと、その他大勢になる。
「みんなが避けているけど需要は消えないもの」を学ぶと、希少性で差をつけられる。
Angularは後者のポジションにいる。
しかもおいしいのは、
AngularはTypeScriptが前提だということ。
型に守られた開発の作法が、学ぶ過程で自然と身につく。
コンポーネント設計、状態管理、DIといった概念は、後からReactを学ぶときにもそのまま転用できる。
つまりAngularを通った人は、Reactにも比較的スムーズに移れる。
逆は意外とそうでもない。
それでも、Reactを否定はしない。
念のため書いておくと、
僕は「Angular最強、Reactオワコン」と言いたいわけではない。
性能はもう、ぶっちゃけ横並びだ。
AngularのSignalsとzone-lessレンダリング、
Reactのコンパイラ最適化、
どちらも十分に速い。
ユーザーが体感できるほどの差はほぼ出ない。
だから「どっちが速いか」で選ぶ時代は終わっている。
選ぶ基準は、性能でもシェアでもなく「どんな制約と相性がいいか」だ。
スピード重視でとにかく作りたい、
人をすぐ集めたい、世の中の事例を真似したい。
それならReact。
長く使う、大人数で触る、ルールを統一したい。
それならAngular。
そして個人のキャリア戦略としては、
「人と同じものを学ぶ安心感」を取るか、
「人と違うものを学ぶ希少性」を取るか、
という話になる。
僕は、後者に賭ける価値が今のAngularにはあると思っている。
中身は作り直され、需要は消えず、できる人は少ない。
逆張りのようでいて、
案外これは手堅い賭けなんじゃないか。
というのが、今日の結論だ。
