Swift (linguaggio di programmazione)

Swift (dall'inglese "rapido, svelto") è un linguaggio di programmazione orientato agli oggetti per sistemi macOS, iPadOS, iOS, watchOS, tvOS e Linux, presentato da Apple durante la WWDC 2014.

Swift (dall'inglese "rapido, svelto") è un linguaggio di programmazione orientato agli oggetti per sistemi macOS, iPadOS, iOS, watchOS, tvOS e Linux, presentato da Apple durante la WWDC 2014.

Rispetto al linguaggio Objective-C, tipico dei sistemi operativi Apple, Swift semplifica il lavoro di scrittura del codice. Swift è stato progettato per coesistere con Objective-C ma anche per essere più resiliente agli errori. Il compilatore LLVM è incluso in Xcode e Swift utilizza il run time di Objective-C, permettendo l'uso di codice Objective C, C e Swift in un unico programma.

Il 25 marzo 2019 è stata pubblicata la versione 5.0 sotto licenza open source Apache 2.0 per sistemi Apple e Linux.

Storia

Lo sviluppo di Swift è iniziato nel 2010 grazie a Chris Lattner, programmatore informatico della Apple. Swift ha preso in prestito idee "da Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, e da troppi altri per elencarli tutti".

Al WWDC del 2 giugno 2014 la prima app scritta in Swift è proprio l'app ufficiale dell'evento. E, durante lo svolgimento dello stesso, Apple divulga ai presenti un manuale di 500 pagine: "The Swift Programming Language", disponibile gratuitamente sull'iBookstore di casa Cupertino.

Al keynote dell'8 giugno 2015 Apple ha annunciato la distribuzione di Swift 2.0 con notevoli miglioramenti nella struttura del linguaggio e aggiunta di funzioni, impegnandosi per rendere il progetto open source nel futuro prossimo. Il 3 dicembre dello stesso anno viene lanciato il sito swift.org e il codice sorgente del linguaggio è pubblicato con licenza Apache 2.0 su un repository GitHub. Apple resta lo sviluppatore principale e ne rende disponibile anche una versione del compilatore per Linux (Creato appositamente per Ubuntu).

Il 13 settembre 2016, durante la WWDC 2016, Apple ha presentato la terza versione del suo linguaggio di programmazione insieme ad un'applicazione per iPad, Swift Playgrounds, che permette, tramite una grafica semplice e intuitiva, di imparare a programmare con Swift.

Hello, world!

Hello, world! è il classico programma che scrive in output "Hello, world!".

Analisi

La funzione "import" importa nel programma determinati metodi o classi che permettono a quest'ultimo di implementare determinati comandi.

"SwiftUI" è un framework front end, sviluppato da Apple, che fornisce le funzioni per gestire l'interfaccia grafica (GUI) e gli input dell'utente. In questo caso il codice compila anche senza importare SwiftUI (è stato importato solo come esempio) in quanto l'unica funzione utilizzata è stata la funzione "print" che fa parte del core del linguaggio.La funzione "print" permette di mostrare a schermo ciò che viene scritto tra le virgolette dentro le parentesi tonde.

In Swift non è necessario inserire il punto e virgola (;) alla fine di ogni istruzione (a differenza di C o altri linguaggi).

Maiuscolo e minuscolo

In questo esempio convertiamo una parola in maiuscolo e l'altra in minuscolo:

Prima lettera maiuscola di ogni parola

In questo esempio convertiamo in maiuscolo solo il primo carattere di ciascuna parola e contiamo i caratteri che compongono la stringa stessa:

Sostituzione parole

In questo esempio sostituiamo una specifica parola con un'altra:

Condizione su parola palindroma

Una parola palindroma è una parola che, sia letta da sinistra o da destra resta uguale (ad esempio, "anna" è una parola palindroma).

L'esempio seguente dice se una parola è palindroma o no.

Array e cicli

L'esempio seguente mostra la dichiarazione di un array e la sua stampa con il ciclo for-in

Dichiarare costanti e variabili

Non è obbligatorio dichiarare il tipo di costanti e variabili (String, Int, Double, ...);

Le parentesi tonde () per racchiudere condizioni di confronti (if-else, switch...) e cicli (for in, do-while...) sono facoltative;

Il punto e virgola ";" a fine istruzione, anch'esso è facoltativo;

Il nome delle costanti e delle variabili può contenere quasi tutti i caratteri, inclusi i caratteri Unicode:

SwiftUI

SwiftUI è un framework di sviluppo realizzato da Apple Inc. e scritto interamente in Swift.

Presentato nel WWDC 2019, SwiftUI è stato pensato per costruire interfacce utente tramite un unico set di tool e API che coinvolge tutto l'ecosistema Apple (precedentemente si faceva uso di frameworks distinti: AppKit per macOS, UIKit per iOS e WatchKit per watchOS).

Servizi correlati

Altre voci

A

App store (informatica)

Un app store (o anche app marketplace; lett. "negozio di applicazioni") è una piattaforma di distribuzione digitale: un negozio virtuale in cui si possono acquistare, scaricare e vendere applicazioni (anche in versione per smartphone) chiamate app.

Leggi la voce →
M

MacOS

macOS (pronunciato in inglese come /mæk oʊ ɛs/), precedentemente chiamato OS X e originariamente Mac OS X, è il sistema operativo sviluppato da Apple per i computer Macintosh.

Leggi la voce →
M

Mistral AI

Mistral AI SAS è un'azienda francese di intelligenza artificiale (IA) con sede a Parigi. È specializzata in modelli linguistici di grandi dimensioni (LLM) a sorgente aperta e proprietari. Mistral AI è considerata una delle aziende più importanti in Europa, nel campo dell'intelligenza artificiale.

Leggi la voce →
A

Android 14

Android 14 (nome in codice Upside Down Cake) è la quattordicesima versione del sistema operativo mobile Android, sviluppato dalla Open Handset Alliance, a sua volta guidata dall'azienda Google uscita il 4 ottobre 2023.

Leggi la voce →
A

Android 15

Android 15 (nome in codice Vanilla Ice Cream) è la quindicesima versione del sistema operativo mobile Android, sviluppato dalla Open Handset Alliance, a sua volta guidata dall'azienda Google, pubblicato il 15 ottobre 2024.

Leggi la voce →
A

Android 13

Android 13 (nome in codice Tiramisù), è la tredicesima major release del sistema operativo mobile Android, sviluppato dall'Open Handset Alliance, guidata da Google. La prima versione di preavviso fu pubblicata il 10 febbraio 2022. Il secondo preavviso per lo sviluppo fu pubblicato il 17 marzo…

Leggi la voce →