Continuous Delivery su progetti iOS

Screen Shot 2016-04-29 at 12.43.37Screen Shot 2016-04-29 at 12.43.37

Durante il corso vedremo a livello teorico e pratico i principi e le tecniche che permettono di automatizzare il processo di rilascio su App Store di un progetto iOS di modo da ridurre tempi, costi e rischi associati al sviluppo di una applicazione.

I concetti alla base di questo approccio derivano dai metodi di sviluppo Agile, più concretamente dall'eXtreme Programming. Questi metodi consigliano di rilasciare agli utenti in maniera frequente valore concreto tramite il software prodotto. Questo permette di creare un ciclo di feedback dove il software evolve in maniera incrementale dai suggerimenti del cliente. Questo riduce anche il rischio e i cicli di consegna del software prodotto.

Cosa faremo
Realizzeremo una applicazione di esempio in modo da dimostrare in maniera pratica come applicare il concetto di Continuous Delivery su iOS.
Utilizzeremo diversi tool di Fastlane, che permettono di definire una pipeline di distribuzione per diversi ambienti. 
Inoltre impareremo come scrivere test unitari e UI test usando il framework di testing di Apple (XCTest).
Il passo successivo sarà creare una deployment pipeline che ci permetterà di portare il codice di un’applicazione creata nelle macchine di sviluppo alla produzione passando per integrazione, test e deployment. Questi passi includono l’aggiornamento dei metadati su App Store (descrizione, keywords, etc.) ed anche l’upload automatico degli screenshots dell’app.
Per fare il deploy dell’applicazione useremo il servizio Bitrise, che farà il deploy su Testflight, iTunes Connect e Fabric Beta.
Concluderemo con un esempio reale di una applicazione iOS esistente sul mercato che usa la pratica di Continuous Delivery. 
Al termine del corso avremo visto come creare una applicazione iOS coperta dai test e come eseguire l’integrazione e il deploy del codice applicativo ai nostri testers e utenti. 

Argomenti
    •    Continuous Delivery
    •    Swift
    •    iOS
    •    Xcode
    •    Fastlane
    •    Bitrise
    •    TestFlight
    •    Fabric
    •    Deployment Pipeline
    •    Unit e UI Test su iOS 

A chi è dedicato
A sviluppatori software iOS. I concetti sono utili sia per chi lavora in una grande azienda per creare un processo di rilascio più snello ed affidabile, sia per chi lavora in una startup o in una piccola impresa e vuole andare rapidamente e frequentemente in produzione senza troppa paura.

Prerequisiti
Conoscenze base di programmazione iOS (Swift o Objective-C). Un Mac con l’ultima versione di Xcode installata. Le ulteriori configurazioni e le versioni da installare verranno comunicate via email prima del corso.

Docente
Il docente è un agile software developer in XPeppers. Viene dal Portogallo ed è appassionato del mondo mobile e delle startup. Fuori dal lavoro lavora principalmente come hobby in diverse app per iOS e tvOS.

Durata
1-2 Giorni - Il corso è disponibile su richiesta