Siete felici di aver chiesto.
Non sto dando consigli legali. Sto condividendo cosa è pratico e largamente utilizzato tra le squadre che distribuiscono app Capacitor in modo sicuro.
La distinzione importante è questa:
- La sottoscrizione nativa è ancora richiesta per nuove funzionalità native e capacità principali.
- Le aggiornamenti in tempo reale sono per i ripari e le correzioni JavaScript/web all'interno dello scope dell'app esistente.
Sia iOS che Android possono utilizzare questo modello, ma dovete trattarlo come un flusso di lavoro sicuro in base alla politica policy-safe workflownon è un'eccezione.
Cosa Apple e Google consentono in termini semplici.
Puoi trattare Apple e Google come se condividessero un confine simile:
- Puoi consegnare code interpretato dal layer web incorporato (HTML/CSS/JS) senza riassegnare.
- Non dovresti utilizzare quel canale per aggiunte di funzionalità principali che cambiano lo scopo dell'app.
- Non dovresti alterare controlli di sicurezza o distribuzione critici attraverso JS da solo.
Il consiglio ufficiale di Apple in merito agli aggiornamenti WebKit/JavaScript è il nucleo di questo modello. Google è tipicamente meno restrittivo per gli aggiornamenti basati su web, ma la stessa regola si applica: mantieni le modifiche native in una rilascio nativo.
Cosa Capgo è buono per
Capgo è adatto per:
- correzioni di bug web in tempo reale
- correzioni di copia sicura / stile / flusso UI
- correzioni logiche minori in pagine esistenti
- sperimentazione rapida per la QA interna.
Capgo non è per:
- aggiungere autorizzazioni o nuove capacità native,
- invio di nuove capacità core che dovrebbero essere sottoposte a revisione,
- modificare il comportamento di firma, crittografia o identità del pacchetto.
Strategia di rilascio consigliata
Pensa in due tracce:
Traccia 1: traccia nativa (revisione dello store)
Utilizza il tuo processo di rilascio Capacitor normale per:
- aggiornamenti di plugin nuovi,
- modifiche dello shell dell'app o del manifesto,
- aggiornamenti delle autorizzazioni,
- funzionalità specifiche della piattaforma cambiano.
Queste richiedono:
bun run build
bunx cap sync
# then App Store / Google Play submission flow
Traccia 2: Traccia JS (Capgo)
Per cambiamenti di runtime sicuri e piccoli:
bun run build
bunx @capgo/cli deploy --channel staging
bunx @capgo/cli deploy --channel production
Ciò ti consente di iterare velocemente senza dover caricare nuovi file binari, mantenendo il binario stesso stabile.
Come evitare “oops, questo richiede una rilascio nativa”
Prima di ogni Capgo rollout, esegui questo gate rapido:
- La modifica richiede una nuova dipendenza nativa o una nuova autorizzazione?
- La modifica cambia le capacità pubblicizzate dell'app?
- La modifica altera i confini di autenticazione/sicurezza?
- Possiamo descriverla come un fix JavaScript non interrompente?
Se la risposta è sì alle (1)-(3), invia un rilascio nativo. Se sì solo a (4), invia attraverso Capgo.
What questo significa per i team di conformità
- Rimani appunti di revisione per le modifiche significative.
- Preservi il controllo del rollback e il patching rapido.
- Riduci il rischio di produzione testando gli aggiornamenti nei canali prima di un pieno rollout.
Questo è lo stesso approccio che le persone utilizzano nei grandi programmi Capacitor in produzione: aggiornamenti veloci per le correzioni solo JS, revisione nativa solo per i binari reali.
Se vuoi approfondire, abbinare questo con una strategia di ambiente rigorosa basata sui canali in modo che la QA non riceva mai gli errori di produzione. Quello è il modo Capgo-nativo per mantenere puliti lo staging, la beta e la produzione.