初めてのIonicアプリ: Angular
Ionicの素晴らしい点は、1つのコードベースで、HTML、CSS、JavaScriptだけを使用して、あらゆるプラットフォーム向けにビルドできることです。 実際のアプリをステップバイステップで作成しながら、Ionicアプリ開発の基本を学びましょう。
3つのプラットフォームすべてで実行されている完成したアプリを紹介します
Ionic 4とCordovaを扱ったこのガイドの以前のバージョンをお探しですか? こちらをご覧ください。
作成するもの
デバイスのカメラで写真を撮ってグリッドに表示し、デバイスに永続的に保存できるフォトギャラリーアプリを作成します。
ハイライト
- Ionic Framework UIコンポーネントを使用して、Web、iOS、Androidで実行される1つのAngularベースのコードベース。
- Ionicの公式ネイティブアプリランタイムであるCapacitorを使用して、ネイティブのiOSおよびAndroidモバイルアプリとしてデプロイされます。
- Capacitor カメラ、ファイルシステム、およびプリファレンス APIを搭載したフォトギャラリー機能。
このガイドで参照されている完全なアプリコードは、GitHubにあります。
必要なツールのダウンロード
最適なIonic開発エクスペリエンスを確保するために、すぐにダウンロードしてインストールしてください
- Node.js:Ionicエコシステムとの対話に使用します。 LTSバージョンはこちらからダウンロードしてください。
- コードエディタ:コードを書くために使用します! Visual Studio Codeがお勧めです。
- コマンドラインインターフェース/ターミナル(CLI):
- Windowsユーザー:Ionicを最適な環境で使用するには、ビルトインのコマンドライン(cmd)またはPowershell CLIを管理者モードで実行することをお勧めします。
- Mac/Linuxユーザー:事実上すべてのターミナルで動作します。
Ionicツールのインストール
コマンドラインターミナルで以下を実行して、Ionic CLI(`ionic`)、デバイスおよびシミュレータ/エミュレータでネイティブバイナリを実行するために使用される`native-run`、ネイティブアプリのアイコンとスプラッシュスクリーンを生成するために使用される`cordova-res`をインストールします
Visual Studio Codeでターミナルを開くには、[ターミナル] -> [新しいターミナル]に移動します。
npm install -g @ionic/cli native-run cordova-res
`-g`オプションは*グローバルにインストール*を意味します。 パッケージをグローバルにインストールすると、`EACCES`権限エラーが発生する可能性があります。
npmを昇格された権限なしでグローバルに動作するように設定することを検討してください。 詳細については、権限エラーの解決を参照してください。
アプリの作成
次に、「タブ」スターターテンプレートを使用し、ネイティブ機能のためにCapacitorを追加するIonic Angularアプリを作成します
ionic start photo-gallery tabs --type=angular --capacitor
`NgModules`と`Standalone`のどちらかを選択するように求められたら、このチュートリアルは`NgModules`のアプローチに従っているため、`NgModules`を選択してください。
このスタータープロジェクトには、3つの事前に構築されたページと、Ionic開発のベストプラクティスが付属しています。 共通のビルディングブロックがすでに配置されているため、簡単に機能を追加できます!
次に、アプリフォルダに移動します
cd photo-gallery
次に、アプリのネイティブ機能を動作させるために必要なCapacitorプラグインをインストールする必要があります
npm install @capacitor/camera @capacitor/preferences @capacitor/filesystem
PWA要素
カメラAPIを含む一部のCapacitorプラグインは、Ionic PWA Elementsライブラリを介してWebベースの機能とUIを提供します。
これは個別の依存関係であるため、次にインストールします
npm install @ionic/pwa-elements
次に、`src/main.ts`を編集して`@ionic/pwa-elements`をインポートします。
import { defineCustomElements } from '@ionic/pwa-elements/loader';
// Call the element loader before the bootstrapModule/bootstrapApplication call
defineCustomElements(window);
以上です!楽しい部分、アプリの動作を見てみましょう。
アプリの実行
次に、このコマンドを実行します
ionic serve
そして、IonicアプリがWebブラウザで実行されています。 アプリの大部分はブラウザでビルドおよびテストできるため、開発とテストの速度が大幅に向上します。
フォトギャラリー!!!
3つのタブがあります。「Tab2」タブをクリックします。 これは空白のキャンバス、つまりフォトギャラリーに変換するのに最適な場所です。 Ionic CLIはライブリロード機能を備えているため、変更を加えて保存すると、アプリがすぐに更新されます!
選択したコードエディタでphoto-galleryアプリフォルダを開き、`/src/app/tab2/tab2.page.html`に移動します。 次のように表示されます
<ion-header>
<ion-toolbar>
<ion-title>Tab 2</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-header collapse="condense">
<ion-toolbar>
<ion-title size="large">Tab 2</ion-title>
</ion-toolbar>
</ion-header>
</ion-content>
`ion-header`は、タイトルが「Tab 2」の上部ナビゲーションとツールバーを表します(iOS 折りたたみ可能なラージタイトルのサポートにより、2つあります)。 両方の`ion-title`要素の名前を次のように変更します
<ion-title>Photo Gallery</ion-title>
アプリの視覚的側面を`<ion-content>`に配置します。 この場合、デバイスのカメラを開くボタンと、カメラでキャプチャされた画像を表示する場所を追加します。 まず、フローティングアクションボタン(FAB)をページの下部に追加し、カメラの画像をアイコンとして設定します。
<ion-content>
<ion-fab vertical="bottom" horizontal="center" slot="fixed">
<ion-fab-button>
<ion-icon name="camera"></ion-icon>
</ion-fab-button>
</ion-fab>
</ion-content>
次に、`src/app/tabs/tabs.page.html`を開きます。 ラベルを「写真」に、アイコン名を「images」に変更します
<ion-tab-button tab="tab2">
<ion-icon name="images"></ion-icon>
<ion-label>Photos</ion-label>
</ion-tab-button>
すべての変更を保存して、ブラウザに自動的に適用されることを確認します。 これは、Ionicでできるクールなことのほんの始まりに過ぎません。 次に、Webでカメラ撮影機能を実装し、iOSとAndroid向けにビルドします。