Capacitor 開発者がiOSおよびAndroid向けのアプリを同じコードベースで作成し、プラットフォーム固有の差異を対処するのに役立ちます。また、ネイティブ機能の統合を簡素化し、プラットフォームガイドラインへの準拠を保証し、パフォーマンスを最適化します。主な特徴:
- プラットフォーム検出:
Capacitor.getPlatform()to apply platform-specific code. - プラットフォーム固有の__CAPGO_KEEP_0__を適用します。組み込みプラグイン
- :: Add native code for unique requirements.
- カスタムプラグイン: iOSのデザインルールに従ってください (例えば、 SF Symbols、丸いボタン) とAndroid (例えば、 Material Icons、左寄せのボタン)。
- 設定: 両方のプラットフォームの設定を調整します。
capacitor.config.jsonリアルタイム更新 - : __CAPGO_KEEP_0__ Capgo比較
__CAPGO_KEEP_0__
| 機能 | iOS | Android |
|---|---|---|
| ナビゲーション | 下部タブバー、左側の戻るボタン | 上部ナビゲーションドロワー、下部ナビゲーション |
| フォント | San Francisco フォント | Roboto フォント |
| プラグイン (例: カメラ) | AVFoundation | カメラ2 API |
| ビルド出力 | .ipa ファイル |
.aab または .apk ファイル |
Capacitorは、Webアプリとネイティブアプリの開発を結び付ける橋となり、クロスプラットフォームアプリの開発を容易にし、プラットフォーム固有の最適化を維持することができます。
クロスプラットフォーム開発:CapacitorJSを…
どうして Capacitor CodeはプラットフォームCodeを取り扱います。

