• Programmazione Android
  • CORSI ONLINE
  • Web Agency

Logo

Corsi di programmazione web e mobile online
Navigation
  • Home
  • CORSI ONLINE
  • Tutorial Pratici
  • GUIDE COMPLETE
    • Corso completo di C
    • Corso videogame con Cocos2d
    • Programmazione Cocoa Touch
  • Sezioni
    • Libri e manuali
    • Tips & Tricks
    • Risorse utili
    • Strumenti di Sviluppo
    • Materiale OpenSource
    • Framework
    • Guide Teoriche
    • Guide varie
    • Grafica e Design
    • iPad
    • News
    • Video Tutorial
    • Windows Phone
  • Pubblicità
  • About
    • Chi siamo
    • Pubblicazioni
    • Collabora
    • Sostieni devAPP

Kotlin: iniziamo a programmare con il nuovo linguaggio per sviluppatori di app Android

By Giuseppe Maggi | on 5 Giugno 2017 | 0 Comment
Android
Kotlin Android Tutorial

Il linguaggio Kotlin è stato inventato nel 2011 dall’azienda JetBrains (la stessa che ha prodotto IntelliJ, l’IDE che ha costituito la base di Android Studio). E’ nato come un linguaggio basato su Java Virtual Machine, rapido da imparare e con tutti i vantaggi che una tecnologia più complessa come Java offre. E’ stato largamente apprezzato da molti sviluppatori ma la notizia bomba è arrivata a maggio del 2017 al Google I/O, l’evento annuale che presenta tutte le novità delle tecnologie che fanno capo a Mountain View: a partire da Android Studio 3.0, Kotlin potrà essere usato per sviluppare app Android al pari di Java e C++.

Questa situazione dovrebbe rilanciare le prospettive di questo giovane linguaggio pertanto sembra proprio il momento di iniziare a studiarlo in maniera pratica nei nostri tutorial.

Installare l’ambiente

Per iniziare ad usare Kotlin, ci sono varie possibilità indicate dal sito ufficiale del progetto tra cui il nativo IntelliJ o la terza major release di Android Studio, come abbiamo detto. Noi useremo Eclipse, l’ambiente tanto caro ai programmatori Java.

Esiste un plugin Eclipse già pronto, recuperabile da marketplace passando per il menu Help > Eclipse Marketplace

e digitando “Kotlin” come stringa di ricerca

Una volta individuato il Kotlin Plugin for Eclipse sarà sufficiente pigiare il pulsante “Install”, posto sulla destra, per concludere le operazioni (il nostro appare con etichetta “Installed” ma solo perchè abbiamo già a disposizione il plugin).

Fatto ciò, potremo usare il plugin Kotlin e tra le Perspective dell’IDE esisterà anche una dedicata a questo linguaggio: la potremo impostare tramite il menu Window > Perspective > Open perspective.

Il primo programma: Ciao mondo!

Tanto per iniziare, affidiamoci ai classici della programmazione, realizzando un “Hello world”.

Dal menu File > New creiamo un nuovo progetto Kotlin, in maniera analoga a ciò che faremmo per Java. Vi si può mettere all’interno, almeno per ora, un semplice file Kotlin creandolo sempre dallo stesso menu.

Questo il codice che useremo:

/*
 * Questo è un commento su più righe
 */

fun main(args : Array<String>) {
  // questo è un commento su una riga
  println("Ciao mondo!") 
}

Possiamo eseguirlo con il consueto comando Run e vedremo così apparire nella console il messaggio “Ciao mondo!”: insomma tutto come siamo abituati a fare nel linguaggio Java.

Quello che abbiamo scritto nelle poche righe di codice è un classico metodo main, anche qui punto di inizio dell’esecuzione. Le parentesi graffa rappresentano sempre il delimitatore dei blocchi di codice mentre il simbolo punto e virgola, alla fine di ogni riga, non è più obbligatorio (anche se non vietato): l’uso del punto e virgola rimane necessario solo come separatore per inserire più comandi sulla stessa riga.

