Gli annunci del WWDC di quest'anno si sono concentrati sugli eccitanti nuovi SDK, come ARKit, e le modifiche a iOS 11. Tuttavia, Apple ha anche apportato miglioramenti significativi a Xcode con Xcode 9. Per non essere superati dagli altri annunci, la nuova versione di Xcode è un balzo in avanti per i programmatori. Gli sviluppatori sono sicuri di essere felici!
Incluso nei miglioramenti di quest'anno:
Certamente questa è una lista di cambiamenti molto eccitante, quindi andiamo a prenderli uno per uno, iniziando con Swift 4.
Swift è in costante evoluzione anno dopo anno, e quest'anno Xcode supporta l'ultima versione di Swift, Swift 4. Mentre l'ultima iterazione open source non è un grande salto rispetto alle versioni precedenti, Xcode 9 ha reso il processo uniforme più conveniente.
Per i principianti, Xcode 9 ora supporta la possibilità di compilare contemporaneamente i target Swift 4.0 e Swift 3.2, il che significa che come sviluppatore, puoi scegliere di migrare il tuo progetto gradualmente piuttosto che tutto in una volta, e puoi avere i tuoi obiettivi di progetto scritti in entrambi la versione in lingua più recente o precedente.
Il compilatore di Xcode 9 comprende entrambe le versioni e, tramite Xcode Migration Assistant, ora chiederà agli utenti di scegliere quali target migrare alla versione 4.0.
Infatti, Xcode 9 valuta il tuo codice e fornisce approfondimenti sullo stato di conformità alla modernizzazione del progetto e sulle migliori pratiche, attraverso il Editor> Convalida opzione di menu.
Successivamente, Xcode 9 ottiene alcuni miglioramenti necessari per l'IDE stesso, in particolare per i componenti di Project Navigator e Source Editor, a partire da un motore di indicizzazione più veloce che potenzia la capacità di ricerca e restituisce risultati più rapidamente.
Gli sviluppatori possono cercare una grande base di codici e ottenere risultati istantaneamente, dal momento che il motore di indicizzazione ora indicizza anche i file mentre vengono compilati, mentre i file precedenti in uno stato di compilazione non erano soggetti a indicizzazione. Ciò offre agli sviluppatori la possibilità di passare rapidamente da una ricerca all'altra e cercare file da progetti e librerie collegate, un beneficio benvenuto, specialmente quando lavori con CocoaPods e spazi di lavoro multi-progetto.
Anche l'Editor è stato ricostruito, consentendo, come dice Apple, un "editor veloce basato sulla struttura che consente di evidenziare e navigare in modo intelligente il codice". Ciò significa che è un nuovo motore di evidenziazione che riconosce meglio i blocchi raggruppati logicamente e che fornisce strumenti intelligenti per la navigazione tra le parti correlate della base di codici.
Oltre a consentire agli sviluppatori di navigare facilmente da una classe all'altra, o da un metodo all'altro, Xcode offre anche una funzionalità di refactoring completamente nuova. Lo strumento di refactoring fornisce un riquadro dell'editor modale per confrontare tutte le possibili modifiche mentre estrai e rifattori i metodi Swift. Ciò facilita il refactoring, anche tra i metodi Swift e Objective-C.
Ora puoi aggiornare simboli, modificare getter e setter, sintetizzare iVar e compilare automaticamente i metodi di protocollo obbligatori per la conformità, il tutto con un solo clic.
Altri miglioramenti minori includono il supporto nativo per i file Markdown (resi con gli stili di Markdown) nell'editor. Questo miglioramento ha senso considerando la più profonda integrazione di Xcode con GitHub ed è utile poter accedere README.md file più visivamente all'interno dell'editor.
Xcode 9 offre anche nuovi modelli di iOS Playground che puoi testare non solo su Xcode, ma anche su Swift Playgrounds per iPad!
Inoltre, è un piccolo miglioramento, ma l'editor ora consente agli utenti di aumentare o diminuire la dimensione del font dell'editor usando macOS-conforming ⌘+ o ⌘- scorciatoie.
Un altro piccolo miglioramento è con la creazione, la ridenominazione e l'eliminazione di gruppi nel Navigatore di progetto. Apportare modifiche a un gruppo ora si rifletterà nella cartella associata, garantendo la coerenza dei nomi ed eliminando un fastidio che molti sviluppatori hanno avuto con il modo in cui Xcode funziona con le cartelle del file system.
Infine, i miglioramenti apportati al Catalogo degli asset di Xcode aggiungono il supporto per il nuovo standard aperto di immagine HEIF che fa parte di iOS 11.
Uno dei miglioramenti più importanti a Xcode è stato con la gestione integrata del controllo del codice sorgente, che fino ad ora era stata trascurata. Al posto del precedente SCM semi-cotto che non si è mai sentito parte di Xcode, Xcode 9 ora include un'integrazione SCM completamente rinnovata.
Da un nuovo navigatore SCM che è più integrato senza soluzione di continuità, si ottengono anche modi più potenti di lavorare con rami e tag. Non solo, ma Xcode ora offre una profonda integrazione con GitHub che ti consente di gestire il tuo account direttamente dalle preferenze Xcode, creare repository GitHub con un solo clic e sfogliare i repository pubblici dall'interno dell'editor.
Per uno sguardo più da vicino alle nuove funzionalità di SCM in Xcode 9, consulta il nostro post Novità di Git Support in Xcode 9.
Per non rimanere indietro, Debugging ha ricevuto molta attenzione anche su Xcode 9. Inizieremo esaminando le novità di Xcode Simulator.
In precedenza, quando si avvia Xcode Simulator, è possibile avviare solo un Simulatore alla volta. Quindi, se dovessi testare su più tipi di dispositivi, dovresti eseguirli a turno. Ciò ha rallentato i test, sia per test manuali che automatizzati.
Questo è cambiato in Xcode 9. Gli sviluppatori possono per la prima volta eseguire più simulatori contemporaneamente, con strumenti di test automatici ora in grado di eseguire test in parallelo.
Ci sono alcune altre piccole ma utili modifiche al simulatore introdotte da Apple. Uno è che è possibile tenere premuto il tasto Opzione per chiudere la finestra del simulatore ma mantenerla in esecuzione in background. È anche possibile avviare Simulator dalla riga di comando, che è utile per test automatici e strumenti di consegna.
Gli sviluppatori possono anche registrare video di simulatori, oltre a prendere screenshot, che è utile per la pubblicazione App Store.
Ultimo ma non meno importante, gli sviluppatori che si laureano dal simulatore al test su dispositivi reali non hanno più bisogno di collegare i loro dispositivi fisicamente. Apple ora consente agli sviluppatori di tagliare il cavo ed eseguire il debug di dispositivi iOS e Apple TV in modalità wireless, con una funzionalità chiamata Debug di rete.
Una nuova utilità di debug standalone introdotta da Apple insieme a Xcode 9, Main Thread Checker è in grado di rilevare l'utilizzo non conforme di SDK prominenti come AppKit e UIKit da un thread in background. Ad esempio, gli sviluppatori potrebbero usare UITableView
azioni nel thread in background, che potrebbe causare strani effetti visivi e aggiornamenti difettosi. Il Controllo filo principale è abilitato per impostazione predefinita ed è configurabile tramite l'Editor schema.
Xcode 9 ora ha i robot Xcode Server integrati e standard, eliminando la necessità per gli sviluppatori di avere un'installazione di macOS Server. Ciò significa che gli sviluppatori possono eseguire bot Xcode Server su qualsiasi computer e sfruttare le migliori pratiche di integrazione continua.
Gli sviluppatori hanno assistito a cambiamenti graduali e miglioramenti a Interface Builder (IB) nel corso degli anni, con miglioramenti continui al rendering degli schermi. Xcode 9 continua a perfezionare IB rendendo i componenti dell'interfaccia utente sulla tela più accuratamente. I componenti migliorati includono Navigazione, Tab e Barre degli strumenti.
Un'altra nuova funzionalità è che Xcode e IB avvertiranno gli sviluppatori quando i vincoli di vista potrebbero potenzialmente causare problemi di localizzazione. Ad esempio, verrai avvisato quando una modifica a una vista potrebbe causare il troncamento o la troncatura di parole in un'altra lingua, come il tedesco. Questo sicuramente farà risparmiare molto tempo agli sviluppatori che supportano più lingue.
Parlando di layout, Interface Builder ora supporta anche le guide dell'area di sicurezza del layout automatico, che sono suggerimenti che aiutano gli sviluppatori a organizzare gli elementi dell'interfaccia utente. Questo depreca le guide di layout in alto e in basso nelle versioni precedenti di Xcode.
L'ultima versione di Xcode offre una miriade di nuove funzionalità che miglioreranno la produttività degli sviluppatori. In tandem con l'annuncio di Swift 4, Xcode rende la migrazione da Swift 3.2 all'ultima versione molto più appetibile, grazie al supporto per la migrazione graduale. Xcode ha anche ricevuto miglioramenti della velocità tempestiva e notevole per l'indicizzazione della ricerca e un editor completamente ricostruito che è più contestuale al contesto, con un nuovo supporto per il refactoring.
SCM è ora diventato un cittadino di prima classe, il che significa che gli sviluppatori non devono più passare da Xcode a un editor SCM di terze parti per le loro esigenze di gestione git. Il simulatore ha beneficiato di alcuni dei miglioramenti più importanti, con la possibilità di eseguire più simulatori simultanei per testare su più dispositivi più rapidamente, oltre alla comodità di poter tagliare il cavo ed eseguire il debug su dispositivi fisici in modalità wireless.
Mentre iOS 11 ha rinvigorito la comunità di sviluppatori grazie alle nuove e entusiasmanti funzionalità SDK, Xcode 9 offre il veicolo di sviluppo perfetto per offrire innovazione ai propri utenti. Restate sintonizzati per alcuni tutorial pratici sull'utilizzo dei nuovi SDK iOS. E controlla alcuni dei nostri altri post sullo sviluppo di app per iOS!