Vai direttamente al contenuto principale

Configurazione di integrazione continua per Capacitor e applicazioni Electron

Impara a gestire la configurazione di integrazione continua per le applicazioni CapacitorJS e Electron. Scopri le configurazioni delle pipeline, la firma, la gestione degli artefatti e le Capgo aggiornamenti in tempo reale.

Martin Donadieu

Martin Donadieu

Content Marketer

Configurazione di integrazione continua per Capacitor e applicazioni Electron

Di solito si può capire quando un team di app ibride ha superato il proprio processo di costruzione. Qualcuno sta ancora accedendo a un Mac, cliccando attraverso Xcode, esportando un artefatto Android, firmando manualmente un pacchetto Electron e poi cercando di ricordare quale ramo corrisponde alla build caricata. La release funziona, ma solo perché uno o due persone conoscono ogni passo a memoria, e questo non scala più quando quelle persone sono occupate.

Adeguato impostazione di integrazione continua rimpiazza quella fragile cerimonia con un flusso ripetibile. La definizione di CI di Martin Fowler cattura ancora l'idea centrale: i membri del team uniscono le modifiche al codice condiviso almeno quotidianamente e ogni integrazione viene verificata da un build automatizzato, quindi gli errori emergono rapidamente l'articolo originale di integrazione continua di Fowler. Questa disciplina è ancora più importante per le app Capacitor e Electron, dove un singolo build può toccare gli asset web, le coperture native, i credenziali di firma e la pubblicazione di aggiornamenti in tempo reale nello stesso run

Indice

Perché i tuoi Capacitor e le App di Electron hanno bisogno di un Flusso di Lavoro CI Reale

Il punto di partenza usuale è familiare. Un sviluppatore esegue la costruzione web localmente, sincronizza Capacitor, apre Xcode o Android Studio, esporta un file binario firmato e deposita un pacchetto in un drive condiviso o in un thread di chat. Si sente efficiente fino al primo momento in cui un build funziona solo su una macchina, una certificazione scade senza preavviso o un collega invia da una branch obsoleta perché i passaggi manuali non sono stati scritti.

Il dolore non è solo velocità, è ripetibilità

Il criterio di base di Fowler spiega ancora perché questo processo si rompe. Un setup CI credibile tiene tutto in controllo di versione, automatizza la costruzione, rende la costruzione auto-verificante, attiva ogni volta che si effettua un push sulla linea principale, ripara i build rotti immediatamente e mantiene la costruzione veloce Il consiglio di CI di Fowler. È meno questione di “eseguire test” e più di rendere il lavoro di rilascio visibile, noioso e difficile da sbagliare.

Regola pratica: se un rilascio dipende da qualcuno che ricorda un comando locale, non è ancora un flusso di lavoro

Il team Capacitor sente il guasto in tre posti. I file di progetto nativi si allontanano dall'app web, le credenziali di firma diventano conoscenze tribali e il percorso di aggiornamento si fa confuso perché nessuno si fida della versione del pacchetto che raggiunge i tester. I team di Electron colpiscono un muro simile quando il packaging dipende dallo stato OS locale, dalle dipendenze native o da un setup di firma ad-hoc del sviluppatore.

A un flusso di lavoro reale hai una fonte di verità condivisa. Esegui le stesse verifiche ogni volta, su un esecutore pulito, e lascia dietro di te artefatti e log che ti dicono cosa è cambiato. Quella è la differenza tra 'abbiamo costruito' e 'possiamo dimostrare esattamente cosa è stato costruito'.

Perché i flussi di lavoro di aggiornamento in tempo reale si adattano naturalmente qui

Una volta che il flusso di lavoro è riproducibile, la pubblicazione degli aggiornamenti in tempo reale diventa parte della stessa disciplina di rilascio anziché di uno script separato che le persone eseguono quando ricordano. Per le squadre ibride, ciò conta perché gli asset web, i riparazioni JavaScript e le modifiche di configurazione non devono attendere un ciclo di app-store completo. Un flusso di lavoro CI strutturato rende possibile costruire una volta, validare una volta e poi spingere lo stesso output nella canale giusto con tracciabilità.

Quello è anche dove uno strumento come Capgo's CI benefits overview si inserisce nella scena, perché il valore non è astratto. È la capacità di passare da una confezione manuale a una consegna controllata e ripetibile senza perdere la visibilità su cosa è cambiato.

