Capacitor Capacitorが開発者にiOSとAndroid向けのアプリを同じコードベースで作成するのに役立ちます。Capacitorはプラットフォーム固有の差異を解決し、ネイティブ機能の統合を簡素化し、プラットフォームガイドラインへの準拠を保証し、パフォーマンスを最適化します。主な特徴は次のとおりです。
- プラットフォーム検出: 使用
Capacitor.getPlatform()プラットフォーム固有の code を適用する - 組み込みプラグイン: カメラ、ストレージ、位置情報などの機能に統一された API
- カスタム プラグイン: 一意の要件に対してネイティブ code を追加
- UI アダプテーション: iOS (例えば、SF Symbols、丸いボタン) と Android (例えば、Material Icons) のデザインルールに従う SF Symbols丸いボタン Material Icons、左寄せのボタン。
- 設定:両方のプラットフォームの設定を調整します。
capacitor.config.jsonリアルタイムの更新 - __CAPGO_KEEP_0__ Capgo即時更新
:Capgoにプルリクエストを送信する
| :即時更新で、App Storeの遅延なしで、24時間以内に95%のユーザーが採用することができます。 | 比較 | 機能 |
|---|---|---|
| iOS | Bottom tab bars, back button left | Top navigation drawer, bottom nav |
| Typography | San Francisco font | Roboto font |
| プラグイン (例:カメラ) | AVFoundation | カメラ2 API |
| ビルド出力 | .ipa ファイル |
.aab または .apk ファイル |
Capacitorは、Webアプリとネイティブアプリの開発を結び付ける橋となり、クロスプラットフォームアプリの開発を容易にし、プラットフォーム固有の最適化を維持します。
クロスプラットフォーム開発: CapacitorJSを…
How Capacitor Handles Platform Code

Capacitor offers tools to manage platform-specific code, allowing developers to create tailored experiences for iOS and Android using a single API.
Codeは、iOSとAndroid向けに独自の体験を提供するために、開発者が単一の__CAPGO_KEEP_2__で管理するプラットフォーム固有の__CAPGO_KEEP_1__を提供します。
With Capacitor’s built-in platform API, detecting the current platform is simple. The Capacitor.getPlatform() __CAPGO_KEEP_0__の組み込みプラットフォーム__CAPGO_KEEP_1__を使用すると、現在のプラットフォームを検出することが簡単になります。このメソッドは、実行中の環境を識別し、条件付きロジックを適用するのを容易にします:
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を使用し、Androidでは指紋認証を使用します。 Face ID and Android relies on Fingerprint Authentication. Along with platform detection, Capacitor’s built-in plugins simplify native integration.
プラットフォームの差異を簡単に処理するために、__CAPGO_KEEP_0__の組み込みプラグインを使用します。
Capacitor comes with a set of core plugins that handle platform-specific differences seamlessly. These plugins manage the complexities of native implementations while providing a consistent JavaScript interface:
| __CAPGO_KEEP_0__には、プラットフォーム固有の差異を自動的に処理するためのコアプラグインが含まれています。これらのプラグインは、ネイティブ実装の複雑さを管理し、統一されたJavaScriptインターフェイスを提供します。 | プラグイン | iOS実装 |
|---|---|---|
| Android実装 | カメラ | Camera2 API |
| __CAPGO_KEEP_0__ | ストレージ | UserDefaults |
| SharedPreferences | 位置情報 | CoreLocation |
位置情報管理
各プラグインは、プラットフォームのネイティブAPIを自動的に使用するため、Smoothなパフォーマンスと機能性を保証します。
カスタムプラットフォームプラグインの作成
-
必要な機能が組み込まれたプラグインが見つからない場合、特定のネイティブAPIにアクセスするためのカスタムプラグインを作成できます。ここではその方法を説明します。
@Plugin({ name: 'CustomFeature', platforms: ['ios', 'android'] }) -
Add Native Code
@PluginMethod() async customFunction(): Promise<void> { if (Capacitor.getPlatform() === 'ios') { // Add iOS-specific code } else { // Add Android-specific code } } -
ネイティブの__CAPGO_KEEP_0__の追加
-
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 |
|---|---|---|
| ナビゲーション | 下部タブバー、左側の戻るボタン | 上部ナビゲーションドロワー、下部ナビゲーション |
| フォント | San Francisco フォント | Roboto フォント |
| ボタン | 丸角の四角形、中央寄せのテキスト | Material Design ボタン、左寄せのテキスト |
| ヘッダー | 大きなタイトル、中央寄せ | アプリバー、左寄せ |
| アイコン | 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);
}
Using Capacitor, you can integrate platform-specific UI components while keeping functionality consistent. It also helps manage system-wide settings like Dark Mode and Dynamic Type. To complete the process, make sure your platform-specific build settings align with these guidelines.
プラットフォーム設定と構成
After managing your platform code, proper configuration is essential to ensure your app runs smoothly on both iOS and Android.
プラットフォーム設定 capacitor.config.json
Capacitorを使用して 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 プロパティ |
androidScheme プロパティ |
| ステータス バー | 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')
}
}
}
Capacitorは以下の重要なビルドの考慮事項を取り扱っています:
| アスペクト | iOS | Android |
|---|---|---|
| パーミッション | Add entries in Info.plist |
Define in AndroidManifest.xml |
| アイコン | サイズは20pxから1024pxまで | 密度はmdpiからxxxhdpiまで |
| スプラッシュスクリーン | ストーリーボードベース | レイアウト XMLベース |
| ビルド出力 | .ipa ファイル |
.aab または .apk Capacitorの |
Capacitorのファイル Capgo

