Kotlin è orientato verso la programmazione a oggetti esattamente come Swift e consente di realizzare applicazioni adatte a qualsiasi ambiente sia compatibile con la Virtual Machine di Java, come per esempio Android. I punti in comune con la soluzione di Apple per iOS, macOS, watchOS e tvOS sono osservabili nell'immediato, attraverso semplici operazioni come la definizione delle variabili tramite assegnazione di valore.

Se infatti in Kotlin è prevista una sintassi come la seguente:

var unaVariabile = 100
unaVariabile = 20
val unaCostante = 100

in Swift avremo invece:

var unaVariabile = 100
unaVariabile = 20
let unaCostante = 100

Si nota una differenza soltanto nella definizione delle costanti per via dell'uso della keyword val in Kotlin che diventa let in Swift.

Discorso simile anche per quanto riguarda il type casting e in generale l'assegnazione del tipo di dato da associare, dove sono nuovamente le keyword val e let a rappresentare un punto di distanza; in Swift si avrà poi l'esigenza di un casting esplicito in operazioni come la conversione on the fly dei tipi, ad esempio da numerico a stringa per la stampa di un testo. Se infatti in Kotlin si dovrà utilizzare una sintassi come la seguente:

val label = "Larghezza "
val width = 100
val widthLabel = label + width

in Swift si avrà invece:

let label = "Larghezza "
let width = 94
let widthLabel = label + String(width)

Da questo punto di vista risulta particolarmente interessante l'impiego delle classi, con alcune piccole differenze in fase di dichiarazione. In Kotlin abbiamo infatti:

class Negozio {
    var qtaProdotti = 0
    fun descrizioneProdotti() =
        "Nel negozio abbiamo $qtaProdotti in magazzino."
}

che in Swift diventa:

class Negozio {
    var qtaProdotti = 0
    func descrizioneProdotti() -> String {
        return "Nel negozio abbiamo \(qtaProdotti) in magazzino."
    }
}

Mentre la fase di utilizzo è praticamente identica:

var negozio = Negozio()
negozio.qtaProdotti = 100
var descrizioneNegozio = negozio.descrizioneProdotti()

Via Swift is like Kotlin

CommentaDi' la tua

Il tuo indirizzo email non sarà mostrato pubblicamente. I campi obbligatori sono contrassegnati da *