Scegliere il Fornitore di CI giusto per le App ibride

Il fornitore di CI è più importante per le app ibride rispetto al lavoro web puro. Un flusso di lavoro che ha bisogno solo di esecutori Linux e npm install può tollerare alcune asperità. Un flusso di lavoro che ha bisogno di macOS per la firma di iOS, Docker per la confezione di Electron e segreti che non possono mai filtrare nei log ha bisogno di un controllo dell'esecutore più stretto, di un isolamento più chiaro e di un modello di autorizzazione più sicuro.

Un buon provider deve anche adattarsi al percorso di rilascio, non solo alla fase di costruzione. Capacitor e i team di Electron finiscono spesso per gestire la firma di app nativa, la promozione degli artefatti e la pubblicazione di aggiornamenti live nello stesso flusso di lavoro, quindi il sistema CI deve tenere separate quelle fasi senza rendere il workflow difficile da verificare. Se il modello del runner è debole, i materiali di firma vengono copiati troppo liberamente. Se la gestione degli artefatti è disordinata, si perde fiducia in ciò che è stato spedito. Quella è la parte che le guide CI generali solitamente trascurano.

GitHub Actions si adatta a team che già vivono in GitHub

GitHub Actions è la scelta con la minima frizione se la sorgente vive già in GitHub. I flussi di lavoro si trovano accanto all'app code, il che rende la revisione e la proprietà facili da gestire, e il platform supporta i runner Linux, Windows e macOS nel modello di controllo di sorgente e del runner descritto nelle comparazioni degli strumenti CI GitHub Actions modello del runner e la couping SCM. Per i team ibridi, ciò conta perché i build di iOS richiedono macOS, mentre la confezione di Electron si adatta meglio su Linux o Windows job che possono rimanere containerizzati. È anche più facile mantenere i segreti di firma scritti per il flusso di lavoro che li richiede.

Il trade-off è che le GitHub azioni possono diventare rumorose se trattate ogni lavoro allo stesso modo. Funziona bene per i team che già utilizzano GitHub per la code revisione, la protezione del ramo e la proprietà della rilascio. È meno attraente se i controlli di build, registro e distribuzione vivono in un altro posto e vuoi che il sistema CI possieda più del processo di rilascio. Per molti team mobili, la comodità vince ancora perché il file di workflow e la code revisione avvengono nello stesso posto.

GitLab CI è forte quando il repository e la consegna vivono insieme

GitLab CI si adatta a team che vogliono il repository, la pipeline e la tracciatura dell'ambiente in un posto. Supporta esecutori condivisi o gestiti autonomamente e include fasi di distribuzione nel modello della piattaforma, il che lo rende pratico quando lo stesso team possiede l'orchestrazione di build, staging e rilascio Modello di piattaforma di GitLab CI. Quel setup aiuta quando hai bisogno di separare la firma, la confezione e l'approvazione del rilascio senza scatterare quelle decisioni su sistemi diversi.

Il trade-off è organizzativo. Se il tuo team già utilizza GitLab per il controllo di versione e lo storage del registro, la pipeline sembra integrata e più facile da auditare. Se non è così, il costo di setup può superare la comodità, soprattutto quando inizi a collegare gli esecutori macOS per la firma iOS o a mantenere l'aggiornamento live allineato con lo stesso processo di rilascio. Per i team che vogliono un modello GitLab concreto Capgo's guida di rilascio e build di GitLab is una utile riferimento perché mostra come i passaggi di costruzione e rilascio possono rimanere legati insieme senza trasformare il flusso di lavoro in un elenco manuale.

CircleCI si adatta a team che desiderano flessibilità ospitata

CircleCI è solitamente una scelta sensata quando un team vuole un'esecuzione gestita con un forte ecosistema intorno all'automazione di packaging e build. Gli esecutori cloud e le opzioni self-hosted rendono CircleCI flessibile su GitHub, GitLab e Bitbucket repos, e questa portabilità aiuta quando un team ibrido si sposta tra i clienti o i codici sorgenti Modello di esecuzione di CircleCI. Il vantaggio per Capacitor e Electron è che puoi mantenere la logica di build compatta mentre utilizzi le funzionalità del provider per la scelta dell'esecutore e l'isolamento dei job.

