Durante il WWDC, Apple offre tradizionalmente agli sviluppatori un'anteprima della prossima major release del suo IDE, Xcode. Con ogni versione principale, la società migliora i suoi strumenti di sviluppo e aggiunge una serie di interessanti nuove funzionalità. E quest'anno non era diverso.
Fino a Xcode 8, ogni versione di Xcode era legata a una versione specifica del linguaggio di programmazione Swift. Questo non è più vero a partire da Xcode 8. Swift 3 introduce una serie di modifiche e un numero considerevole di questi cambiamenti si sta rompendo.
I progetti creati con Xcode 8 utilizzano Swift 3 per impostazione predefinita. Fortunatamente, Xcode 8 include un'impostazione di build che offre agli sviluppatori la possibilità di mantenere Swift 2, Swift 2.3 per la precisione.
Ciò significa che puoi scegliere quando vuoi migrare un progetto in Swift 3. Per configurare un bersaglio per Swift 2.3, apri le impostazioni di build del bersaglio e imposta Usa la versione di Legacy Swift Language a sì.
Xcode 8 include anche uno strumento di migrazione che ti aiuta a migrare un progetto a Swift 3. Ho avuto risultati misti con lo strumento di migrazione di Xcode 7. Swift 3 introduce molte, molte modifiche e spero che lo strumento di migrazione sia notevolmente migliorato quando Xcode 8 è pronto per il rilascio.
Una delle caratteristiche più sorprendenti è stata l'introduzione delle estensioni dell'editor di sorgenti. Gli sviluppatori hanno richiesto un'architettura plug-in nativa per molti anni. Le estensioni dell'editor di origine sono un primo buon passo in quella direzione.
C'è molto da apprezzare per le estensioni di Xcode, ma Apple sottolinea che le estensioni sono attualmente focalizzate sulla manipolazione e la navigazione dei contenuti dell'editor di sorgenti, quindi delle estensioni dell'editor di sorgenti. Xcode 8 include persino un modello per aiutarti a diventare subito operativo.
Quello che mi piace particolarmente dell'architettura di estensione è che ogni estensione viene eseguita in un processo separato. Ciò significa che un'estensione anomala non causa la chiusura imprevista di Xcode. Questo ha spesso causato problemi con i plugin di homegrown, specialmente se Apple ha distribuito una nuova major release di Xcode.
Un'altra estensione del vantaggio rispetto ai plugin è la sicurezza. Puoi firmare e distribuire le estensioni utilizzando il tuo account sviluppatore. Apple ha anche detto che è possibile utilizzare il Mac App Store per la distribuzione di estensioni. Questa è una grande opzione se sei interessato a guadagnare con le estensioni che realizzi.
Sono molto entusiasta delle estensioni dell'editor di sorgenti. Mentre sono un grande fan di Alcatraz, l'implementazione nativa delle estensioni di Apple sembra la via da seguire. Non vedo l'ora di vedere che tipo di estensioni gli sviluppatori stanno per costruire. Ce ne sono già alcuni disponibili su GitHub.
Anche i migliori sviluppatori dedicano una notevole quantità di tempo al debugging e Apple comprende la necessità di strumenti migliori per semplificare questo compito. Xcode 8 introduce una serie di miglioramenti significativi relativi al debug.
Il debugging è molto più potente in Xcode 8. L'affidabilità è migliorata e il debug di layout ambigui o insoddisfacenti è molto più semplice grazie a un debugger di visualizzazione migliorato che visualizza i problemi di runtime.
Problemi di runtime? Giusto. Xcode 8 introduce problemi di runtime in aggiunta ai problemi di buildtime. Se si verificano problemi di Auto Layout durante il runtime, Xcode mostra il problema come problema di runtime in Issues Navigator sulla sinistra. Questa è un'aggiunta molto gradita.
Xcode 8 vanta anche un debugger di memoria piuttosto impressionante per rintracciare perdite di memoria e cicli di conservazione. Non sono sicuro di quanto sarà utile nella pratica, ma sembra molto, molto bello.
La firma del codice è un male necessario per gli sviluppatori interessati alle piattaforme Apple. Fortunatamente, Apple non sta seppellendo la testa nella sabbia. Comprende gli sviluppatori di dolore stanno avendo. Anche i veterani sono alle prese con problemi di firma del codice di volta in volta. Durante le piattaforme di quest'anno State of the Union, Apple ha persino preso in giro le proprie Risolvere il problema pulsante che raramente risolveva il problema e talvolta rendeva le cose ancora peggiori.
I problemi di firma del codice dovrebbero essere un ricordo del passato con Xcode 8. Per ogni obiettivo, puoi selezionare una casella di controllo che indica a Xcode di gestire la firma del codice per tuo conto. Questa opzione è abilitata di default per i nuovi progetti. Se selezionato, Xcode gestisce per te i certificati, i profili di provisioning e gli identificativi delle applicazioni.
Spero che Apple abbia capito bene questa volta. E con me decine di migliaia di altri sviluppatori.
Se ti piace lavorare con software meravigliosamente realizzati, allora potresti goderti il nuovo font Apple San Francisco Mono fornito con Xcode 8. È una variante monospaziale di San Francisco e si integra perfettamente con il font di sistema di macOS.
Hai notato che la linea corrente è evidenziata nello screenshot qui sopra? Questo è un altro miglioramento gradito Apple ha aggiunto a Xcode 8. Attualmente utilizzo la retroilluminazione per Xcode per ottenere lo stesso effetto in Xcode 7. Suppongo di non aver più bisogno di quel plugin in Xcode 8.
Parlando di plug-in di terze parti, attualmente utilizzo l'eccellente plugin KSImageNamed di Kent Sutherland per abilitare il completamento del codice per le immagini in Xcode. Non avrò bisogno di quel plugin quando passerò a Xcode 8 poiché questa funzione è ora incorporata in Xcode.
Gli sviluppatori dedicano una quantità eccessiva di tempo a navigare e leggere la documentazione. Una buona documentazione va molto lontano e la documentazione di Apple è eccellente. Navigare nella documentazione è una storia diversa.
Questo dolore è ora risolto in Xcode 8. Il nuovo formato della documentazione è stupendo e il browser della documentazione è veloce e facile da usare. Apple ha inoltre consolidato la documentazione per le sue piattaforme, con un ingombro di memoria molto più ridotto.
E, sì, la documentazione può sembrare stupenda. Dai uno sguardo a questi screenshot se non mi credi.
Inutile dire che ho coperto solo un sottoinsieme delle novità in Xcode 8. La prossima versione principale di Xcode è sempre qualcosa che non vedo l'ora. Gli sviluppatori trascorrono così tanto tempo nel loro editor di codice ed è quindi comprensibile che si preoccupino della sua evoluzione, sia nel bene che nel male. Qual è la tua caratteristica preferita di Xcode 8? Condividilo nei commenti.