この記事の目的
今やビジネスにおいてコンピュータ・情報・通信などを中心とする「IT用語」に対する知識は欠かせません。
あまり馴染みがない各分野のIT用語を、なるべく専門用語を使わずに解説していきます。
この記事の対象読者
Web制作を始めたばかりの人。
自社のWebマーケティングを任された人。
専門用語についていろいろ知りたい人。
Webマーケティングを行なっているが、言葉の定義を再確認したい人。
など、Webに限らずDXに携わるすべての方に。
Angularとは
Angular(アンギュラー)は、Googleによって開発されたJavaScriptのフレームワークで、シングルページアプリケーション(SPA)をはじめとする動的なWebアプリケーションの開発に使用されます。Reactなどと並び、非常に人気のあるJavaScriptフレームワークの一つです。
AngularはWebコンポーネントやHTTP通信、ルーティングなどの機能も持っており、TypeScriptを使用して開発されているため、静的型付けやクラスベースのオブジェクト指向プログラミングなどの機能があります。
Angularの歴史
2010年:GoogleがWebアプリケーションフレームワークのAngularJSを開発し、公開しました。
2016年:AngularJSからAngular 2への移行が発表されました。Angular 2は、完全に再設計され、AngularJSとは異なるフレームワークとしてリリースされました。
2017年:Angular 4がリリースされました。Angular 4は、Angular 2の改善版で、より高速なビルド、テンプレートの改善、および新しい機能が追加されました。
2018年:Angular 5がリリースされました。Angular 5は、さらに高速なビルド、Webpackサポートの改善、およびいくつかの新しい機能が追加されました。
2019年:Angular 8がリリースされました。Angular 8は、Ivyコンパイラの導入により、ビルドサイズが大幅に削減され、パフォーマンスが向上しました。
2020年:Angular 9がリリースされました。Angular 9は、Ivyコンパイラの改善、およびAngularのAPIの簡略化に焦点を当てたリリースでした。
2021年:Angular 12がリリースされました。Angular 12は、ビルドサイズの削減、Angular Materialの改善、およびCLIの改善に焦点を当てたリリースでした。
以上が、Angularの歴史の概要です。現在もGoogleを中心に開発が続けられ、新しいバージョンが定期的にリリースされています。なおAngularと混同されがちな「AngularJS」は、Angularの初期バージョンの名称です。当初AngularJSとして開発されましたが、大幅に再設計され「Angular」に名称が変更されました。
特徴
MVVMを採用
Angularは、MVVM(Model-View-ViewModel)を採用しており、アプリケーションのModel(データ)、View(見た目)、ViewModel(ロジック)を分離することができます。役割ごとに分離できるため、一方の変更が他方に影響を与えることがなくなり、アプリケーションの設計・開発がスムーズに行なえます。
データバインディング
AngularはMVVMのデータバインディングという仕組みを利用して、ViewとViewModelを簡単に繋ぐことができます。データバインディングにより、ViewModelからViewにデータを渡すことが容易になり、Viewで発生するイベントをViewModelで処理することができます。例えば、ユーザーがフォームに入力した値を、JavaScriptのオブジェクトの値に同期することができます。
テンプレートエンジン
Angularはテンプレートエンジンを使用して、動的なビューを作成することができます。
HTMLと似たテンプレート構文を使用して、データとテンプレートの表示を自動的に同期することができます。
Angularを使用して開発する際の注意点
学習コストが高い
Angularは他のフレームワークと比較すると機能が豊富なフレームワークであるため、学習コストが高いとされています。Angularを利用するためには、TypeScriptやコンポーネントやテンプレートの概念、RxJSといった関連する技術も理解する必要があります。
頻繁なバージョンのアップグレード
Angularは頻繁にバージョンアップされています。バージョンアップに伴って仕様が変更されることがあるため、アップグレードによる互換性の問題に注意する必要があります。
以前のバージョンでは問題なく動作していたコードが、新しいバージョンでは正しく動作しない可能性があり、コードの修正や、新しいAPIの学習が必要になる場合があります。
まとめ
Angularは、Googleが開発したオープンソースのJavaScriptフレームワークであり、シングルページアプリケーション(SPA)の効率的な開発を行うことができます。豊富な機能が揃っていますが、反面、学習コストが高いです。