Il svantaggio è che la portabilità può nascondere la complessità. Una volta aggiunto il firmaggio macOS, la promozione degli artefatti e la pubblicazione degli aggiornamenti, ancora devi gestire i segreti con disciplina e avere confini chiari dei job. CircleCI è una buona scelta per team che desiderano esecutori ospitati e non si oppongono a imparare un po' di più del modello di workflow specifico del provider per raggiungere questo obiettivo.

Criteri GitHub Actions GitLab CI CircleCI
Capacitor/Supporto di costruzione per Electron Buono per team GitHub-first, con esecutori macOS, Linux e Windows Forti per team già su GitLab con runner condivisi o self-gestiti Sostegno ospitato su più SCM
Facilità di configurazione Poca frizione se code è già in GitHub Integrazione piattaforma stretta, ma meglio se tutta la pila è in GitLab Flessibile, con più impostazioni specifiche del provider da imparare
Limi di Tier gratuito Miglior adatto per repository pubblici GitHub, soprattutto per piccoli progetti Miglior valore quando GitLab è già il sistema di registro Scegliuto spesso per esecuzione gestita piuttosto che costo di configurazione minimo

Un confronto a chart che mostra GitHub Actions, GitLab CI e CircleCI feature per costruire applicazioni ibride.

La scelta giusta dipende spesso da dove code già vive e quali tipi di runner si hanno bisogno di più spesso. Un'app Capacitor sotto iOS sotto pressione di shipping beneficia da facile accesso a macOS. Un prodotto elettronico pesante con packaging prevedibile può dare priorità a job e gestione di artefatti Docker-friendliy invece. Se si pubblicano anche aggiornamenti live dalla stessa pipeline, scegliere il provider che tiene i permessi di rilascio e i passaggi di firma più facili da separare.

Ai modi più utili per paragonarli sono chiedere una domanda per ogni piattaforma. Può eseguire i lavori nativi che hai bisogno senza workarounds scomodi, può mantenere i segreti controllati e può il tuo team leggere la configurazione senza aprire una seconda pagina wiki?

Configurazione della tua pipeline

Una pipeline ibrida funziona meglio quando i controlli economici falliscono per primi e i runner costosi restano fuori fino a quando non sono necessari. L'integrazione di lint, i test unitari e le costruzioni web dovrebbero completarsi prima che macOS inizi a compilare iOS o prima che Electron crei un pacchetto firmato. Quell'ordine mantiene le modifiche rotte da bruciare tempo dei runner e corrisponde al modello CI di controlli veloci all'inizio, suite più pesanti in seguito e costruzione una volta prima di promuovere lo stesso artefatto attraverso le fasi successive Pratiche di CI/CD di JetBrains.

Una forma GitHub di una Actions che funziona davvero

Un layout pratico rimane semplice e prevedibile:

  1. checkout
  2. installa le dipendenze
  3. lint e test unitari
  4. costruisci gli asset web
  5. sync dei progetti nativi
  6. pacchetto degli artefatti delle piattaforme
  7. caricare artefatti

Quella sequenza tiene code lontano da lavori nativi costosi. Ciò rende anche il comportamento della cache più facile da ragionare, perché npm, Gradle e cache del gestore dei pacchetti contano solo dopo che il grafo delle dipendenze è già valido.

Un lavoro di GitHub Actions è solitamente composto da questo struttura, anche quando i dettagli del progetto cambiano:

  • Installazione una volta: ripristina cache Node e pacchetti prima di npm ci.
  • Validazione precoce: esegui lint e test unitari prima di qualsiasi build nativo.
  • Costruisci output web: crea il bundle di asset che Capacitor e Electron consumano.
  • Dividi in lavori di piattaforma: fai eseguire solo dopo il passaggio condiviso iOS, Android e packaging di Electron.
  • Pubblica artefatti: carica output firmati, log e metadati separatamente.

Più lavoro nativo che si rimanda dopo che le verifiche condivise passano, più le tue fallite diventano economiche.

Per un team che invia sia target mobili che desktop, quel divario separa di solito una pipeline gestibile da una rumorosa. Le fallite di Xcode sono costose perché consumano minuti di macOS e attenzione del developer, mentre un lavoro di lint fallito è quasi gratuito. Tenere tutto in un unico grande lavoro tende a invecchiare male una volta che il build inizia a gestire la firma reale, la pubblicazione degli aggiornamenti e le autorizzazioni di rilascio.

GitLab e CircleCI possono riflettere la stessa logica