Notiamo ancora altri aspetti:

  • la parola chiave fun serve ad introdurre una nuova funzione;
  • i commenti possono essere definiti come in Java: doppio slash per quelli contenuti in una riga e /* … */ per delimitare quelli su più righe;
  • la sintassi appare molto più snella già a giudicare dall’invocazione a println così diretta per la stampa di una riga in output.

Secondo esempio: le variabili

In questo secondo esempio, vediamo subito come dichiarare le variabili in Kotlin:

fun main(args : Array<String>) {
  val importo=1200.00f
  val sconto =25f
  val risultato=importo*(1-sconto/100)
  println("Il prezzo scontato è ${risultato}") 
}

Dichiariamo tre variabili: importo che contiene il prezzo di un prodotto; sconto che indica la percentuale di sconto da applicare (in questo caso il 25%); risultato che conterrà il prezzo scontato calcolato.

Per dichiarare le variabili in Kotlin si deve tenere a mente due aspetti. Innanzitutto, l’eventuale mutabilità della variabile. In questo linguaggio, infatti, si può dichiarare una variabile che non cambierà più una volta inizializzata con la parola chiave val (come in questi casi) oppure con var si potrà dichiarare una variabile in grado di essere riassegnata a piacimento.

Seconda cosa, il tipo di dato che caratterizzerà la variabile: ogni variabile ne avrà sempre uno anche se il programmatore non lo specificherà esplicitamente. Di tipi di dato ne esistono molti ed i principali sono:

  • numeri: possono essere interi (Byte, Short, Int, Long rispettivamente ampi 8, 16, 32, 64 bit) e a virgola mobile (Float e Double, rispettivamente di 32 e 64 bit);
  • booleani cui corrispondono solo due possibili valori: true e false;
  • caratteri, tipo Char, i cui elementi saranno espressi con singoli apici;
  • stringhe, racchiuse tra doppi apici ed indicanti una sequenza alfanumerica.

Abbiamo dichiarato tutte le variabili con val, semplicemente perché non abbiamo intenzione di modificarle dopo l’inizializzazione. Eppure nessuna di esse ha ricevuto un’esplicita assegnazione di tipo di dato: in questo caso, sarà l’ambiente di esecuzione a sceglierne uno. Trattandosi di numeri con virgola, per importo e sconto sarebbe stato scelto di default il tipo Double ma non avendo bisogno di tale precisione numerica abbiamo specificato una “f” al termine del valore di inizializzazione per indicare che lo intendiamo come Float.

Dichiarazione ed inizializzazione di variabile possono essere volti in diversi modi equivalenti tra loro:

// 1. il tipo di dato è identificato in base al valore di inizializzazione
val sconto = 25f

// 2. il tipo di dato è specificato immediatamente
val sconto: Float=25f

// 3. si esegue dichiarazione e, successivamente, inizializzazione
// ATTENZIONE: non si potrà più modificare il valore perché dichiarata con val
 val sconto: Float
 sconto=25f

Notare ancora che la stampa di una stringa in parte fissa ed in parte derivante dalla variabile non richiede concatenazione ma l’utilizzo di uno string template (che approfondiremo più avanti) il quale permette, usando il simbolo dollaro e le parentesi graffa, di espandere il contenuto di una variabile all’interno di una stringa.

Terzo esempio: definizione di funzioni

Il terzo esempio propone lo stesso esercizio del secondo ma racchiudendo in una funzione il calcolo dello sconto:

fun calcolaSconto(importo: Float, sconto:Float)=importo*(1-sconto/100)

fun main(args : Array<String>) {
  val importo=1200.00f
  val sconto:Float =25f
  
  println("Il prezzo scontato è ${calcolaSconto(importo, sconto)}") 
}

La funzione calcolaSconto accetta due parametri Float in input ed il suo corpo è estremamente ridotto: ciò è stato permesso dall’atomicità dell’operazione da svolgere che richiede un singolo calcolo.

La versione estesa della nostra funzione sarebbe stata (ed è ciò che è obbligatorio quando il body richiesto è più articolato) come la seguente:

