開発経験の未熟な私がIonicについて理解を深めるために調べたことをここにまとめさせていただきます。
ionicについて調べてみると、AngularJSを用いたApache Cordovaを拡張して作られている、ハイブリッドアプリを作るためのモバイルUIフレームワーク&開発ツールという説明がなされています。
ですが、開発未経験の方にとってはAngularJSやApache Cordovaがまずどういったものか理解する必要があると思います。
AngularJS(アンギュラージェイエス)はグーグルとユーザーコミュニティによって開発されているオープンソースソフトウエアのJavaScriptフレームワークです。 フレームワークには対象とするアプリの種類によってそれぞれ向き不向きがあるとされていますが、AngularJSはマスターメンテナンスのようなCRUD系アプリ、業務系アプリといった、各機能が独立した画面として存在し、フォームを使ってデータの送受信を行うようなアプリに向いているといわれています。つまり、大規模なアプリケーションでも安定した、綺麗なコードで書きやすい仕組みが用意されていることが人気のようです。 JavaScriptフレームワークには他にjQueryなど有名なものがありますが、AngularJSを使うとネイティブアプリのように動作することが可能になることが違うようです。今までwebサイトはアクセスの度にサーバー側でHTML生成してフルリロードという概念が当たり前でした。しかし、AngularJSにより、JSONを使って必要なデータのみをやり取りすることが可能になり、SAP(シングルページアプリケーション)というフルリロードの概念を変えたアプリを作ることができることが特徴です。
一方でApache Cordova(アパッチ・コルドバ)は、オープンソースのモバイルアプリケーション開発フレームワークです。 そもそもハイブリッドアプリとは、ネイティブアプリの中にWebViewと呼ばれる簡易ブラウザのようなものを表示し、その中にHTMLを表示させるアプリのことですが、ハイブリッドアプリ開発にはWebViewを自前で実装する必要があります。ですが、このApache Cordovaというフレームワークを使用するとWebViewの代わりにHTMLとネイティブの橋渡しを行ってくれるため、WebViewを自前で実装する必要がなくなります。 このCordovaというフレームワークはJavaScriptからiOSやAndroidのネイティブコードにアクセスできる仕組みをもったプラットフォームをベースに作られているため、プラグインをインポートすることで、ネイティブで提供されている機能をJavaScriptから利用することができます。
以上のことから、IonicはJSONを使って必要なデータのみをやり取りすることにより、ネイティブアプリのように動作することが可能になった上で、iOSやAndroidのネイティブで提供されている機能をJavaScriptから利用することができるフレームワークのことであることがわかりました。
【参考サイト】 いまさら聞けないAngularJSの基礎知識と5つの主な特徴、インストール、簡単な使い方 ハイブリッドアプリが開発できる「Apache Cordova」の紹介とAndroidアプリの作成手順