Un progetto solo. Più modi di consegnarlo.
La stessa interfaccia e gli stessi dati arrivano alle persone come sito sul tuo dominio e come app Android da installare; e quando c'è del codice nativo da compilare, lo costruisce GitHub sul tuo repository. Non sono prodotti da tenere allineati: è lo stesso, impacchettato più volte.
Scegli dove deve arrivare
Cambia il pacchetto, non il prodotto. Un'app Android è una FINESTRA sul sito del progetto: apre il suo indirizzo, quindi quello che si vede dentro è quello che si vede nel browser — ed è per questo che una correzione vale in tutte le consegne nello stesso istante.
L'applicazione sul tuo dominio, che si apre da un indirizzo e non si installa.
Le pagine pubbliche di un progetto sono HTML congelato al momento della pubblicazione: arrivano complete al visitatore e ai motori di ricerca, senza aspettare che parta niente.
Un'app Android da installare, con l'icona del progetto e il suo nome.
L'app è una FINESTRA sul sito del progetto: quello che si vede dentro è quello che si vede nel browser, perché è la stessa cosa. Non c'è una seconda versione da tenere allineata — e una correzione vale in tutte le consegne nello stesso istante. La firma è una chiave per progetto, generata una volta sola: Android riconosce un aggiornamento da quella.
Codice nativo, in qualsiasi linguaggio — Android scritto a mano, iOS, Flutter, Python, un binario — costruito dai runner di GitHub.
Un'app per iPhone si può firmare soltanto su un Mac, e i runner di GitHub ne hanno: per quel mondo il repository è l'unica strada. Per tutto il resto è la strada giusta quando c'è qualcosa da COMPILARE: una macchina è un processo che gira, non un posto dove si costruisce.
Le consegne escono dalla stessa interfaccia e dagli stessi dati: non ci sono prodotti da mantenere allineati.
Dal lavoro alla consegna
- LavoriL'ambiente di provawork/
- PubblichiUna versione numeratareleases/<n>/ · current.json
- ArrivaNel browsersul tuo dominioApp Androiduna finestra sul sitoCodice nativosul tuo GitHub
Non c'è niente da aggiornare
Un'applicazione consegnata come file ha di solito un problema che il web non ha: le copie in giro. Qui non ce l'ha, perché il pacchetto non contiene il prodotto — lo apre.
Una finestra, non una copia
Il pacchetto apre l'indirizzo del progetto. Dentro c'è il sito: stessa sessione, stessi dati, stesso aspetto.
Pubblichi, e basta
La prossima volta che si apre, l'app installata mostra quello che hai pubblicato. Nessuna build da rifare, nessun aggiornamento da mandare in giro.
Senza rete, lo dice
Una schermata che spiega che serve una connessione, e un tasto per riprovare. È l'unica pagina che il pacchetto porta di suo.
Di ogni app escono due costruzioni: una che apre l'ambiente di lavoro e una che apre quello pubblicato. Identiche, tranne l'indirizzo, e installabili una accanto all'altra. L'indirizzo è quello stabile del progetto: rinominarlo non rompe le copie già installate.
Tre passi, e il certificato non lo pensi più
Collegare un dominio è la parte che di solito costa una mattinata a qualcuno che sa farlo. Qui sono due record da copiare e un'attesa che si guarda.
- Scrivi il dominioQuello che hai già, oppure un sottodominio: la piattaforma ti dice quale forma stai scegliendo.
- Copia due recordTe li mostra pronti, con il valore da incollare dove tieni il dominio.
- Aspetta il lucchettoLa verifica gira da sé fino al certificato. Non c'è niente da rinnovare, mai.
- Scrivi il dominioQuello che hai già, oppure un sottodominio: la piattaforma ti dice quale forma stai scegliendo.
- Copia due recordTe li mostra pronti, con il valore da incollare dove tieni il dominio.
- Aspetta il lucchettoLa verifica gira da sé fino al certificato. Non c'è niente da rinnovare, mai.
Un indirizzo suo, da subito
Il progetto risponde su un indirizzo della piattaforma dal primo minuto: il tuo dominio si collega quando vuoi, non è un requisito per cominciare.
Uno per tutti i progetti
Colleghi un dominio con il jolly e ogni progetto nuovo prende il suo sottodominio da sé. Chi lavora per i clienti collega il dominio del cliente e basta.
E ti dice se sta rispondendo
Ogni indirizzo ha un pallino di salute che viene da una prova vera — il nome si risolve, la stretta di mano TLS riesce — non da quello che dovrebbe essere.
Con il codice da inquadrare
Per far aprire l'applicazione su un telefono senza dettare un indirizzo. Si scarica come immagine.
Un gesto, e quattro cose che accadono prima
Pubblicare è un tasto. Quello che lo rende un tasto premibile senza paura è cosa la piattaforma fa attorno ad esso.
Prima ti dico cosa cambia
Quattro riquadri di confronto fra l'ambiente di prova e quello pubblico: i file, uno per uno; la struttura del database, con le cancellazioni in rosso in cima; il contratto dell'API, cioè cosa smetterebbe di funzionare per un cliente già costruito sulla produzione; le macchine. Si pubblica sapendo cosa si sta pubblicando.
Poi copio quello che sto per sovrascrivere
Una copia di sicurezza del pubblicato viene fatta e attesa PRIMA di toccare qualsiasi cosa. Se non riesce, la pubblicazione si ferma e niente viene toccato: pubblicare sopra qualcosa che non si è potuto salvare è esattamente ciò che la copia serve a evitare.
E poi lo faccio, con la barra che avanza
La versione numerata, l'allineamento della struttura del database e le migrazioni dei dati, le macchine, la costruzione del frontend: il puntatore alla versione pubblicata si sposta soltanto a costruzione finita, e se qualcosa si rompe prima non cambia niente per chi sta usando l'app. Chi apre la pagina durante una pubblicazione — anche da un altro computer — vede le stesse barre.
Una alla volta, per chiunque
Finché una pubblicazione è in corso non ne parte un'altra, nemmeno da un'altra sessione o da un altro utente. Due pubblicazioni sovrapposte scriverebbero l'una sopra l'altra.
La differenza fra provare e rischiare
Un progetto che non si può rimettere com'era è un progetto su cui non si osa. Qui i modi di tornare indietro sono tre, e uno di essi è automatico.
Il punto di prima
Ogni giro dell'agente lascia un punto a cui tornare: si torna indietro senza chiedere niente a nessuno.
Le copie programmate
Un'ora del giorno, e la piattaforma tiene le copie di ogni giorno, settimana e mese, quante ne dici tu. Del lavoro si riporta anche solo un pezzo — frontend, backend, agenti, macchine, dati —, della produzione i dati. I segreti restano nella cassaforte: un ripristino non li tocca.
Una versione precedente
Ogni pubblicazione è una versione numerata che non cambia più. Tornare a una è spostare il puntatore: codice, frontend e macchine tornano in pochi secondi. Le migrazioni dei dati non si disfano, e prima il piano dice quali restano e cosa si è cancellato.
Il codice nativo sta su un repository, e lo costruisce GitHub
Una macchina è un processo che gira; un repository è codice che si costruisce. Quando serve del codice nativo — un'app Android scritta a mano, qualcosa che deve essere compilato — la piattaforma collega il GitHub della tua organizzazione, ci mette il progetto e fa partire la build. Quello che ne esce resta lì, accanto al run che l'ha fatto.
Il repository è tuo
Sta sull'account o sull'organizzazione GitHub che hai collegato prima di crearlo, con la tua cronologia e i tuoi collaboratori; senza un collegamento nasce sull'account della piattaforma, e lì resta anche se colleghi il tuo dopo. La piattaforma ci scrive dentro, un commit per volta.
Lo costruiscono i runner di GitHub
Compilare non è una cosa che si fa su una macchina accesa a pagamento: si fa su un runner, che esiste per il tempo della build.
E il risultato resta lì
Quello che la build produce resta su GitHub, accanto al run che l'ha fatto: dalla sezione Repository si scarica con un link firmato. Un posto solo dove un risultato può stare.
È anche la strada per iOS
Un'app per iPhone si può firmare soltanto su un Mac, e i runner di GitHub ne hanno: per quel mondo, il repository non è una comodità — è l'unica strada che esiste.
Due cose da sapere prima, non dopo
Su un account personale la piattaforma non può creare repository da sé: serve la tua autorizzazione, oppure le si affida un repository che esiste già. E i minuti di costruzione sono del tuo account GitHub — su un runner macOS costano dieci volte tanto, e vale sapere quale stai usando.
Costruiscine uno, e mandalo online oggi.
Il primo progetto vive su un indirizzo suo dal primo minuto: il dominio lo colleghi quando è pronto per essere visto.