Capacitorの Capacitor apps updated efficiently for both iOS and Android is crucial. Capgo offers a live update system that aligns with the guidelines of both platforms.
Capgo Features
| 機能 | 説明 | プラットフォームの利点 |
|---|---|---|
| 即時更新 | アプリストアのレビューなしで即時展開 | iOSとAndroidで統一された体験を保証 |
| 端末間の暗号化 | 更新の配信をセキュア化 | 両方のプラットフォームのセキュリティ要件を満たす |
| チャンネルシステム | 特定のユーザーグループをターゲット | ベータテストとフェーズドロールアウトをサポート |
| Partial Updates | ダウンロードのみ変更されたコンテンツ | バンド幅を節約し、更新を高速化 |
Capgo has delivered 23.5 million updates, achieving a 95% active user update rate within 24 hours [1]これらの機能により 更新管理 プラットフォーム間で滑らかで効率的な更新
Capgo Platform Management
Capgo’s channel system makes updates easier to manage. Developers can test iOS-specific features with beta users, roll out Android updates in stages, and track performance metrics seamlessly.
プラットフォームはAppleとGoogleのオーバー・ザ・エア更新要件に準拠しています [1].
Currently, 750 production apps rely on Capgo, maintaining an 82% global update success rate [1]CI/CD統合により、デプロイが簡素化され、ロールバック機能により、問題が発生した場合に前のバージョンに戻すことができます。リアルタイムの分析により、更新のパフォーマンスとアプリの安定性を維持するための洞察が得られます。
Conclusion
Platform Management Benefits
Capacitorでプラットフォームの差異を効果的に管理することで、クロスプラットフォーム開発が向上します。プラットフォームの検出と設定のための組み込みツールを備えたCapacitorにより、iOSとAndroid両方に対してSmoothなエクスペリエンスを提供することができます。各プラットフォームの独自のデザインスタンダードと機能を尊重することができます。
開発チームが更新を迅速にリリースし、ユーザーの満足度を向上させることができるようにするには、適切なプラットフォーム管理に焦点を当てましょう。Capgoなどのツールは、一貫したプラットフォームハンドリングが更新成功率の向上とユーザー エクスペリエンスの向上につながることを示しています。 [1].
“Agile開発を実践しており、@Capgoはユーザーに継続的に提供するmission-criticalなものです!”
– Rodrigo Mantica [1]
これらの洞察は、実践的な改善を導くことができます。
次のステップ
プラットフォームの検出を有効にする
| 利点 | プラットフォームの検出を有効にする |
|---|---|
| 利点 | iOSとAndroidのニーズに自動で調整される |
| ライブアップデートを実装する | 急な修正のためにアプリストアの遅延を回避する |
| 分析設定 | 各プラットフォームのパフォーマンスメトリクスを追跡する |
| ロールバックサポートを有効にする | プラットフォーム固有の問題を迅速に解決する |
開発者がワークフローを改善するために使用するツールとして、Capgoはプロセスを簡素化できます。エンドツーエンド暗号化やCI/CD統合などの機能は、チームが一貫性を維持しながら効率的にアップデートを展開できるように支援します。
プラットフォーム管理の成功は、適切なツールの使用とプラットフォーム固有のガイドラインへの従順に依存します。強力な検出と管理戦略に焦点を当てると、開発者はiOSとAndroid両方でアプリが滑らかに動作することを保証できます。
How Capacitorがプラットフォームの差異を処理する方法については続きます
__CAPGO_KEEP_0__を使用している場合 How Capacitorがプラットフォームの差異を処理する方法について プラットフォームの差異を処理するCapacitorの方法 ライブ活動用に@capgo/capacitor-live-activitiesを使用 ライブ活動用のネイティブ機能のために@capgo/capacitor-live-activitiesを使用 @capgo/capacitor-live-activities ライブ活動用の実装詳細のために@capgo/capacitor-live-activitiesを使用 ライブ活動用に@capgo/capacitor-video-playerを使用 ネイティブ機能としてライブ活動用の@capgo/capacitor-video-playerを使用 @capgo/capacitor-video-player ライブ活動用の実装詳細として@capgo/capacitor-video-playerを使用 ネイティブナビゲーション用に@capgo/capacitor-native-navigationを使用 ネイティブ機能としてライブ活動用の@capgo/capacitor-native-navigationを使用