モバイルアプリケーション開発の進化する世界では、プログレッシブウェブアプリケーション(PWA)の台頭が新しいクロスプラットフォームランタイムへの道を開きました。これらのランタイムは、ネイティブコードに依存することなく、ウェブベースのアプリケーションをアプリストアに展開できるようにします。このプロセスを容易にする技術の一つがCapacitorJS、これにより開発者は単一のJavaScriptコードベースを使用して、Android、iOS、およびウェブ全体にアプリケーションとして単純なウェブサイトを展開できます。この手法は、開発コストを大幅に削減し、コーディングの効率を高めます。
このガイドでは、追加のフレームワークなしで純粋なJavaScriptを使用してアプリケーションを作成することに焦点を当てます。2021年の純粋なJavaScriptアプリ開発のリソースを見つけることの難しさにもかかわらず、CapacitorJSを使用してアプリケーションを構築し、ネイティブプラグインを利用するための包括的なチュートリアルを提供します。
‣ 前提条件
始める前に、次のツールがインストールされていることを確認してください:
- Node.js (v14.16.1) 以上
- NPM (v7.6.2) 以上
- Android Studio Androidアプリ開発用
- Xcode iOSアプリ開発用(macOSのみ)
注意:iOSアプリの開発はmacOSデバイスでのみ可能です。
‣ Capacitorプロジェクトの設定
Capacitorアプリケーションを作成するには、希望のフォルダに移動し、ターミナルで次のコマンドを実行します:
プロンプトに従ってパッケージをインストールし、プロジェクトを設定します。Capacitor v3では、プロジェクトディレクトリはこのようになります:
初期設定が完了したら、次のステップに進む準備ができました。
‣ プロジェクトの再構成
Viteを使用してJavaScriptファイルをバンドルするため、プロジェクトを次のように再構成しましょう:
- 新しいフォルダ
src
をメインディレクトリに作成 - 新しいスクリプトファイル
index.js
をsrc/
に作成 - Vite設定ファイル
vite.config.js
をメインディレクトリに作成 www/js/
からcapacitor-welcome.js
ファイルを削除
新しいフォルダ構造は次のようになります:
‣ 純粋なJavaScriptへの適応
いくつかのファイルを修正して、純粋なJavaScriptで動作するようにしましょう:
www/index.html
1 アプリをPWAとして公開しない場合は、Ionic PWA Elements のスクリプトインポートを削除:
2 ボディから <script type="module" src="https://unpkg.com/@ionic/pwa-elements@latest/dist/ionicpwaelements/ionicpwaelements.esm.js">
HTML要素を削除
3 スクリプトインポートを capacitor.js
から js/main.js
に更新します。これがバンドルされたJavaScriptファイルになります。
4 js/capacitor-welcome.js
インポートを削除します。これで index.html
の準備が整いました。
vite.config.js
Node.jsモジュールをViteでバンドルするために、バンドルされたスクリプトの出力先を指定する設定ファイルが必要です。次の設定では、ファイル src/index.js
を取り出し、プロダクション用に www/js/main.js
としてバンドルします:
capacitor.config.json
capacitor.config.json
ファイル内で、 "bundledWebRuntime": true
プロパティを見つけ、 false
に変更します。この調整により、Capacitorはファイルをバンドルせず、その目的のためにViteを使用できるようになります。
これらの変更により、Capacitorアプリケーションの基本設定が完了し、純粋なJavaScriptでアプリの開発を開始する準備が整いました。
‣ アプリの開発
基盤が整ったので、 src/index.js
ファイルでアプリケーションロジックの記述を開始できます。ここで、必要なNode.jsモジュールをインポートしたり、アプリの機能を定義したり、Capacitorのネイティブプラグインと対話したりできます。
変更を加えるたびに、JavaScriptファイルをバンドルするためにViteのビルドコマンドを実行することを忘れないでください:
このコマンドにより、 www/js
ディレクトリ内に main.js
ファイルが生成され、 index.html
ファイルで参照されます。
‣ テストとデバッグ
Capacitorは、さまざまなプラットフォームでアプリケーションをテストする便利な方法を提供します。次のコマンドを使用して、各プラットフォームの開発環境でアプリを開きます:
Android用:
iOS(macOS専用)用:
Web/PWA用:
これらのコマンドを使用すると、Android Studio、Xcode、またはウェブブラウザでアプリケーションを実行でき、必要に応じてテストやデバッグが可能です。
‣ 結論
CapacitorJSを使用して純粋なJavaScriptでクロスプラットフォームアプリケーションを開発することは、単一のコードベースで複数のプラットフォーム用のアプリを作成するためのコスト効率が高く効率的な方法です。このガイドに従うことで、プロジェクトをセットアップし、Vite用に再構築し、アプリを開発のために準備しました。この基盤があれば、堅牢で多用途なアプリケーションを構築する道を順調に進んでいます。
すべてのプラットフォームで徹底的にテストを行い、Capacitorのネイティブプラグインを活用してアプリの機能を強化することを忘れないでください。コーディングを楽しんでください!