Tuto

Sviluppare App Multi-Piattaforma con CapacitorJS: Una Guida Passo dopo Passo

Javascriptのコードベース1つで、Android、iOS、web(PWA)向けのクロスプラットフォームアプリケーションをCapacitorJSを使用して作成する方法を学びましょう。

Sviluppare App Multi-Piattaforma con CapacitorJS: Una Guida Passo dopo Passo

モバイルアプリケーション開発の進化する世界において、プログレッシブウェブアプリケーション(PWA)の台頭により、新しいクロスプラットフォームランタイムの道が開かれました。これらのランタイムにより、ネイティブコードのみに依存することなく、Webベースのアプリケーションをアプリストアで提供することが可能になりました。CapacitorJSはそのような技術の1つで、開発者が単一のJavaScriptコードベースを使用して、シンプルなウェブサイトをAndroid、iOS、およびWebアプリケーションとしてデプロイすることを可能にします。このアプローチにより、開発コストが大幅に削減され、コーディング効率が向上します。

このガイドでは、追加のフレームワークを使用せず、純粋なJavaScriptを使用してアプリケーションを作成することに焦点を当てます。2021年において純粋なJavaScriptアプリ開発のリソースを見つけることは課題ですが、CapacitorJSを使用してアプリケーションを構築し、ネイティブプラグインを活用する包括的なチュートリアルを提供します。

‣ 前提条件

開始する前に、以下のツールがインストールされていることを確認してください:

  • Node.js (v14.16.1) 以上
  • NPM (v7.6.2) 以上
  • Android Studio Android アプリ開発用
  • Xcode iOS アプリ開発用(macOSのみ)

注意: iOSアプリの開発はmacOSデバイスでのみ可能です

‣ Capacitorプロジェクトのセットアップ

Capacitorアプリケーションを作成するには、希望のフォルダに移動し、ターミナルで以下のコマンドを実行します:

npm init @capacitor/app

プロンプトに従ってパッケージをインストールし、プロジェクトをセットアップします。Capacitor v3では、プロジェクトディレクトリは以下のようになります:

www/
css/
style.css
js/
capacitor-welcome.js
index.html
manifest.json
.gitignore
capacitor.config.json
package.json
README.md

初期セットアップが完了したら、次に進む準備が整いました。

‣ プロジェクトの再構築

JavaScriptファイルをバンドルするためにViteを使用するので、それに応じてプロジェクトを再構築しましょう:

  • メインディレクトリに新しいフォルダ src作成
  • src/ に新しいスクリプトファイル index.js作成
  • メインディレクトリにVite設定ファイル vite.config.js作成
  • www/js/ から capacitor-welcome.js ファイルを削除

新しいフォルダ構造は以下のようになります:

src/
index.js
www/
css/
style.css
js/
index.html
manifest.json
.gitignore
capacitor.config.json
package.json
README.md
vite.config.js

‣ 純粋なJavaScriptへの適応

純粋なJavaScriptで動作するようにいくつかのファイルを修正しましょう:

www/index.html

  1. アプリをPWAとしてリリースしない場合は、Ionic PWA Elementsのスクリプトインポートを削除します:
<script type="module" src="https://unpkg.com/@ionic/pwa-elements@latest/dist/ionicpwaelements/ionicpwaelements.esm.js"></script>
<script nomodule src="https://unpkg.com/@ionic/pwa-elements@latest/dist/ionicpwaelements/ionicpwaelements.js"></script>
  1. bodyから<script type="module" src="https://unpkg.com/@ionic/pwa-elements@latest/dist/ionicpwaelements/ionicpwaelements.esm.js">HTML要素を削除します

  2. スクリプトインポートをcapacitor.jsからjs/main.jsに更新します。これが私たちのバンドルされたJavaScriptファイルになります

  3. js/capacitor-welcome.jsのインポートを削除します。これでindex.htmlの準備が整いました

vite.config.js

ViteでNodejsモジュールをバンドルするには、バンドルされたスクリプトの出力先を指定する設定ファイルが必要です。以下の設定により、src/index.jsファイルを取得し、www/js/main.jsとして本番用にバンドルします:

import { defineConfig } from 'vite';
import path from 'path';
export default defineConfig({
build: {
outDir: path.resolve(__dirname, 'www'),
rollupOptions: {
input: './src/index.js',
output: {
format: 'es',
file: path.resolve(__dirname, 'www/js/main.js')
}
}
}
});

capacitor.config.json

capacitor.config.jsonファイルで、"bundledWebRuntime": trueプロパティを探し、falseに変更します。この調整により、Capacitorがファイルをバンドルせず、代わりにViteを使用できるようになります。

これらの変更により、Capacitorアプリケーションの基本的なセットアップが完了し、純粋なJavaScriptでアプリの開発を開始する準備が整いました。

‣ アプリの開発

基礎が整ったので、src/index.jsファイルでアプリケーションロジックの記述を開始できます。ここで、必要なNodejsモジュールをインポートし、アプリの機能を定義し、Capacitorのネイティブプラグインと対話することができます。

変更を加えるたびに、Viteのビルドコマンドを実行してJavaScriptファイルをバンドルすることを忘れないでください:

Terminal window
vite build

このコマンドにより、index.htmlファイルが参照するwww/jsディレクトリにmain.jsファイルが生成されます。

‣ テストとデバッグ

Capacitorは、様々なプラットフォームでアプリケーションをテストする便利な方法を提供します。それぞれのプラットフォームの開発環境でアプリを開くには、以下のコマンドを使用します:

For Android:

Terminal window
npx cap add android
npx cap open android

For iOS (macOS only):

Terminal window
npx cap add ios
npx cap open ios

For Web/PWA:

Terminal window
npx cap serve

これらのコマンドを使用することで、Android Studio、Xcode、またはウェブブラウザでアプリケーションを実行し、必要に応じてテストやデバッグを行うことができます。

‣ まとめ

純粋なJavaScriptを使用してCapacitorJSでクロスプラットフォームアプリケーションを開発することは、単一のコードベースで複数のプラットフォーム向けのアプリを作成する、コスト効率の良い効果的な方法です。このガイドに従うことで、プロジェクトのセットアップ、Vite用の再構築、そして開発のためのアプリの準備が整いました。この基盤があれば、堅牢で汎用性の高いアプリケーションを構築する準備が整っています。

すべてのプラットフォームで徹底的にテストを行い、Capacitorのネイティブプラグインを活用してアプリの機能を強化することを忘れないでください。ハッピーコーディング!

CapacitorJSアプリのための即時更新

CapacitorJSアプリに即座に更新、修正、機能をプッシュし、アプリストアの遅延を回避します。Capgoでシームレスな統合、エンドツーエンドの暗号化、リアルタイムの更新を体験してください。

今すぐ始めよう

最新のニュース

Capgoは、真にプロフェッショナルなモバイルアプリを作成するために必要な最高のインサイトを提供します。