Capacitorは、iOSとAndroid向けにカスタマイズされたエクスペリエンスを提供するために、開発者にプラットフォーム固有のcodeを管理するツールを提供し、単一のAPIで開発することができます。
Detect Platforms in Code
Capacitorの組み込みプラットフォームAPIを使用すると、現在のプラットフォームを検出することが簡単になります。 Capacitor.getPlatform() このメソッドは、実行中の環境を特定することで、条件付きロジックを適用することが容易になります。
import { Capacitor } from '@capacitor/core';
const platform = Capacitor.getPlatform();
if (platform === 'ios') {
// Code specific to iOS
} else if (platform === 'android') {
// Code specific to Android
}
このアプローチは、特に 生物認証のような機能では特に便利です。iOSでは Face ID and Android relies on Fingerprint Authentication. Along with platform detection, Capacitor’s built-in plugins simplify native integration.
指紋認証
を使用します。プラットフォーム検出に加えて、Capacitorの組み込みプラグインはネイティブ統合を簡素化します。
| __CAPGO_KEEP_0__には、プラットフォーム固有の差異を自動的に管理するためのコアプラグインが含まれています。これらのプラグインは、ネイティブ実装の複雑さを管理しながら、統一されたJavaScriptインターフェイスを提供します。 | プラグイン | Android実装 |
|---|---|---|
| カメラ | AVFoundation | カメラ2 API |
| ストレージ | ユーザー設定 | 共有設定 |
| 位置情報 | CoreLocation | 位置管理 |
各プラグインは、プラットフォームのネイティブAPIを自動的に使用するため、Smoothなパフォーマンスと機能性を保証します。
カスタムプラットフォームプラグインの作成
標準のプラグインでは対応できない場合、特定のネイティブAPIにアクセスするためのカスタムプラグインを作成できます。ここではそれについて説明します。
-
プラグインの定義
@Plugin({ name: 'CustomFeature', platforms: ['ios', 'android'] }) -
ネイティブのCodeを追加する
@PluginMethod() async customFunction(): Promise<void> { if (Capacitor.getPlatform() === 'ios') { // Add iOS-specific code } else { // Add Android-specific code } } -
プラットフォームハンドラーの実装
-
iOS (Swift):
@objc func customFunction(_ call: CAPPluginCall) { // Add native iOS functionality } -
Android (Kotlin):
@PluginMethod fun customFunction(call: PluginCall) { // Add native Android functionality }
-
カスタムプラグインは、APIを簡単に使用できるようにすることで、ネイティブの機能にアクセスすることができます。これにより、パフォーマンスと機能性が保たれ、開発プロセスが複雑化することなく実現できます。
プラットフォーム固有のUIガイドライン
iOSとAndroidのデザインルールの比較
iOSとAndroidのデザインを行う際には、ネイティブのデザインパターンを遵守することが重要です。各プラットフォームのユーザーは、ナビゲーション、フォント、ボタン、ヘッダー、アイコンなどのことについて異なる期待をしています。ここでは、それらの比較について説明します。
| デザイン要素 | iOS | Android |
|---|---|---|
| ナビゲーション | __CAPGO_KEEP_0__ | __CAPGO_KEEP_0__ |
| タイポグラフィ | San Francisco フォント | Roboto フォント |
| ボタン | 丸角の長方形、中央のテキスト | マテリアル デザイン ボタン、左寄せのテキスト |
| ヘッダー | 大きいタイトル、中央 | App bars, left-aligned |
| アイコン | SF Symbols | Material Icons |
クロスプラットフォーム デザイン スタンダード
各プラットフォームには独自のルールがありますが、両方のプラットフォームで一貫したブランド イデンティティを維持することは重要です。ここでは、どのようにして一貫性を保つことができるかを説明します。
const sharedStyles = {
primaryColor: '#007AFF', // iOS blue
androidPrimaryColor: '#6200EE', // Material Design purple
borderRadius: Capacitor.getPlatform() === 'ios' ? '10px' : '4px'
};
:root {
--app-header-height: var(--platform-header-height, 56px);
--app-safe-area-top: var(--platform-safe-area-top, 0px);
}
Capacitor を使用すると、プラットフォーム固有の UI コンポーネントを統合することができ、機能性を一貫させることができます。また、システム全体の設定、例えばダークモードやダイナミック タイプの管理も可能です。プロセスを完了するには、プラットフォーム固有のビルド設定がこれらのガイドラインと一致していることを確認してください。
プラットフォーム設定と構成
After managing your platform code, proper configuration is essential to ensure your app runs smoothly on both iOS and Android.
プラットフォーム設定 capacitor.config.json
設定 capacitor.config.json ファイルを使用して、重要なプラットフォーム固有の設定を定義してください:
{
"appId": "com.example.app",
"appName": "MyApp",
"ios": {
"contentInset": "always",
"backgroundColor": "#ffffff",
"scheme": "myapp",
"preferredContentMode": "mobile"
},
"android": {
"backgroundColor": "#FFFFFF",
"allowMixedContent": true,
"captureInput": true,
"webContentsDebuggingEnabled": true
}
}
設定オプションを検討してください:
| オプション | iOS | Android |
|---|---|---|
| Deep Links | scheme __CAPGO_KEEP_0__ |
androidScheme __CAPGO_KEEP_1__ |
| ステータス バー | statusBar.style |
statusBar.backgroundColor |
| キーボード | keyboard.resize |
keyboard.resize, keyboard.style |
| スプラッシュ画面 | splashScreen.launchShowDuration |
splashScreen.layoutName |
実行時設定が完了したら、各プラットフォームのパフォーマンスを向上させるためにビルド設定を調整してください。
プラットフォーム固有のビルド設定
iOSとAndroidのアプリを最適化するために、ビルド設定を細かく調整してください。
iOSの場合、 Info.plist ファイル:
<key>NSCameraUsageDescription</key>
<string>Required for document scanning</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Required for store locator</string>
Androidの場合、 android/app/build.gradle:
android {
defaultConfig {
minSdkVersion 21
targetSdkVersion 33
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt')
}
}
}
ビルドの重要な考慮事項は次のとおりです:
| アスペクト | iOS | Android |
|---|---|---|
| パーミッション | Add entries in Info.plist |
定義する AndroidManifest.xml |
| アイコン | 20pxから1024pxまでのサイズ | mdpiからxxxhdpiまでの密度 |
| スプラッシュ画面 | Storyboardベース | レイアウトXMLベース |
| ビルド出力 | .ipa ファイル |
.aab または .apk ファイル |
アプリを更新するには Capgo

Keeping Capacitorアプリの Capgoは、iOSとAndroid両方のプラットフォームのガイドラインに沿ったライブアップデートシステムを提供しています。
Capgoの機能
| 機能 | 説明 | プラットフォームの利点 |
|---|---|---|
| ライブアップデート | アプリストアのレビューなしで即刻展開 | iOSとAndroidで統一された体験を保証 |
| 端末間の暗号化 | アップデート配信のセキュリティを確保 | 両方のプラットフォームのセキュリティ要件を満たします。 |
| チャネルシステム | 特定のユーザーグループをターゲットにします。 | ベータテストとフェーズドロールアウトをサポートします。 |
| 部分的な更新 | 変更されたコンテンツのみをダウンロードします。 | バンド幅を節約し、更新を速める |
Capgoは、24時間以内に95%のアクティブユーザーが更新されることを実現するために、23.5万回の更新を実行しました。 [1]これらの機能により 更新管理 プラットフォームをまたがって滑らかで効率的なものになります。
Capgoプラットフォーム管理
Capgoのチャンネルシステムにより、更新の管理が容易になります。開発者はiOS向けの機能をベータユーザーとともにテストし、Androidの更新を段階的に実施し、パフォーマンスの指標をシームレスに追跡できます。
プラットフォームはAppleとGoogleのオーバー・ザ・エア更新の要件に準拠しています。 [1].
現在、Capgoに依存する750の製品アプリが存在し、グローバル更新成功率は82%を維持しています。 [1]CI/CDの統合により、展開が簡素化され、ロールバック機能により、問題が発生した場合に前のバージョンに戻すことができるようになります。リアルタイムの分析により、更新のパフォーマンスに関する洞察が得られ、安定したアプリの維持が可能になります。
結論
プラットフォーム管理の利点
Capacitorでプラットフォームの差異を効果的に管理することで、クロスプラットフォーム開発が向上します。プラットフォームの検出と設定のための組み込みツールにより、開発者はiOSとAndroid両方に対してSmoothなエクスペリエンスを提供し、各プラットフォームの独自のデザインスタンダードと機能を尊重することができます。
プラットフォーム管理に焦点を当てた開発チームは、更新を迅速にリリースし、ユーザーの満足度を向上させることができます。Capgoのようなツールは、一貫したプラットフォームの取り扱いが高い更新成功率と良好なユーザーエクスペリエンスにつながることを示しています。 [1].
「アジャイル開発を実践しており、@Capgoはユーザーに継続的に提供するmission-criticalなツールです」とRodrigo Mantica氏が述べました。
これらの洞察は、実践的な改善を導くことができます。 [1]
次のステップ
__CAPGO_KEEP_0__のチャンネルシステムにより、更新の管理が容易になります。開発者はiOS向けの機能をベータユーザーとともにテストし、Androidの更新を段階的に実施し、パフォーマンスの指標をシームレスに追跡できます。
__CAPGO_KEEP_0__
| アクションアイテム | 利点 |
|---|---|
| プラットフォーム検出を有効にする | iOSとAndroidの両方のニーズに自動調整 |
| ライブアップデートを実装 | 急な修正のためにアプリストアの遅延を回避 |
| 分析設定 | 各プラットフォームのパフォーマンスメトリクスを追跡 |
| ロールバックサポートを有効にする | プラットフォーム固有の問題を迅速に解決 |
開発者がワークフローを改善することを目指している場合は、ツールのようなCapgoがプロセスを簡素化できる。エンドツーエンド暗号化やCI/CD統合などの機能により、チームは一貫性を維持しながら効率的にアップデートを展開できる
プラットフォーム管理の成功は、適切なツールの使用とプラットフォーム固有のガイドラインへの従順に依存します。開発者は、iOSとAndroid両方でアプリが平滑に動作するようにするために、強力な検出と管理戦略に焦点を当てて、プラットフォームの差異をうまく乗り越えることができます。
Capacitorがプラットフォームの差異をどのように処理するかについては、ここから続きます。
あなたが「__CAPGO_KEEP_0__」を使用している場合 Capacitorがプラットフォームの差異をどのように処理するかについては、ここから続きます。 __CAPGO_KEEP_0__/__CAPGO_KEEP_1__-live-activities capgo/capacitor-live-activities capgo/capacitor-live-activities capgo/capacitor-video-player capgo/capacitor-video-player Using @capgo/capacitor-video-player for the native capability in Using @capgo/capacitor-video-player, @capgo/capacitor-video-player For the implementation detail in @capgo/capacitor-video-player, and Using @capgo/capacitor-native-navigation For the native capability in Using @capgo/capacitor-native-navigation.