GitLab CI si mappa pulitamente alle fasi di lavoro, e CircleCI lo fa pure, anche se la sintassi differisce. Il punto è mantenere la stessa forma della pipeline su tutti e tre gli strumenti. Un build di origine alimenta i lavori downstream, poi ogni passo di packaging nativo consuma lo stesso stato code anziché ricostruire da zero.

Se si utilizza Docker per il packaging di Electron, fissi l'immagine del contenitore per mantenere l'ambiente riproducibile. Se si costruisce iOS, tenere il lavoro di macOS isolato e separare il passo della certificazione dal passo di compilazione per mantenere i modi di fallita evidenti. Se si eseguono build Android, mantieni le cache di Gradle stabili e evita di mescolare installazioni di pacchetti non correlate nello stesso passo della shell.

Per una versione orientata a Capacitor di quel setup, La guida di configurazione della pipeline di Capgo è un utile compagno.

Un diagramma che illustra una pipeline di integrazione continua a cinque passaggi per costruire applicazioni Capacitor e di Electron utilizzando GitHub Actions.

Code Gestione di firma e artefatti

La firma è dove molti buoni pipeline falliscono. Il build passa, il pacchetto esiste e poi la release muore perché manca una certificato, una keychain non rilascia o si è caricato l'artefatto sbagliato. La soluzione è trattare la firma come una propria fase controllata, non come effetto collaterale del packaging.

iOS, Android e Electron richiedono un trattamento diverso

iOS signing usually means certificates, provisioning profiles, and macOS runner state. Android needs keystore management and whatever your Play release path requires. Electron adds code signing certificates and, on macOS, notarization for distributable desktop builds. Each of those should be handled by the pipeline, not by a human copying files onto a runner.

Per iOS, le squadre spesso utilizzano fastlane match o installano manualmente i certificati sui runner macOS. La cosa importante è la consistenza, non l'aiuto specifico. Se il tuo workflow dipende da un sviluppatore che accede interattivamente a una keychain, si romperà al momento peggiore.

Per Android, tieni la keystore fuori dal repository e iniettala come un segreto al momento del build. Per Electron, tieni la fase di firma vicina alla fase di packaging per non firmare artefatti invecchiati per errore.

Regola pratica: firma l'artefatto esatto che pianifichi di distribuire e tienilo immutabile dopo la firma.

La gestione degli artefatti dovrebbe preservare la tracciabilità

La gestione degli artefatti non è solo la conservazione. È come sapere quale binario è stato creato da quale commit e a quale canale è stato inviato. È per questo che la guida più vecchia di Fowler sulla visibilità delle informazioni di versione è ancora importante nei sistemi CI aziendali, perché gli ID di costruzione, i metadati di distribuzione e la tracciabilità delle versioni aiutano le squadre a rispondere alle domande di supporto in seguito Fowler sulla visibilità delle informazioni di versione.

Conservare gli output firmati abbastanza a lungo per il rollback, l'audit e la riproduzione del supporto, ma non lasciare rilasci invecchiati senza contesto. Un nome di denominazione pulito, un SHA di commit e un tag di piattaforma vanno molto lontano. Se il tuo pipeline carica su TestFlight, Google Play internal testing o un bucket di distribuzione di Electron, rendi esplicito lo step di caricamento affinché tu possa ispezionare cosa è stato lasciato CI

La guida di Capgo sulle certificazioni è rilevante qui perché la stessa disciplina si applica sia alla firma nativa che alla pubblicazione di aggiornamenti. I credenziali devono essere memorizzate in modo sicuro, rotati pulitamente e mai riprodotti nei log Automazione degli aggiornamenti __CAPGO_KEEP_0__ Live nella tua pipeline Una volta stabilito il build, la pubblicazione degli aggiornamenti live è spesso la parte della pila che salva più tempo. Le squadre ibride non vogliono attendere una revisione della store solo per correggere una copia, inviare un bug di web o attivare un flag di configurazione. Un passo di pubblicazione __CAPGO_KEEP_0__ CI gestisce quei casi senza trasformare il processo di rilascio nativo in un botteneck, e mantiene il percorso di aggiornamento legato ai controlli che già utilizzi per i build

Capgo's

Once the build is stable, live update publishing is often the part of the stack that saves the most time. Hybrid teams do not want to wait for a store review just to fix copy, ship a web bug fix, or flip a config flag. A CI-driven Capgo publish step handles those cases without turning the native release process into a bottleneck, and it keeps the update path tied to the same controls you already use for builds.

