Uno degli strumenti più utili per poter testare velocemente codice ed idee è il Playground di Xcode.

Il Playground, a differenza di un progetto dove devi seguire delle strutture ben precise, ti permette di utilizzare una pagina "intelligente" che riconosce il tipo di istruzioni che stai scrivendo e le converte in una rappresentazione visiva:

Nell'esempio, vediamo come nella colonna di destra viene mostrato il risultato di un'operazione 2 + number ed il contenuto della MyTestView.

In questo corso utilizzeremo il Playground per imparare concetti del linguaggio Swift senza essere distratti da SwiftUI. Infatti, da qui in avanti, utilizzerò il Playground di Xcode per mostrarti concetti di programmazione che poi applicheremo ad un progetto SwiftUI.

Vediamo come creare un playground in Xcode e come utilizzarlo.
Let's start!

Come creare un Playground

Una volta aperto Xcode seleziona File, New ed infine Playground. Infine, seleziona l'opzione Blank e salvalo dove preferisci.

Di default un Blank Playground contiene solamente due linee di codice:

import UIKit

Come import SwiftUI abbiamo visto nelle lezioni precedenti importa all'interno del file tutti i contenuti di SwiftUI, allo stesso modo import UIKit importa ciò che c'è dentro UIKit.

Ma cos'è UIKit?

UIKit è il framework precedente a SwiftUI e di fatto ancora lo standard per molte aziende. Noi non entreremo nei dettagli di questo framework perché prima o poi verrà totalmente sostituito da SwiftUI.

Per quello che serve a noi, possiamo tranquillamente eliminare od ignorare quell'import UIKit o trasformarlo in un import SwiftUI.

Infine, all'interno del Playground troviamo una var greeting che contiene un testo "Hello, Playground". Nella prossima lezione capiremo meglio cos'è una var.

Spiegherò nel dettaglio cosa fa import nella lezione Type ed Oggetti in Swift.

L'interfaccia del Playground

L'interfaccia del Playground è simile all'Editor e Canvas di Xcode. Nel lato sinistro troviamo l'editor di codice e nella colonna di destra vedremo il risultato del nostro codice linea per linea.

L'unica differenza con Xcode è che puoi eseguire il codice finora scritto cliccando sull'icona triangolare o Play accanto ad ogni riga di codice. In questo modo il Playground eseguirà il codice fino a quella determinata linea:

Nel nostro caso, premendo Play alla linea 3 vedrai comparire sul lato destro il valore contenuto all'interno della var ovvero Hello, Playground.

Per capire ancor meglio questo concetto, proviamo a scrivere una semplice addizione. Per esempio, scriviamo subito dopo la var greeting una nuova linea con 5 + 3 e poi clicca su Play:

Esercizio

Prova adesso ad eseguire le seguenti operazioni:

  1. Esegui la divisione tra 4 e 2

  2. Somma due testi hello e world. Assicurati che ci sia uno spazio tra le due parole.

    1. Pro tip: puoi sommare uno spazio vuoto tra le due parole testoA + " " + testoB

  3. Esegui la moltiplicazione tra 3 e 9 (le moltiplicazioni si eseguono con il simbolo *)

E prova ad eseguire il codice per ogni istruzione che scrivi. Se tutto va per il verso giusto dovresti vedere i risultati sulla destra.

In caso di qualche problema fammi sapere nei commenti.

Come visualizzare SwiftUI view nel Playground

Il Playground permette anche di visualizzare view senza dover necessariamente creare un nuovo progetto iOS.

Il primo step è quello di importare SwiftUI e PlaygroundSupport dentro il tuo foglio playground. Capiremo a cosa serve import nella prossima lezione:

import SwiftUI
import PlaygroundSupport

Infine aggiungi la view che vuoi visualizzare all'interno delle parentesi tonde della seguente istruzione:

PlaygroundPage.current.setLiveView()

Per esempio, mettiamo un Text al suo interno ed il risultato lo dovresti vedere sulla destra:

Come esercizio prova a visualizzare una VStack con un Text al suo interno.

Conclusione

In questa breve lezione abbiamo introdotto il Playground che ci permetterà di sperimentare con SwiftUI e sopratutto con il linguaggio Swift.

Da qui in avanti ti chiederò di aprire o creare un nuovo Playground in modo tale da poter scendere nei dettagli del linguaggio. Infatti, nella prossima lezione vedremo finalmente cosa significa creare una var e cosa sono i Type in swift.

Buona programmazione!