Home
Kotlin è l’opportunità di sviluppo Android che aspettavi

17 Giugno 2019

Kotlin è l’opportunità di sviluppo Android che aspettavi

di

Puoi cominciare con la leggerezza del coding oppure con l’approccio del professionista, grazie agli strumenti di sviluppo disponibili e a una guida di riferimento realmente completa.

Sono sempre stato attratto dai nuovi linguaggi di programmazione. Ho seguito, ad esempio, Swift dal suo inizio. Ovviamente per imparare veramente un linguaggio serve anche una motivazione che permetta tanto di apprezzarne i vantaggi quanto di essere abbastanza critico sul suo utilizzo. Per Kotlin è stata la voglia di imparare qualcosa di nuovo che potesse essere utile nel lavoro di tutti i giorni. Occupandomi di programmazione mobile ed in particolare Android, il passaggio è stato quasi automatico.

C’era anche la voglia di provare ad aggirare ostacoli noti. Per esempio, un possibile difetto di Java è la verbosità: servono molte righe di codice per creare, ad esempio, un POJO. Hai bisogno delle variabili d’istanza, dei getter e setter, devi implementare i metodi hashCode() e equals() e magari il toString() per semplificarne il debug. È vero che i moderni IDE ti generano tutto il codice, ma i problemi sorgono quando questo codice deve essere modificato.

In Kotlin puoi fare lo stesso con una data class per la quale definisci invece solamente le proprietà e tutto il resto viene “gratis”. Sinceramente direi che è bene conoscere Kotlin perché è uno dei linguaggi che vengono utilizzati per lo sviluppo delle applicazioni Android e non solo. È come l’inglese, se lo conosci hai più opportunità di lavoro e più possibilità di interagire con persone che lo utilizzano. Direi che Kotlin è ad giorno d’oggi uno skill necessario ma non sufficiente per lo sviluppo di applicazioni Android.

Kotlin è il futuro già presente dello sviluppo Android. E non solo

In ambito mobile le piattaforme che contano sono Android e iOS. Gli sviluppatori Apple si sono visti proporre Swift per la sostituzione progressiva di Objective-C. Kotlin è una operazione simile e Google lo ha appena designato linguaggio di preferenza per lo sviluppo su Android.

Kotlin e Swift hanno persino sintassi simili. Kotlin si propone però di essere qualcosa di più in quanto multipiattaforma.

In un mondo ideale si vorrebbe poter scrivere applicazioni iOS con Kotlin e ci sono già esempi. Lo stesso avviene con il runtime JavaScript. Kotlin da questo punto di vista è più vicino a Java, che non è solamente un linguaggio ma soprattutto una architettura comprendente, come parte fondamentale, una Virtual Machine.

Allo stesso modo con cui le grandi aziende ancora utilizzano Objective-C per le applicazioni iOS, lo stesso accade comunque con Java ed Android. Passerà molto tempo prima che Java scompaia dallo sviluppo Android e forse non accadrà mai.

Imparare Kotlin mentre sta maturando è una opportunità. Anche di coding

Kotlin è ancora giovane e il momento migliore per iniziare a studiarlo è adesso. A chi proviene da una esperienza Java vorrei consigliare di non imparare Kotlin come una semplice traduzione, ma di sfruttare le caratteristiche del linguaggio. Un esempio è l’utilizzo di tecniche di programmazione funzionale, che in Java appaiono dalla versione 8 ma in Kotlin sono disponibili da subito.

A chi manca di esperienze precedenti, dico che i fondamenti sono fondamentali. Un linguaggio è un modo per esprimere concetti che comunque devi già possedere. Avere non tanto esperienza di programmazione, quanto una introduzione a che cosa significhi programmare, faciliterà gli inizi.

Questo non toglie che Kotlin possa essere utilizzato con profitto in ambito coding. Se dovessi insegnare programmazione ai ragazzi, oggi utilizzerei Swift o Kotlin. Permettono di creare subito qualcosa di concreto e di ritornare successivamente su alcuni concetti per approfondimento. Un esempio già fatto: puoi creare una classe data che permette di memorizzare informazioni senza dover necessariamente introdurre i concetti di getter/setter, immutabilità, equals/hashCode e toString().

Il vantaggio di avere da subito un buon ambiente di sviluppo

