Capacitor aiuta gli sviluppatori a creare app per iOS e Android con lo stesso codebase, gestendo le differenze specifiche di ogni piattaforma. Semplifica l'integrazione delle feature native, garantisce la conformità alle linee guida e ottimizza le performance. Punti chiave:
- Rilevamento della piattaforma: Usa
Capacitor.getPlatform()per applicare code specifici per piattaforma. - Plugin integrati: API unificate per funzionalità come Camera, Storage e Geolocation.
- Plugin personalizzati: Aggiungi code nativi per requisiti specifici.
- Adattamenti UI: Segui le linee guida di design per iOS (es. SF Symbols, bottoni arrotondati) e Android (es. Material Icons, bottoni allineati a sinistra).
- Configurazione: Regola le impostazioni in
capacitor.config.jsonper entrambe le piattaforme. - Live Update con Capgo: Distribuisci aggiornamenti istantaneamente senza i ritardi degli store, raggiungendo fino al 95% di utenti entro 24 ore.
Confronto rapido
| Funzionalità | iOS | Android |
|---|---|---|
| Navigazione | Tab bar in basso, tasto indietro a sinistra | Navigation drawer in alto, nav in basso |
| Tipografia | Font San Francisco | Font Roboto |
| Plugin (es. Camera) | AVFoundation | Camera2 API |
| Output del Build | .ipa file |
.aab o .apk file |
Capacitor colma il divario tra lo sviluppo web e quello nativo, facilitando la creazione di app cross-platform e mantenendo le ottimizzazioni specifiche per ogni piattaforma.
Sviluppo Cross-Platform: Esplorando CapacitorJS con …
Come Capacitor Gestione delle piattaforme Code

