Ionic(アイオニック)の将来性は?始め方・使い方など基礎知識を徹底解説!

JavaScriptは比較的軽く自由な設計が可能であるため多種多様なフレームワークが存在します。Ionicもそのフレームワークの1つですがアプリ開発に向いたフレームワークとなっており、導入している場合もあるかと思われます。

この記事では導入にあたり難易度は低いものの、導入するには少々不安があるという方に向けて基礎知識や導入から利用方法と料金について紹介をご紹介いたします。

アバター画像
監修者 Kooyo_K

千葉県出身。落花生はあまり好きじゃない。魚が好き(千葉は漁業も盛んなのです)。 高校卒業後小売業に6年間従事、2023年よりSESインフラエンジニアとしてシステム開発・運用保守業務に携わりながら勉強中。 知識の幅を増やすため2024年より副業でライター活動を開始。 バックエンド・フロントエンド両方興味があるので幅広く知っていきたいと考えています。 座右の銘:【鉄は熱いうちに打て】

\エキスパートが回答!/
この記事に関する質問はこちら
記事に関するご質問以外にも、システム開発の依頼やAIの導入相談なども受け付けております。

    会社名必須
    必須
    必須
    Eメール必須
    電話番号必須
    ご依頼内容必須

    Ionicの基本

     

    Ionicとは

    2013年にDrifty社が開発したアプリのフロントエンドであるUX/UIインタラクションに重点を置いているJavaScriptのフレームワークです

    Angular(アンギュラー)というフレームワークの上に開発されており近年話題のPWA(Progressive Web Apps)のサポートにも対応していることから、IonicとHTMLやCSS、JavaScriptなどと併用しiOSやAndroid、Webなどのネイティブプラットフォームの種類を問わず1つのソースコードで高品質なモバイルアプリケーションの作成が可能です。

    このため、Angularと同様に初心者から熟練者まで幅広い層のエンジニアに利用されています。

    日本語の公式ドキュメントも存在するため公式情報のアクセスが容易です。

    【公式ドキュメント】Ionic Docs

    Ionicの特徴

    PWAに対応しておりネイティブアプリのような審査がなくリリースが容易であり様々なフレームワークと併用が可能なことから人気のあるIonicですが、その他特徴についてご紹介します。

    無料のオープンソースライセンスである

    IonicはMITライセンスのもとで公開されているため、個人・法人を問わず自由に利用できます。PWAに対応したフレームワークが無料で使えることは大変喜ばしいことです。また、オープンソースであるため情報やリソースが豊富であり、ドキュメントやコミュニティにアクセスすることで問題解決やサポートを受けることができます。

    他フレームワークと統合可能である

    先ほども紹介した通りその他フレームワークと統合されているため、JSやAnguler、Reactなどの知識がある場合にこれらの知識を活かしてIonicアプリの開発を行うことが可能です。

    豊富なUIコンポーネントやコンポーネントとデバッグツール

    サイト開発において見た目に直結するパーツを作成するためのUIコンポーネントが豊富にあり、利用することで手軽に送信ボタンやチェックボックスなどを作成することができます。また、プラグインも豊富であり様々な技術を利用することでリッチなアプリケーションを作成することも可能です。

    そして開発には欠かせないデバッグについてもツールが用意されておりionic CLI(Command Line Interface)などを利用することでスムーズな開発が可能となります。

    注意点

    紹介した通り非常に便利なIonicですが、アップデートが行われているため大幅なアップデートがあった際に対応する必要があります。脆弱性対策や高速化などメリットが大きいため怠らずしっかりと対応していきましょう

    Ionicの始め方と使い方

     

    Ionicを導入することで得られるメリットが大きいことが先ほどの紹介にご理解いただけたと思います。では導入ための環境や手順についてご紹介していきます。

    インストールの前に前提条件として開発に使うコンピュータにnpmとNodeがインストールされている必要がありますので、インストールされていない方はこれらのインストールから始める必要があります。下記記事を参考にインストールを行ってください。

    【参考記事】Ionic公式ドキュメント環境設定

    Ionicのインストールとセットアップ

    Ionic CLI(コマンドライン)のインストールを最初に行います。

    Node.jsがパソコンにインストールされていることを確認したあと、お使いのコンピュータやVSC(Visual Stadio Code)などからターミナルを開きIonicをダウンロードするため以下を実行します。

    npm install -g @ionic/cli

    インストール出来たら以降はIonic CLIが処理を行うためすぐに開発を行うことができます。ですが、このままでは開発するアプリケーションのバージョン管理ができないため下記URLを参考にGitをコンピュータにインストールすることをお勧めします

    【公式ドキュメント】Gitのインストール方法

    インストールできたか確認するには

    git –version

    をターミナルで実行しバージョンが表示されればインストールが完了しています。

    このように簡単にIonicを使用開始することが可能です。

    Ionicアプリの開発

    アプリの新規作成手順

    Ionicがインストール出来たらいよいよアプリ開発に入ります。

    新しいIonicアプリを作成する際3つのスターターテンプレートとしてタブベースのレイアウトであるtabs、サイドメニューレイアウトのsidemenuがあり、まっさらな状態から自分で単一ページを作る場合はblankをアプリケーション作成の際に入力します。

    1. コマンドラインにionic startと入力するとプロジェクト名を聞かれるため任意のプロジェクト名を入力する
    2. 次にどのフレームワークを利用するか聞かれるため表示されている候補から選択する
    3. 使用するテンプレートを聞かれるため候補から選択する

    作成が完了すると以下のように表示されます。

    Next Steps:

    – Go to your newly created project: cd ./任意のプロジェクト名
    – Run ionic serve within the app directory to see yo  //アプリディレクトリ内で ionicserve を実行してアプリを表示できるというメッセージ
    – Build features and components: https://ion.link/scaffolding-docs  //ビルド機能とコンポーネント参照URL
    – Run your app on a hardware or virtual device:  //ハードウェアまたは仮想デバイス上でアプリを実行しているというメッセージ
    https://ion.link/running-docs  //公式ドキュメントURL

    他にもコマンドラインから以下を入力し実行することで新しいアプリケーションを作成することもできます。

    $ ionic start myApp tabs –type=angular–

    入力するとプロジェクト名として「myApp」、利用するスターターテンプレートの種類として「tabs」を引数で指定しています。プロジェクトの種類はAngularとして設定されています。またほかの利用できるテンプレートを確認したい場合は以下を入力すると確認できます。

    $ ionic start –list

    ローカルでブラウザプレビューを確認する方法

    アプリケーションの新規作成が終わったら、Ionicではコンパイルやデプロイを行わずともChromeやSafari、Firefoxの開発ツールにアクセスしテストやデバッグを行うことが可能です。プレビューを見るにはコマンドラインに以下を入力します。

    $ ionic serve

    入力し、無事ローカル環境からWebブラウザにアクセスできると下記のようにローカルホストサーバの情報が出てきます。

    $ ionic serve
    > ng run app:serve –host=0.0.0.0 –port=8100

    [INFO] Development server running!

    Local: http://localhost:8100
    External: http://192.168.1.169:8100

    Use Ctrl+C to quit this process

    [INFO] Browser window opened to http://localhost:8100!

    http://localhost:8100/ionic-labをWebブラウザに入力すると以下のように表示されるはずです。

    ※画像ではlocalhost:4200となっていますが、実際には先ほどコマンドラインでサーバを立ち上げた際に表示されるローカルホスト名Local: http://localhost:xxxxの値を入力すれば大丈夫です。

    サーバを起動したままアプリ開発を行い変更の保存を行うとその変更が適用された状態でアプリがリロードされます。

    機能やコンポーネントのビルドについて

    アプリの新規作成が完了したら機能などの開発を行います。大部分はsrc/appディレクトリで開発します。src/ ディレクトリには、 index.html ファイル、テスト用の設定ファイル、画像を格納する assets フォルダ、アプリのコードを格納する main app/ ディレクトリなどの項目があります

    そしてsrc/app/ ディレクトリには、ルートアプリのコンポーネントとモジュール、およびページ、コンポーネント、サービスなどのアプリの機能を含む追加のディレクトリが含まれます

    新しいアプリ機能の作成手順

    1. 新しいアプリ機能を生成するには次のコマンドをコマンドラインに入力します。$ ionic generate
    2. 生成できる機能の一覧が表示されるためその中から選択します。
    3. 選択後新しく作る機能の名前の入力が求められるため任意の名前を入力します。
    4. パスの名前を聞かれるため任意のパス名を設定します。

    また、ほかにも以下のように引数で名前と配置場所を設定することも可能です。

    ionic g component “portfolio/intro/About Me”

    gはgenerateのコマンド名、生成する機能としてcomponentを選択、任意の配下(例だとportfolio/intro配下)にAbout Meという機能名を引数で指定しています。

    以上の手順を経て作成するとフォルダやファイルが作成され、最後に[OK] Generated page!と表示されれば作成完了です。

    最後に次のコマンドを実行しアプリケーションをiOSおよびAndroid向けにビルドします。$ionic build

    以上がIonicでの基本的な開発手順となります。

    Ionicのプラグインと拡張

    プラグインの導入:Capacitorのインストール

    Ionicにはcordova(コルドバ)とcapacitor(キャパシター)のプラグインが存在しますが、capacitorはcordovaの後継としてプラグインの基礎部分を改良して生まれたものになります。

    capacitorプラグインを利用したアプリ開発に必要な環境としてNode.js16以上がインストールされている必要があります。IonicのインストールとセットアップでNode.jsをインストールされたと思いますが、念のためターミナルから以下のコマンドを入力しNode.jsのバージョンを確認しておきましょう。

    node –version
    # v18.3.0

    #v18.3.0と出ている数字が現在インストールされているNode.jsのバージョンになります。

    新しくcapacitorアプリケーションを作成したり既存のプロジェクトに追加することが可能です。行うにはCLIかVSCode extensionを使用します。

    capacitorアプリケーションを新規作成するには以下をコマンドラインに入力します。。

    ionic start –capacitor

    これでCordovaプラグインの導入が完了し、デバイスの機能を利用したりネイティブ機能の拡張をすることが可能です。以降はアプリの新規開発手順と同じですのでどんどん開発していきましょう。

    2024年2月現在最新バージョンはcapacitor5.0です。

    PWA開発を行うための依存環境をインストールする

    上記のcapacitorインストールの際適したバージョンのNode.jsがインストールされていることが確認できたら依存関係のインストールを行うことで、capacitorを利用したAndroidやiOS、Webの3つに対応したアプリケーション(PWA)作成が行えます

    依存関係はAndroidとiOSで異なるため、以下URLを参考にインストールを行ってください。

    ※依存環境のインストールについては開発がWebアプリのみであるなど、PWA開発でない場合は行わなくても大丈夫です

    【参考サイト】Ionic公式ドキュメント 環境設定

    便利な拡張機能

    多くの拡張機能が存在しますがその中からおすすめな拡張機能を一部紹介いたします。

    併せて公式Gitドキュメントも紹介しているためURL先を参照して導入してみましょう。

    Ionic Strage

    この拡張機能を導入することでローカルストレージやSQLiteデータベースを簡単に操作することが可能です。また、データの永続的な保存にも使用できるためユーザーのデータ管理、キャッシュデータの保存に適しています。

    以前はAngulerのみだったサポートが3.x以降JSもサポートするようになりました。

    【公式Gitドキュメント】Ionic Strage

    Geolocation

    こちらはデバイスの位置情報を取得するためのプラグインです。利用することで現在位置の情報や追跡機能、高度や方位も他に速度情報などを地図アプリケーションと統合し実装することができます

    【公式Gitドキュメント】Geolocation API

    Push Notifications

    アプリのプッシュ通知機能を実装するためのプラグインです。ただし、サイレントプッシュ通知機能には対応していません。FCMなどのプッシュ通知プロバイダと統合することが可能です。

    【公式Gitドキュメント】Push Notifications

    StatusBar

    ステータスバーの表示または非表示、ステータスバーのスタイルについて変更することが可能です。インタラクション性を高めるために導入することも検討してみてはいかがでしょうか。

    【公式Gitドキュメント】StatusBar API

    インタラクションデザインについて知りたい方はこちらの記事をぜひご一読くださいませ。

    【参考記事】インタラクションデザインとは?成功・失敗事例や設計手順について徹底解説

    Ionicの価格とライセンス

    Ionicには様々なプラグインと利用できるフレームワークがあることを紹介してきました。基本的に無料であり目的に応じて組み合わせることでアプリケーションを作成することが可能です。しかし、よりアプリケーションをリッチなものにしたいと思うことがあるかもしれません。そういった場合には有料サービスの導入も一つの手です。

    Ionicの価格体系

    Ionicにはオープンソースフレームワークとは分離したAppflowという製品アプリ用のサービスが存在しています。Ionicアカウント登録が必要ですが、プランがいくつかあるためその中から目的に合ったものを選びましょう。

    また、有料版を導入することにより品質を高めたり市場に出すまでの期間短縮につがるなどその他さまざまなメリットがあるため、以下を参考に検討してみてください。

    サービス名称 概要 プラン名/価格
    Appflow

    【公式サイト】Ionic Appflow

    製品アプリ用の商用サービスであり、Ionicアプリのデプロイを支援します。アプリストアへ直接公開することやワークフローの自動化、シングルサインオンのほかサービスの統合やCI/CDツールの使用など、より高度な機能を利用することができます。
    • Free:基本無料(年間収益が約1億5千万円未満であること)
    • Community:約7000円/月
    • Basic:約7万5000円/月(14日間のお試し期間がある)
    Ionic Enterprise

    【公式サイト】Ionic Enterprise

    モバイルアプリ向けのサービスです。構築と配信などビジネス全体を支援します。セキュリティサポートやアドバンスコンポーネント、プラグインの開発といったプロ向けの追加機能とサポートを含んでいます。

    Standardでは同時ビルドが3つまでであったり、Gitを利用したクラウド支援の対象外になっているなどいくつか制限があります。

    • Standard:約62万円/月
    • EnterpriseSDK:お問い合わせの上決定。
    • Superapp SDK:お問い合わせの上決定
    Ionic Native Enterprise

    【公式サイト】Ionic Native Enterprise

    Ionic Enterpriseに含まれるサービスで、安全で信頼性の高いプラグインを提供する有料サービスです。ネイティブプラグインを専門にしているチームのサポートを受けることで、より高度なプラグインを利用することが可能です。アップグレードや修正情報の素早い提供や支援を受けることもできます。 Ionic Enterpriseと同様

     

    価格に関する注意点

    柔軟で使い勝手がよいIonicのサービスですが注意点があります。以下について注意しながら、試運転期間の利用や有料サービスの前に無料のライセンスから始めて様子を見るなどして開発の予算やスケジュールに合ったライセンス選びが大切です

    適切に選ぶことでPWAの開発などのコストや手間を削減し、少ない工数でユーザービリティの高いアプリケーションを作成可能です。

    • サービスを選ぶ前にあらかじめ必要な機能と予算決めが必要です。
    • ライセンスによって制限されるものがあるため、それを踏まえたうえで利用するライセンスを決定する必要があります。
    • ライセンスのほかにサポートについても料金が発生する場合があるため、コストの確認が必要です。
    • 価格が変わる場合があるため、サービスを導入する際はアップデート情報に気を付けましょう。

    Ionicの将来性

    Ionicはコミュニティが活発であり、サポートも充実しています。また、JSのフレームワークでありながらそれほど難しい技術も必要としないため今後導入する企業や個人も増えていくことでしょう。

    開発においてコンポーネントなどの拡張機能の不安定さが以前は課題となっていたようですが、Ionicはアップデートを重ねて今ではそれほど問題にならなくなっています。こうしたことから、不具合があってもコミュニティから解決策を探す・アップデートを待つ、有料サポートを受けるといった様々な方法からアプローチしていくことで解決することができるでしょう。

    そして、この多様なプラグインや開発の容易性から企業でもIonicを取り入れることが増えておりWPA開発とともに市場は大きくなってゆくでしょう。Ionicの導入にはIonicに関する知識や経験のある人物が求められるため、Ionicに触れて知識や技術を身に着けていくことは市場価値の向上につながります

    Ionicのまとめ

    日本国内ではまだ知名度が高いとは言えないですが、企業も参入していることからゆくゆくは日本でも導入する機会が増えていくことでしょう。そこでコミュニティに参入することで新たなサービスやプラグインが誕生する切っ掛けになるかもしれません。

    様々なサービスやプラグインがあり、自由度が高いですがその分いざ開発する際に選ぶことが難しく感じるかもしれません。そんな時はぜひ株式会社Jiteraへご相談くださいWebアプリ開発について豊富な知識と経験をもとにお客様に最適なご提案をいたします

     

    例:開発手順、ツール、プロンプト

    メルマガ登録

    社内で話題になった「生成AIに関するニュース」をどこよりも早くお届けします。