Al giorno d’oggi il codice vero e proprio rappresenta solamente una piccolissima parte di un progetto. Sicuramente un IDE (Integrated Development Environment, ambiente di sviluppo integrato) deve permettere di scrivere codice velocemente attraverso sistemi di autocompletamento. È comunque necessario avere anche strumenti di debug, profiling, testing, deploy e altro ancora.

Kotlin è stato realizzato da JetBrains, che produce anche un ambiente di sviluppo su misura. Ritengo positivo che chi guidi il linguaggio ne crei anche gli strumenti di utilizzo, perché aiuta lo sviluppatore. Immagino che questa situazione abbia giocato favorevolmente nella valutazione di Google di affidarsi per il futuro linguaggio di programmazione Android a una soluzione messa a punto da una società indipendente.

Un linguaggio nuovo, legato all’esistente, usato in azienda

Molte aziende si stanno muovendo verso l’utilizzo di Kotlin. Non si tratta di una transizione automatica in quanto non ci si può solo basare sul fatto che piace di più agli sviluppatori, ma servono metriche concrete di produttività o di qualità del codice prodotto.

Servono poi sviluppatori che conoscano Kotlin abbastanza bene da non limitarsi a tradurre da Java ma ne sfruttino effettivamente le caratteristiche.

Un altro aspetto riguarda il codice esistente che è, nella grande maggioranza, Java. Uno degli aspetti più importanti, a cui ho dedicato molto spazio nel mio libro, riguarda infatti l’utilizzo di Java da Kotlin e viceversa. Kotlin ti permette di fare cose molto belle e concise, ma cosa succede se le devi utilizzare da un linguaggio diverso? Per questo consiglio una introduzione graduale partendo dal codice che non viene pubblicato, per esempio quello dei test.

Un libro può guidare nell’apprendimento di un linguaggio di programmazione

Penso che scrivere un libro sia un ottimo modo per imparare una tecnologia ed in particolare un linguaggio di programmazione. Un altro modo è ovviamente leggere un libro che non sia solamente un elenco di nozioni ma permetta di mettere in pratica, con molti esempi pratici, i concetti acquisiti.

Personalmente ho realizzato diversi progetti con Kotlin ma allo stesso tempo ne ho manutenuti altri con Java. Sono stato responsabile della migrazione a Kotlin per la banca per cui ho lavorato gli ultimi due anni. Non sono da trascurare gli oltre 70 progetti creati completamente in Kotlin per la nuova versione della guida completa ad Android Pie.

La programmazione è fatta di attenzione ai dettagli

Quando ero docente per conto di Sun Microsystems ero specializzato nella preparazione alle certificazioni Java. Questo ti porta a sviluppare un modo particolare di studio molto attento ai dettagli e a quegli aspetti che molti sviluppatori considerano dettagli prima di scoprirli molto utili.

Il testo che ho scritto segue questa logica; è corposo ma crescerà ancora nelle prossime versioni. Ho infatti affrontato nel dettaglio il linguaggio ma avrei voluto dedicare più spazio alla parte delle librerie ed in particolare alle coroutine. Ci sono comunque voluti almeno tre mesi di lavoro intenso, anche alla luce del fatto che si tratta di una tecnologia in continua evoluzione.

Kotlin può essere letto in due modi diversi. Il primo è una lettura dall’inizio alla fine, provando i vari esempi scaricabili da GitHub, risorsa utile anche per seguire l’evoluzione del linguaggio e portare tematiche di bug fixing o comunque discussioni sul codice. Il secondo è invece un utilizzo più classico come guida di riferimento, per informarsi direttamente sull’argomento di interesse.

L'autore

  • Massimo Carli
    Massimo Carli, dopo essersi occupato per più di dieci anni di applicazioni enterprise in ambiente Java, nel 2003 ha iniziato a interessarsi alle applicazioni mobile, sviluppando per dispositivi Blackberry, iOS e Android. Ha lavorato come Software Engineer per Yahoo! e Facebook ed è attualmente Lead Mobile Engineer per Lloyds Banking Group.

Vuoi rimanere aggiornato?
Iscriviti alla nostra newletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.

Libri che potrebbero interessarti

Tutti i libri

Kotlin

Guida al nuovo linguaggio di Android e dello sviluppo mobile

37,90

49,89€ -24%

25,42

29,90€ -15%

19,99

di Massimo Carli

Android 9

Guida completa per lo sviluppo di applicazioni mobile

63,90

84,89€ -25%

42,42

49,90€ -15%

34,99

di Massimo Carli