fun calcolaSconto(importo: Float, sconto:Float): Float
{
	return importo*(1-sconto/100)
}

Come si può vedere:

  • il blocco di codice è racchiuso tra parentesi graffa;
  • viene fatto uso della parola chiave return per indicare il risultato da restituire;
  • viene specificato un tipo di ritorno apponendo “: Float” al termine della prima riga.

Interessante notare come nello string template si sia potuto espandere direttamente l’invocazione alla funzione calcolaSconto.

Conclusioni

Al termine di questo incontro su Kotlin, non abbiamo potuto ignorare la sintassi estremamente essenziale che ci accompagnerà in tutta la nostra vita con questo linguaggio. L’aspetto importante è che nonostante si possa esprimere le operazioni da svolgere in maniera estremamente ridotta non manca nulla della ricchezza di Java dal punto di vista delle funzionalità e della definizione dei dati.

Inoltre, nonostante il modello a oggetti sia un punto saldo di Kotlin, abbiamo potuto svolgere il tutto seguendo il modello procedurale senza definizione di alcuna classe.

Non perdete il prossimo appuntamento con Kotlin e, nel frattempo, esercitatevi!

Share this story:
  • tweet

Tags: androidandroid studiointellijjavajava virtual machinejvmkotlinTutorial Pratici

Recent Posts

  • Parte il percorso programmatori iOS in Swift su devACADEMY.it

    20 Dicembre 2017 - 0 Comment
  • Android, crittografare dati velocemente con Encryption

    24 Settembre 2018 - 0 Comment
  • Sql2o, accesso immediato ai database tramite Java

    3 Settembre 2018 - 0 Comment
  • Okio, libreria per ottimizzare l’input/output in Java

    27 Agosto 2018 - 0 Comment

Related Posts

  • Sql2o, accesso immediato ai database tramite Java

    3 Settembre 2018 - 0 Comment
  • Okio, libreria per ottimizzare l’input/output in Java

    27 Agosto 2018 - 0 Comment
  • Stringhe in Kotlin

    23 Agosto 2018 - 0 Comment

Author Description

No Responses to “Kotlin: iniziamo a programmare con il nuovo linguaggio per sviluppatori di app Android”

Leave a Reply

Your email address will not be published. Required fields are marked *


*
*

Corso online di programmazione android e java

SEZIONI

  • Android
  • Comunicazioni
  • Contest
  • Corsi ed Eventi
  • Corso completo di C
  • Corso programmazione videogiochi
  • Framework
  • Grafica e Design
  • Guida rapida alla programmazione Cocoa Touch
  • Guide Teoriche
  • Guide varie
  • iPad
  • Le nostre applicazioni
  • Libri e manuali
  • Materiale OpenSource
  • News
  • Pillole di C++
  • Progetti completi
  • Risorse utili
  • Strumenti di Sviluppo
  • Swift
  • Tips & Tricks
  • Tutorial Pratici
  • Video Tutorial
  • Windows Phone

Siti Amici

  • Adrirobot
  • Allmobileworld
  • Apple Notizie
  • Apple Tribù
  • Avvocato360
  • Blog informatico 360°
  • bubi devs
  • fotogriPhone
  • GiovaTech
  • iApp-Mac
  • iOS Developer Program
  • iPodMania
  • MelaRumors
  • Meritocracy
  • SoloTablet
  • TecnoUser
  • Privacy & Cookie Policy
©2009-2018 devAPP - All Rights Reserved | Contattaci
devAPP.it è un progetto di DEVAPP S.R.L. - Web & Mobile Agency di Torino
Str. Volpiano, 54 - 10040 Leini (TO) - C.F. e P.IVA 11263180017 - REA TO1199665 - Cap. Soc. € 10.000,00 i.v.

devACADEMY.it

Vuoi imparare a programmare?

Iscriviti e accedi a TUTTI i corsi con un’unica iscrizione.
Oltre 70 corsi e migliaia di videolezioni online e in italiano a tua disposizione.

ISCRIVITI SUBITO