Pubblicazione basata sui canali mantiene le rilasci sotto controllo

Lo schema più pulito è pubblicare su staging al momento delle fusioni su una branca di sviluppo e su production solo su rilasci etichettati. Ciò mantiene i tester su un canale prevedibile mentre rende le push in produzione deliberate e revisionabili. La pipeline dovrebbe memorizzare la chiave Capgo API come un segreto, installare il CLI, bundle gli asset web più recenti e pubblicare l'aggiornamento come parte del lavoro.

Una semplice politica funziona bene nella pratica:

  • Branca di sviluppo: invia su un canale di staging.
  • Etichetta di rilascio: invia su un canale di produzione.
  • Branca di correzione rapida: mantienilo isolato fino a quando il proprietario conferma l'intento di rollout.

Aggiornamenti in tempo reale e CI si rafforzano a vicenda perché il pipeline già sa quale commit sta costruendo. Utilizza quella metadata nel passo di pubblicazione Capgo affinché la storia degli aggiornamenti rimanga leggibile, soprattutto quando hai bisogno di rispondere quale payload web è stato inviato con un dato build nativo.

Aggiornamenti differenziali e comportamento di rollback contano.

Capgo’s modello di aggiornamento è costruito intorno alla spedizione di file modificati e al rollback sicuro se qualcosa si rompe, che si adatta naturalmente ai flussi di rilascio guidati da CI. Ciò significa che il pipeline non sta solo consegnando asset, ma sta decidendo come quegli asset si muovono attraverso gli utenti e i canali. Per le squadre che rilasciano frequentemente, quel controllo è più utile di uno script di pubblicazione manuale uno-a-uno.

Screenshot da https://capgo.app

L'errore principale che vedo è trattare il passo di pubblicazione come un compito autonomo. Ciò porta spesso a qualcuno che lo esegue da un laptop, il che sconfessa l'obiettivo del pipeline e indebolisce la tracciabilità. Mettilo in CI, regolalo con regole di branch o tag e mantieni i metadati di rilascio nella output di costruzione affinché il supporto possa tracciarli in seguito.

Per il pattern di GitHub Actions esatto, Capgo’s GitHub guide di integrazione di Actions è il punto di riferimento giusto.

Proteggere il tuo pipeline CI contro le minacce reali

A un pipeline che si costruisce con successo può ancora essere pericoloso. Le linee guida governative dell'NSA e della CISA trattano la sicurezza dei CI/CD come un problema di primo piano, con raccomandazioni per integrare lo scanning di sicurezza, tenere i registri di audit, firmare la configurazione dei CI/CD, utilizzare SBOM e SCA, proteggere i segreti in modo che non passino mai in chiaro testo, e costruire per alta disponibilità con test di ripristino da disastro. Linee guida di NSA e CISA per la sicurezza dei CI/CDQuella impostazione è utile perché corrisponde a ciò che va storto nelle reali squadre, token rubati, configurazioni alterate, e accesso di distribuzione troppo ampio.

Rafforzare il pipeline è diverso dal rafforzare l'applicazione

Molte guide parlano di analisi delle dipendenze, ma ignorano il sistema CI stesso. È un errore. Se un runner compromesso può stampare i segreti, alterare un passaggio di firma, o sostituire un artefatto prima dell'invio, l'applicazione code può essere perfettamente pulita e comunque inviare qualcosa pericoloso. Il design di un pipeline sicuro significa trattare il runner, la configurazione e le credenziali come asset di produzione.

Il controllo pratico è chiaro:

  • Firma la configurazione del pipeline: rendi evidenti le modifiche non autorizzate al flusso di lavoro.
  • Tieni i segreti fuori dai registri: non passare mai le credenziali in chiaro testo attraverso l'output della shell.
  • Limita i diritti di distribuzione: solamente la branca o la taggierta giusta dovrebbe raggiungere la produzione.
  • Verifica la storia delle esecuzioni: Conserva abbastanza dettagli del registro per ricostruire cosa è accaduto.
  • Scansiona immagini di costruzione e dipendenze: specialmente per i lavori di Electron che utilizzano la confezione containerizzata.

La autenticazione e l'isolamento dell'ambiente richiedono disciplina

L'autenticazione basata su OIDC è un migliore adattamento rispetto ai credenziali a lunga durata in molti ambienti CI moderni, perché riduce il raggio d'azione di un token rubato. Gli account di ambiente separati e l'accesso di produzione limitato riducono anche la promozione accidentale. Questi schemi si adattano bene soprattutto per i team ibridi perché i flussi di rilascio mobili tendono a accumulare più autorizzazioni nel tempo di quanto non sia stato inteso.