Capacitor offre strumenti per gestire code specifiche per piattaforma, permettendo agli sviluppatori di creare esperienze su misura per iOS e Android con un unico API.
Rilevare le piattaforme in Code
Grazie alla API di piattaforma integrata in Capacitor, rilevare la piattaforma corrente è semplicissimo. Il Capacitor.getPlatform() metodo identifica l'ambiente in esecuzione, rendendo facile applicare logiche condizionali:
import { Capacitor } from '@capacitor/core';
const platform = Capacitor.getPlatform();
if (platform === 'ios') {
// Code specific to iOS
} else if (platform === 'android') {
// Code specific to Android
}
Questo approccio è particolarmente utile per funzionalità come l'autenticazione biometrica, dove iOS potrebbe usare Face ID e Android si affida alla Fingerprint Authentication. Oltre al rilevamento della piattaforma, i plugin integrati di Capacitor semplificano l'integrazione nativa.
Funzionalità Native Integrate
Capacitor include un set di plugin core che gestiscono senza problemi le differenze tra le piattaforme. Questi plugin gestiscono la complessità delle implementazioni native offrendo un'interfaccia JavaScript coerente:
| Plugin | Implementazione iOS | Implementazione Android |
|---|---|---|
| Fotocamera | AVFoundation | Camera2 API |
| Storage | UserDefaults | SharedPreferences |
| Geolocalizzazione | CoreLocation | LocationManager |
Ogni plugin utilizza automaticamente le API native della piattaforma, garantendo prestazioni e funzionalità fluide.
Crea Plugin di Piattaforma Custom
Se i plugin integrati non soddisfano le tue esigenze, puoi creare plugin custom per accedere a specifiche API native. Ecco come:
-
Definisci il Plugin
@Plugin({ name: 'CustomFeature', platforms: ['ios', 'android'] }) -
Aggiungi Code Native
@PluginMethod() async customFunction(): Promise<void> { if (Capacitor.getPlatform() === 'ios') { // Add iOS-specific code } else { // Add Android-specific code } } -
Implementa gli Handler di Piattaforma
-
iOS (Swift):
@objc func customFunction(_ call: CAPPluginCall) { // Add native iOS functionality } -
Android (Kotlin):
@PluginMethod fun customFunction(call: PluginCall) { // Add native Android functionality }
-
I plugin custom permettono l'accesso alle feature native mantenendo il API coerente e semplice da usare. Questo garantisce performance e funzionalità senza complicare il processo di sviluppo.
Linee Guida UI Specifiche per Piattaforma
Regole di design: iOS vs Android
Quando si progetta per iOS e Android, è fondamentale seguire i pattern di design nativi. Gli utenti di ogni piattaforma hanno aspettative diverse su elementi come navigazione, tipografia, bottoni, header e icone. Ecco un confronto:
| Elemento di design | iOS | Android |
|---|---|---|
| Navigazione | Tab bar in basso, tasto back a sinistra | Navigation drawer in alto, navigazione in basso |
| Tipografia | Font San Francisco | Font Roboto |
| Bottoni | Rettangoli arrotondati, testo centrato | Bottoni Material Design, testo allineato a sinistra |
| Header | Titoli grandi, centrati | App bar, allineate a sinistra |
| Icone | SF Symbols | Material Icons |
Standard di Design Cross-Platform
Sebbene ogni piattaforma abbia le proprie regole, mantenere un'identità di brand coesa su entrambe è fondamentale. Ecco come garantire la coerenza:
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);
}
Usando Capacitor, puoi integrare componenti UI specifici per ogni piattaforma mantenendo le funzionalità costanti. Aiuta anche a gestire le impostazioni di sistema come Dark Mode e Dynamic Type. Per completare il processo, assicurati che le impostazioni di build specifiche per la piattaforma seguano queste linee guida.
Configurazione e Setup della Piattaforma
Dopo aver gestito la tua code di piattaforma, una configurazione corretta è essenziale per far girare l'app senza problemi sia su iOS che su Android.
Impostazioni di piattaforma in capacitor.config.json
Usa il valore capacitor.config.json file per definire le impostazioni chiave specifiche per piattaforma:
{
"appId": "com.example.app",
"appName": "MyApp",
"ios": {
"contentInset": "always",
"backgroundColor": "#ffffff",
"scheme": "myapp",
"preferredContentMode": "mobile"
},
"android": {
"backgroundColor": "#FFFFFF",
"allowMixedContent": true,
"captureInput": true,
"webContentsDebuggingEnabled": true
}
}
Ecco alcune opzioni di configurazione da considerare:
| Opzione | iOS | Android |
|---|---|---|
| Deep Links | scheme proprietà |
androidScheme proprietà |
| Barra di stato | statusBar.style |
statusBar.backgroundColor |
| Tastiera | keyboard.resize |
keyboard.resize, keyboard.style |
| Splash Screen | splashScreen.launchShowDuration |
splashScreen.layoutName |
Una volta impostate le configurazioni di runtime, ottimizza le impostazioni di build per migliorare le performance su ogni piattaforma.
Impostazioni di Build Specifiche per Piattaforma
Affina le impostazioni di build per ottimizzare la tua app su iOS e Android.
Per iOS, aggiorna il file Info.plist :
<key>NSCameraUsageDescription</key>
<string>Required for document scanning</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>Required for store locator</string>
Per Android, modifica android/app/build.gradle:
android {
defaultConfig {
minSdkVersion 21
targetSdkVersion 33
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt')
}
}
}
Ecco alcune considerazioni chiave per la build:
| Aspetto | iOS | Android |
|---|---|---|
| Permessi | Aggiungi voci in Info.plist |
Definisci in AndroidManifest.xml |
| Icone | Dimensioni da 20px a 1024px | Densità da mdpi a xxxhdpi |
| Splash Screen | Basato su Storyboard | Basato su layout XML |
| Output del Build | .ipa file |
.aab o .apk file |
Aggiorna le App con Capgo

Mantenere app Capacitor aggiornate in modo efficiente sia per iOS che per Android è fondamentale. Capgo offre un sistema live update in linea con le linee guida di entrambe le piattaforme.
Funzionalità di Capgo
| Funzionalità | Descrizione | Vantaggio della Piattaforma |
|---|---|---|
| Live Update | Deploy istantaneo senza review degli store | Garantisce un'esperienza unificata su iOS e Android |
| Crittografia end-to-end | Sicurezza nella consegna degli update | Rispetta i requisiti di sicurezza di entrambe le piattaforme |
| Sistema di canali | Targeting di gruppi di utenti specifici | Supporta beta testing e rollout graduali |
| Aggiornamenti parziali | Scarica solo i contenuti modificati | Risparmia banda e velocizza gli update |
Capgo ha erogato 23,5 milioni di update, con un tasso di aggiornamento utenti attivi del 95% entro 24 ore [1]. Queste funzionalità rendono gestione degli update più fluide ed efficienti su ogni piattaforma.
Gestione piattaforme Capgo
Il sistema di canali di Capgo rende la gestione degli update più semplice. Gli sviluppatori possono testare feature specifiche per iOS con utenti beta, rilasciare update Android in fasi graduali e monitorare le metriche di performance senza interruzioni.
La piattaforma rispetta i requisiti di update over-the-air di Apple e Google [1].
Attualmente, 750 app in produzione si affidano a Capgo, con un tasso di successo globale degli aggiornamenti dell'82% [1]. La sua integrazione CI/CD semplifica i deployment, mentre la funzione di rollback permette agli sviluppatori di tornare istantaneamente alle versioni precedenti in caso di problemi. Le analytics in tempo reale forniscono insight sulle performance degli update e aiutano a mantenere la stabilità dell'app.
Conclusione
Vantaggi della gestione piattaforme
Gestire efficacemente le differenze tra piattaforme in Capacitor potenzia lo sviluppo cross-platform. I suoi strumenti integrati per il rilevamento e la configurazione della piattaforma permettono di creare esperienze fluide sia su iOS che su Android, rispettando gli standard di design e le feature uniche di ogni sistema.
Concentrandosi su una corretta gestione delle piattaforme, i team di sviluppo possono rilasciare update più velocemente e migliorare la soddisfazione degli utenti. Strumenti come Capgo hanno dimostrato come una gestione coerente delle piattaforme possa portare a tassi di successo degli update più elevati e a migliori user experience. [1].
“Seguiamo lo sviluppo agile e @Capgo è fondamentale per rilasciare con continuità ai nostri utenti!”
– Rodrigo Mantica [1]
Questi spunti possono aiutarti a apportare miglioramenti pratici.
Prossimi passi
Per massimizzare questi vantaggi, considera l'implementazione di queste strategie:
| Azione | Vantaggio |
|---|---|
| Abilita il Platform Detection | Si adatta automaticamente alle esigenze di iOS e Android |
| Implementa Live Update | Evita i ritardi degli store per i fix urgenti |
| Configura l'Analytics | Monitora le metriche di performance per ogni piattaforma |
| Abilita il supporto al Rollback | Risolve rapidamente i problemi specifici della piattaforma |
Per i developer che vogliono ottimizzare il workflow, strumenti come Capgo possono semplificare il processo. Funzionalità come la crittografia end-to-end e l'integrazione CI/CD aiutano i team a mantenere la coerenza durante il deployment degli update.
Il successo nella gestione delle piattaforme dipende dall'uso degli strumenti giusti e dal rispetto delle linee guida specifiche. Puntando su strategie di rilevamento e gestione robuste, i developer possono garantire app fluide sia su iOS che su Android.
Continua da Come Capacitor Gestisce le Differenze tra Piattaforme
Se stai usando Come Capacitor Gestisce le Differenze tra Piattaforme per pianificare il comportamento dei media nativi e dell'interfaccia, collegalo a Usare @capgo/capacitor-live-activities per la funzionalità nativa nella guida Usare @capgo/capacitor-live-activities, @capgo/capacitor-live-activities per i dettagli di implementazione in @capgo/capacitor-live-activities, Usare @capgo/capacitor-video-player per la funzionalità nativa nella guida Usare @capgo/capacitor-video-player, @capgo/capacitor-video-player per i dettagli di implementazione in @capgo/capacitor-video-player, e Usare @capgo/capacitor-native-navigation per la funzionalità nativa nella guida Usare @capgo/capacitor-native-navigation.