今回は以前現場で使っていたAngularについてまとめていこうと思います!
Angularとは?
AngularはあのGoogleが開発したTypeScriptベースのオープンソースフレームワークです。
大規模なWebアプリケーション開発で利用されることが多いです。
主にシングルページアプリケーション(SPA)の構築に使用され、コンポーネントベースのアーキテクチャが特徴。
Angularのここがすごい!
じゃあ何がすごいのって気になりますよね?
Angularの強みを挙げていきましょう
フルスタックフレームワークである
UI設計から状態管理、ルーティング、HTTP通信まで、Webアプリケーション開発に必要な機能をすべて備えたオールインワンフレームワークとなっています
これにより、外部ライブラリを追加する必要が少なく、一貫性のある開発が可能というわけです
TypeScriptによる型安全性
TypeScriptは静的型付け言語(コンパイル時に変数の型を決定する)であるため、型安全性が保たれます
静的型付け言語に慣れていた私は、動的型付け言語であるJavaSctiptは若干苦手なのでここはものすごくありがたい😂
CLIツールによる開発効率化
コマンド実行でコンポーネントの作成、ビルド/デプロイの最適化等をフレームワークのルールに乗っ取って勝手にやってくれます
双方向データバインディング
双方向バイディングしているプロパティはUIとデータモデルが相互に同期しているため、イベントハンドラの実装が不要です
変更通知と画面再描画、いわゆる状態管理はフレームワークが自動的にやってくれるというわけです
ここは苦手、、、
もちろん弱みもあります
学習コストが高い
フルスタックフレームワークであるのは魅力的ですが、機能が豊富で初学者からの学習コストは若干高めです
DIやRxJSなど、その他独自の概念やアーキテクチャが多いですね
小規模アプリケーションには向かない
あくまで大規模アプリケーション向けに設計されています
そのため、小規模アプリでは必要以上に複雑な構成や設定が求められ、やりすぎになってしまうことが多いのです
アップデートが頻繁
メジャーアップデートやマイナーアップデートが比較的頻繁に行われます
プロジェクトのメンテナンスやバージョン管理が複雑になるケースも、、、
初期ロードやビルドサイズ
機能が多い分、初期ロードやバンドルサイズが大きくなりやすく、パフォーマンス最適化が課題となることがあります
特にモバイルや低速回線でのUXに影響が出る場合があります
まとめ
Angularは、Googleが開発する信頼性の高いフルスタックフレームワークであり、特に大規模なWebアプリケーション開発に強みを発揮します!
一方で、学習コストの高さや初期構築の複雑さ、頻繁なアップデート対応など、導入時に考慮すべき点もあります。
小規模なプロジェクトや、スピード重視の開発には他のフレームワークが適している場合もあるでしょう。
とはいえ、世界中に多くの開発者コミュニティが存在し、情報やサポートも充実しているので、「堅牢で拡張性の高いWebアプリを作りたい」「チームで一貫性のある開発を進めたい」という方には、Angularは非常に心強い選択肢となるはずです!
参考資料