1つのコードでWeb、iOS、Androidアプリを作成できるIonicをWindows10で使うまでの手順

はじめに
Ionicは、Webアプリ、Android、iOSアプリをHTML、CSS、Javascriptでで作成するためのフレームワークです。Ionic Frameworkともよばれます。これまではAndroidならばJava、iOSならばSwiftまたはObjective-Cといったように、それぞれのプラットフォーム毎に異なる言語を用いて開発する必要があったことを考えるとその便利さがわかると思います。ここでは実際にIonicを使って公式に用意されているスターターアプリを作成し、Webブラウザで動作確認するまでの手順をメモします。
できるようになること
以下のように、スターターアプリとして用意されているサイドメニューが実装されたWebアプリをブラウザからアクセスして動作確認を行います。このアプリがiOSやAndroidでも動作しますが、iOSなどでの動作確認方法は別記事にまとめています。詳しくは後述します。
Ionicとは
冒頭でも述べたように、異なる複数のプラットフォーム上で動作するアプリをWeb技術(HTML、CSS、Javascript)で作成するためのフレームワークです。厳密ではありませんが、極端に言ってしまうとHTML、CSS、Javascriptで1つのコードを書けば、それがWeb、iOS、Androidのいずれでも動作するアプリとして使用できるようになります。もう少し具体的には、AngularJSとCordovaがメインで使用されています。詳し調べたい方は、以下にいくつかの参考サイト様を載せます。大変勉強になりました。 ハイブリッドアプリ入門 [cordova ionic] - Qiita
前提と環境
Windows10に直接Ionicをインストールせず、Windows10にVagrantをインストールしてVagrant上で動作するUbuntu16.04にIonicを導入します。Windows10にGit for Windowsを導入し、直接Ionicをインストールする方法もありますが、個人的にはVagrant環境がすでに整備されており楽だったためVagrantを使用します。
- Windows10 + Vagrant上のUbuntu16.04 で作業
- Ubuntu16.04 にはNode.js をインストール済。(未完了の場合は以下に手順載せています。)
- Node.jsのバージョンは LTS版の 8.11.4
Ionicをインストール
ここでは、Windows10とVagrant上のUbuntu用に共有フォルダとして設定している/vagrant
配下にionic
というディレクトリを作成し、そこで作業します。(特に共有フォルダ上で作業する必要があるということではありません。)Node.jsがインストールされていれば以下のコマンド1つでインストール完了です。
試しにionic
コマンドを実行してみると、以下のように使い方が表示されます。
これでIonicのインストールは完了です。
スターターアプリを作成する
Ionicでは、いくつかのスターターアプリが用意されています。スターターアプリとは、いわゆるテンプレートのことであり、最初からいくつかの機能が実装されています。具体的には、実装されている機能によって複数用意されており、以下の6個が用意されています。
tabs | 簡単なタブが実装されたアプリ |
---|---|
blank | 何も実装されていないまっさらなアプリ |
sidemenu | サイドメニュー機能が実装されているアプリ |
super | スライダーやその他アプリでよく見る基本的な機能が実装されています。 |
tutorial | ほとんどsidemenuと同じです。 |
aws | こちら- ionic-angular AWS Mobile Hub Starterを使ってみた - Qiitaに大変わかりやすくまとめられていました。 |
こちらの公式ドキュメントにconference
というスターターアプリも記載がありますが、現在はなくなっているようです。以下のように、myApp
という適当なアプリ名を指定してionic start
コマンドを実行すればアプリの作成が開始されます。ここでどのスターターアプリを使用するかが聞かれ選択できます。なお、このアプリ名と同じ名前のディレクトリが作成されます。
矢印キーで好きなスターターアプリを選択してEnterキーを押せば作成されます。なお、インストール中に以下の質問が聞かれます。
- ./myApp exists. Overwrite? 「既存のアプリを上書きするか?」の意味です。もしすでに同じアプリ名(ディレクトリ名)が存在している場合は、以下のように上書きするか聞かれます。新規に作成する場合は聞かれません。
- Integrate your new app with Cordova to target native iOS and Android? 「新しく作成するアプリをCordvaを使ってiOSとAndroidに対応させるか?」の意味です。
- Install the free Ionic Pro SDK and connect your app? 「Ionic Pro SDKをインストールし、あなたのアプリに接続するか?」という意味です。 今回はIonic Pro SDKを使用しないため、ここでは
y
で上書きできます。なお、上書きすると当然ながらすでに存在しているデータをすべて上書きして消してしまうので注意してください。
y
でOKです。
n
でOKです。
なお、以下のように最初からスターターアプリ名を指定してアプリを新規作成することもできます。以下は上記の質問含む表示内容です。終わるまでに少し時間がかかります。
最後にgitについて登録するよう指示が記載されていますが、ここではひとまず無視して続けます。これでスターターアプリの作成は完了です。
Webブラウザで動作確認する
実際に作成したアプリを動作させてみます。まず、上記のionic start
コマンドによって作成されたアプリ名のディレクトリに移動し、serve
コマンドを実行します。
上記のように表示されれば完了です。上記表示の中にある以下の記載は各環境によるアクセス方法を指示しています。
これは、ローカル環境からならばhttp://localhost:8100
、外部からならばhttp://10.0.2.15:8100, http://192.168.56.11:8100
でブラウザからこのアプリにアクセスできることを意味しています。そこでWindows10のブラウザからhttp://192.168.56.11:8100
にアクセスしてみます。なお、ここでの192.168.56.11
というIPアドレスは、Vagrant上で動作しているUbuntuのIPアドレスになります。そのため、各自の環境によって異なります。また、もし今回のようにWindows10+Vagrant上の仮想マシンを使わずにWindows10やMac OS、Linuxなどに直接Ionicをインストールして上記作業を実施した場合は、http://localhost:8100
でもアクセスできます。ここではWindos10 + Vagrant上のUbuntuでIonicを動作させているため、Windows10から見ればUbuntuはローカルマシンではないため、http://localhost:8100
ではアクセスできません。
アクセスすると以下のように表示されます。以下はスターターアプリとしてsidemenu
を選択した場合です。
iOS、Android実機で動作確認する
iOS、Android実機での動作確認を行いたい場合は、DevAppを使うのが最も簡単です。DevAppの使用方法については以下の別記事にまとめましたので必要な方は見てみてください。実機でのアプリ動作確認が簡単にできるIonic DevAppの使い方
より簡単にiOSやAndroidで作成したアプリの動作確認をおこなう手段として、Ionic公式のDevAppという動作確認用アプリが提供されています。ここではこのDevAppを使ってiPhone実機で動作確認するまでの手順をメモします。なお、この手順自体はAndroidの場合でも同じになります。
まとめ
Ionicを使用することで、iOSやAndroidそれぞれのアプリを別の言語で開発することなく共通の言語でまとめて作成することができます。どれぐらいの規模や複雑さのアプリにもよりそうですが、ひとまずプロトタイプを作成する目的ならば非常に便利に感じました。また色々と実際に使ってみてまとめます。開発アプリ
