AngularはJavaScriptに活用されるオープンソースWebアプリケーションフレームワークです。Google社によって開発されたフレームワークとして誕生当初から今もなお人気の中心にあります。この記事ではAngularを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説していきます。
AngularとはJavaScriptに活用されるGoogle社によって開発されたオープンソースWebアプリケーションフレームワークです。2009年に誕生し、ミシュコ・へブリー(
Mishko Hebley)氏とアダム・アブロンズ(Adam Ablons)氏が主軸となって開発がなされました。特徴としてフルスタックなフレームワークと呼び声が高く、Angularが用意する機能を全て使いこなすことができればその他の技術は不要と言えるほど多機能で充実しております。AngularJSとAngularJS2が存在し、AngularJS2についてはGoogle社とマイクロソフト社の協力の下で作成されました。
JavaScriptとはネットスケープコミュニケーションズ社によって1995年に誕生したプログラミング言語の一種でその中でもオブジェクト指向スクリプト言語に区分されます。主な目的として動的な機能をWebページに生成するためのプログラミング言語として開発されました。Webサイト、Webアプリ、ゲームなど様々な用途に活用できるため注目を集めております。名称にJavaが含まれるためJavaの仲間と誤解を生むこともありますがJavaScriptは全く異なるプログラム言語です。開発当時サン・マイクロシステムズ社が開発したプログラミング言語『Java』が大きな注目を集めていたことや同社との業務提携を行った背景もありJavaにちなんだ名称が付けられました。
JavaScriptのメリット・基礎知識について解説された記事はこちら>>
『JavaScriptにおけるシステム開発を簡単に行えるように用意された枠組みのこと』
JavaScriptフレームワークとはJavaScriptにおけるシステム開発のプログラミングを効率的に実施するために汎用的な機能群をまとめ、システムの骨組みとなるテンプレートまで用意してくれる枠組みのことです。フレームワークを活用することでプログラミングにおける記述コードを最小限に抑えることが出来ます。JavaScriptフレームワークの代表的な種類としてjQuery、Angular、Vue.jsなどが挙げられます。
JavaScriptフレームワーク人気どころ6選ついて解説された記事はこちら>>
Angularの読み方は『アンギュラー』です。Angular JSからの名称変更の経緯を調べる方が多いようですがバージョン2.0以降から推奨言語の変更によってフレームワークの名称もJSを取り除いたという経緯がありフレームワークとしては同じものです。
AngularJSはGoogleと個人や企業のコミュニティによってオープンソースフロントエンドWebアプリケーションフレームワークとして2009年にリリースされました。初版はミシュコ・へブリー(Mishko Hebley)氏とアダム・アブロンズ(Adam Ablons)氏が主軸となって開発されたそうです。2012年6月にはバージョン1.0がリリースされ、2016年9月にはバージョン2.0がリリースされ推奨言語の変更によってフレームワークの名称もJSを取り除いた『Angular』となりました。2020年現在バージョンは10.0を超えておりこれまで数多くのアップデートを繰り返してきたことが分かります。
年代 | バージョン | 備考 |
2009年 | AngularJS初版 | ミシュコ・へブリー氏とアダム・アブロンズが主軸となり開発 |
2012年6月 | AngularJS 1.0.0 | |
2016年9月 | Angular 2.0.0 | アーキテクチャを一新 Angularへと名称変更 |
2017年4月 | Angular 4.0.0 | バージョン3.0はリリースされず |
2017年11年 | Angular 5.0.0 | |
2018年5月 | Angular 6.0.0 | Angular CLI、Angular Material + CDKのバージョンが6.0.0に統一 |
2018年10月 | Angular 7.0.0 | 対話形式でライブラリなどの追加、設定可能に |
2019年5月 | Angular 8.0.0 | 読み込むファイル(バンドル)を切り替える「差分ロード」(Differential Loading)に対応 |
2019年11月 | Angular 9.0.0 | 次世代レンダリングエンジン「Ivy」 |
2020年6月 | Angular 10.0.0 | 現最新バージョン |
Angularの特徴を見ていきましょう。
AngularはHTMLテンプレート機能を持つという特徴があります。HTMLテンプレート機能とは、HTML内にテンプレートを用意し配列を与えることで、テンプレートを繰り返して表示するものです。
Angularは全てのプラットフォームに対応という特徴があります。Angularによる様々なプラットフォームで、Web、モバイルWeb、ネイティブモバイル、ネイティブデスクトップ、 どんな端末にも対応している為、あらゆるアプリケーションを構築できます。
Angularはデータバインド(データと描画を同期する仕組み)を持っているという特徴があります。Angularはデータバインドに特化しているためデータの変更があればUIの表示を更新し、UIの変更があればデータの更新を行うように自動化されます。このように双方向にデータバインドを行う行為を双方向データバインディングと呼びます。
AngularはMVC(MVM)を採用しているという特徴があります。MVCとはユーザインタフェースをもつアプリケーションソフトウェアを構築する上でプログラムの中身を整理するためのデザインパターンです
Angular以外のJavaScriptによるシステム開発に用いられる代表的なフレームワークを紹介させていただきます。
jQueryとはJavaScriptに活用されるジョン・レシグ(John Resig)氏によって開発されたクライアントサイドスクリプトを簡易化するためのライブラリです。2006年8月に誕生し、基本理念を『write less, do more(少ない記述で、もっと多くのことをする)』を掲げております。特徴として非常に簡単でかつ少ない記述でHTMLとCSSを操作することができます。またjQueryを利用する世界中の方々が様々なプラグインの作成を行っていることから拡張性が高いことも特徴として挙げられます。jQueryはJavaScirptの発展に大きく影響を与えたライブラリと言えるでしょう。
Vue.jsとはJavaScriptに活用されるエヴァン・ユー(Evan You)氏によって開発されたオープンソースのオブジェクト指向Webアプリケーションフレームワークです。2014年2月に誕生し、GoogleにてAngularJSを使用した開発に携わっていたエヴァン・ユー氏がAngularJSをモデルに本当に好きな部分だけを抽出してVue.jsの作成を行ったという経緯があります。特徴として、
スクリプトタグを一行書くのみで使い始めることが出来る手軽さやAngularJSと比較して規模が小さい分学習コストが低いなどが挙げられます。
React.jsとはJavaScriptに活用されるジョーダン・ウォーク(Jordan Walk)氏によって開発されたオープンソースWebアプリケーションフレームワークです。2011年にFacebook社のプログラマンーであるジョーダン・ウォーク氏が同社のサービスであるFacebookにて使用し、2013年にオープンソース化されました。特徴としてUI/UXを意識した開発に向いていることやAndroidとiOSの両プラットフォームに対応していることなどが挙げられます。またReact.jsは数々の有名なサービスにて採用されております。代表的なものとしてFacebook、Instagram、Yahooなどが挙げられます。
Angularを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説させていただきました。Angularを一言で表すと『Google社によって開発されたJavaScript向けオープンソースWebアプリケーションフレームワーク』です。Angularには「HTMLテンプレート機能」「全てのプラットフォームに対応」「双方向データバインディング」という特徴が挙げられます。Angularについてこの記事に記載されている最低限の内容は理解をしておくようにしましょう。