Un infographic che dettaglia quattro migliori pratiche per proteggere i flussi di CI, compresa la scansione delle dipendenze e la gestione dei segreti.

Un 'flusso di lavoro' può ancora essere un rischio se è facile manipolarlo. La sicurezza CI richiede lo stesso tipo di lavoro di progettazione dell'applicazione che lo rilascia, e negli ambienti regolamentati non è facoltativo.

Fallimenti dei flussi di pipeline comuni e come risolverli

La maggior parte dei fallimenti CI in Capacitor e progetti Electron sono sintomi di pochi trasgressori ripetuti. Se l'installazione di npm è instabile, l'ambiente del runner è spesso in deriva. Se Xcode esaurisce i tempi, il lavoro sta spesso facendo troppo prima che la costruzione nativa inizi. Se Gradle esaurisce la memoria, lo step di confezione sta probabilmente cercando di fare troppo in un singolo esecutore.

Diagnosi per sintomo, non per nome del tool

Installazioni di dipendenze intermittenti solitamente indicano una corruzione della cache o un flusso di lavoro di lockfile instabile. Risolvi il problema utilizzando un comando di installazione pulita, bloccando la versione del gestore dei pacchetti e separando la ripristinazione della cache dal passo di installazione reale.

fallimenti di costruzione di Xcode spesso si risalgono a una configurazione del runner, a runtime simulator mancanti o a uno stato di certificato. Fai iniziare il lavoro di macOS con la verifica dell'ambiente e mantieni il passo di firma isolato per poter capire se il fallimento è di tipo di compilazione o di autenticazione.

problemi di memoria di Gradle sono comuni quando le attività Android e web condividono lo stesso lavoro. Riduci l'overlapping dei job, mantieni lo stage di costruzione Android focalizzato e non nascondere comandi shell non correlati all'interno dello stesso passo.

i pacchetti di Electron si rompono solitamente derivano da incompatibilità tra moduli nativi o da dipendenze del sistema mancanti all'interno dell'ambiente di packaging. Mantieni il contenitore di costruzione bloccato, verifica l'installazione delle dipendenze native prima di packaging e non ricostruisci gli artefatti dopo la firma.

le soluzioni veloci sconfiggono la debuggistica eroica

Quando Capgo gli errori di pubblicazione si presentano, la prima cosa da controllare è se la versione del bundle e lo stato del canale corrispondono a quanto pensa il pipeline di inviare. Una disallineamento dei metadati è una fonte comune di confusione nei flussi di aggiornamento automatico in tempo reale. Inoltre, mantieni il passo di pubblicazione vicino alla fine del pipeline, dopo che la costruzione ha prodotto gli asset finali, in modo da non caricare output parziale.

alcune abitudini risparmiano tempo costantemente:

  • Falli presto: metti lint e test unitari davanti al packaging nativo.
  • Parallelizza quando è sicuro: iOS, Android e Electron non devono aspettare l'uno sull'altro dopo la costruzione web condivisa.
  • Tieni gli artefatti visibili: se non puoi ispezionare l'output, non puoi fidarti della release.
  • Riduci ogni job: un job dovrebbe fare una cosa bene.

Se il tuo flusso di rilascio di applicazioni ibride è ancora tenuto insieme da firme manuali, upload ad-hoc e poche persone che conoscono i passaggi non documentati, è ora di correggere il processo anziché solo i costrutti. Capgo dà a Capacitor e ai team di Electron una via per automatizzare gli aggiornamenti live firmati, far passare i rilasci attraverso canali e mantenere la tracciabilità all'interno dello stesso flusso di lavoro. Visita Capgo per collegare il tuo flusso di costruzione al rilascio controllato via rete e rendere il tuo prossimo rilascio molto meno fragile.

Aggiornamenti in tempo reale per le app Capacitor

Quando un bug del layer web è attivo, invia la correzione attraverso Capgo invece di attendere giorni per l'approvazione della store. Gli utenti ricevono l'aggiornamento in background mentre le modifiche native rimangono nel normale percorso di revisione.

Inizia subito

Ultimi articoli dal nostro Blog

Capgo ti offre le migliori informazioni che ti servono per creare un'app mobile davvero professionale.