Swift 4: le novità della nuova release per il linguaggio di casa Apple

Swift 4: le novità della nuova release per il linguaggio di casa Apple
31 ottobre 2017 Ermanno Guardo

In inglese “swift” significa veloce, e le app scritte con Swift lo dimostrano appieno. Tanti sono gli esempi di applicazioni create interamente in Swift o in cui tale linguaggio è semplicemente integrato, una fra tutte l’app di Linkedin. Il potenziale di Swift e il suo diffuso utilizzo hanno attirato l’interesse di molti nel mondo accademico e professionale e la sua popolarità non fa che crescere.

Noi di Next04 non potevamo rimanere indietro sull’argomento. Ecco, quindi, un’analisi sul successore di Objective-C e sulla sua ultima versione.

Swift è un linguaggio di programmazione general purpose object oriented sviluppato da Apple e costruito utilizzando un approccio moderno alla sicurezza, alle prestazioni e ai modelli di progettazione del software.

Swift nasce per molteplici usi che vanno dalla programmazione dei sistemi, alle applicazioni per dispositivi mobili e desktop, scalando fino ai servizi cloud ed è progettato per rendere più facile la scrittura e il mantenimento di programmi corretti per lo sviluppatore.

La nuova versione del linguaggio (4.0), da poco rilasciata, fa leva sui punti di forza della precedente versione e al contempo ne supera alcuni limiti. Offre sicuramente una maggiore robustezza e stabilità, fornendo la compatibilità del codice sorgente con Swift 3, migliorando la libreria standard e aggiungendo funzionalità come l’archiviazione e la serializzazione.

Sono tre le novità di Swift 4.0:

  • Utilizzo della classe String più veloce e più facile, mantenendo la correttezza di Unicode e aggiungendo il supporto per la creazione, l’utilizzo e la gestione di sottostringhe.
  • Aggiunta di miglioramenti per creare, utilizzare e gestire le Collection.
  • Supporto dell’archiviazione dei tipi struct ed enum, consentendo la serializzazione type-safe dei formati esterni come JSON e plist.

Con Swift 4 non è necessario modificare il codice per utilizzare la nuova versione del compilatore, il quale supporta due modalità di linguaggio:

  • Swift 3.2: In questa modalità, il compilatore accetterà la maggior parte delle fonti che sono state costruite con i compilatori Swift 3.x. Gli aggiornamenti delle API precedentemente esistenti (quelli che fanno parte della libreria standard o delle API fornite da Apple) non verranno visualizzate in questa modalità per fornire il livello di compatibilità di origine.
  • Swift 4.0: Questa modalità include tutte le modifiche di linguaggio e API di Swift 4.0. Sarà necessaria una certa migrazione per molti progetti, anche se il numero delle modifiche di origine è abbastanza modesto rispetto a molte precedenti modifiche importanti tra le precedenti versioni di Swift.

Il Language mode tramite il comando -swift-version  è automaticamente gestito dallo Swift Package Manager e Xcode (l’ambiente di sviluppo per le applicazioni OS X).

Swift 4 introduce nuove caratteristiche per quanto riguarda il workflow e delle API più complete per il Package Manager.

Adesso è più facile sviluppare e lavorare su un branch di molteplici package insieme. I package prodotti sono stati formalizzati consentendo di controllare quali librerie vengono pubblicate per un determinato client.

In questa nuova versione, sono stati aggiunti nuovi metodi e inizializzatori per i Dictionary per semplificare le attività comuni. Operazioni come raggruppare, filtrare e trasformare i valori possono ora essere eseguiti in un solo passaggio, permettendo di scrivere codice in maniera più espressiva ed efficiente.

Altra nuova caratteristica per i Dictionary è la possibilità di creare sequenze di coppie chiave-valore utilizzando due differenti inizializzatori: uno per quando si hanno le chiavi univoche e uno per quando si hanno chiavi che si ripetono. Se si inizia con una sequenza di chiavi e una di valori, è possibile combinarli in una singola sequenza di coppie usando la funzione zip (_: _ :).

Queste sono solo alcune delle potenti funzionalità presenti nella nuova release del linguaggio Swift il quale sta acquistando una rapida crescita tra i linguaggi più utilizzati, piazzandosi al 10 posto nell’ultimo Index TIOBE e facendo un salto di quattro posizioni rispetto a Marzo 2016.