Kotlin vs Java: Kotlin sostituirà Java?

Pubblicato: 2021-10-05

Un articolo mirato a descrivere tutte le principali bellezze dei due linguaggi per lo sviluppo mobile Android, rispettivamente Kotlin e Java.

L'articolo risale al 10 marzo 2017 ea quel tempo Kotlin non è ancora diventato una lingua ufficiale di Google.

Quando scegli gli sviluppatori per lavorare sulla tua applicazione Android personalizzata, una determinata tecnologia che usano è essenziale per te. I due linguaggi più comunemente usati per Google ora sono Java e Kotlin (anche se manca ancora il supporto ufficiale di Google), quindi per te potrebbe sembrare, all'inizio, una questione di poca importanza su cosa stia programmando il tuo team. Un'ulteriore considerazione mostra però che il linguaggio di programmazione potrebbe anche ridurre parte del tuo tempo e delle tue spese.

Leggi anche: motivi di rifiuto di Google Play

Un fatto interessante: Kotlin prende il nome da un'isola (Kotlin Island, situata vicino alla città di San Pietroburgo); questo linguaggio di programmazione relativamente nuovo di Kotlin si sta gradualmente trasformando in una forza enorme con un enorme potenziale per le future app Android su cui basare il proprio sviluppo.

Incontra tecnicamente 6, ma in realtà Kotlin di 1 anno.

Originariamente, nell'anno 2011 come versione svelata, Kotlin è apparso per la prima volta come nuovo linguaggio per Java Virtual Machine da un team di programmatori di San Pietroburgo chiamato Jet Brains. Il motivo per cui hanno deciso di inventare una nuova "ruota rotante" per lo sviluppo di Android è abbastanza facile da capire; a quanto pare ce ne sono alcuni:

  • Java esiste già da 22 anni (un bel termine per un linguaggio di programmazione), motivo per cui ci sono un sacco di funzionalità che non possono essere implementate a causa della mole e dell'obsolescenza di Java.

  • Java richiede la scrittura di lunghe combinazioni di codice

  • Il codice scritto su Java richiede un po' di tempo per essere compilato

Tuttavia, il team di sviluppo di Kotlin è stato d'accordo e ha convenuto che molti linguaggi non avevano il mix di funzionalità che gli ingegneri di tutto il mondo desideravano, ad eccezione di Scala; anche se, come ha sottolineato Dmitry Jeremov, il responsabile tecnico della società Jet Brains, il tempo di compilazione di Scala è lento e insufficiente per la velocità con cui si muovono i servizi IT contemporanei.
Infine, il febbraio dell'anno scorso è stato un mese speciale per l'intera società JB, poiché la prima versione di Kotlin 1.0 ha ufficialmente visto il mondo in una versione stabile.
Da quel momento, Jet Brains sul loro blog ufficiale ci ha consigliato di rimanere sintonizzati e ha promesso che il nuovo aggiornamento 1.1 Kotlin, incentrato sulla correzione dei bug e sul supporto Java Script, sarebbe arrivato presto. Per il momento in cui questo articolo è stato pubblicato (10 marzo 2017), la versione 1.1 Kotlin è stata rilasciata solo una settimana fa, ma il mondo ne sta già parlando. Quindi, se fai un confronto tra Kotlin e Java, ci sarebbero differenze significative?

Non una ruota reinventa.

Quando si esaminano le differenze di Kotlin rispetto a Java, appaiono sicuramente alcuni vantaggi di Kotlin rispetto a Java che potrebbero avere l'effetto desiderato per coloro che cercano di sviluppare un'app Android.

Motivi per usare Kotlin per Android

Quindi, cominciamo da qualche parte dall'inizio.

Motivi per usare Kotlin:

1) Kotlin richiede meno codice da scrivere.

Almeno il 20% in meno. Come accennato in precedenza, Java di 22 anni è già un po' obsoleto + Oracle ha creato Java per essere un linguaggio compatibile con le versioni precedenti, il che significa sostanzialmente che ogni versione appena lanciata deve supportare le funzionalità incluse nella precedente e, di conseguenza, , con ogni aggiornamento diventa più difficile includere alcune nuove funzionalità; di conseguenza aumenta anche la quantità di codice da scrivere.
Al contrario, l'architettura di Kotlin è stata creata da zero, causando l'assenza di un'architettura layer to layer.

2) Meno cotte si verificano su Kotlin.

Kotlin JVM ha molti meno problemi come spesso chiamato "errore da un miliardo di dollari" - il problema di NullPointerExeption è prevenibile lì. NullPointer è ancora presente in tutti i linguaggi di programmazione, ma le modalità di utilizzo possono essere diverse. Per la cronaca, in Java è necessario controllare manualmente se il collegamento è null o non null. Se si perde null - boom, crash, voilà! A favore di Kotlin, ogni oggetto è impostato automaticamente su Null in questa lingua + ci sono controlli automatici per NullPointer - per garantire che il codice funzioni correttamente senza di esso.

3) Kotlin è un linguaggio di sicurezza dei tipi.

Di nuovo, in Kotlin ogni classe è una funzione, e viceversa; più a questo, come Swift per iOS, Kotlin per Android ha tipi opzionali, che aiutano con tutti i controlli di sicurezza.

Leggi anche: Vantaggi dell'utilizzo di Siwft rispetto a Objective-C

4) Kotlin ti fa risparmiare un po' del tuo tempo prezioso.

Come già detto, meno codice garantisce quasi meno bug e, rispettivamente, viene tracciato meno tempo sull'intero processo di codifica. E molto spesso i team di sviluppo software calcolano i costi totali del progetto in base alla quantità di ore che gli sviluppatori dedicano alla codifica.

Ecco alcuni dei vantaggi di Kotlin rispetto a Java. Sebbene Kotlin non sia ancora ufficialmente supportato da Google e richieda qualche secondo in più durante la prima compilazione del codice, con tutti questi punti coperti, diventa ovvio che il linguaggio di programmazione di Kotlin ha molte bellezze, e tenendo conto della velocità prende slancio con, senza dubbio è un'idea saggia per Kotlin-Switch.

Leggi le differenze tra lo sviluppo Android e iOS

"E se faccio un cambio?"

Il mondo in cui viviamo diventa piuttosto imprevedibile in molte occasioni e, in termini di sviluppo di applicazioni mobili, a volte è necessario cambiare il team con cui hai lavorato. Diciamo che prima lavoravi con un team di outsourcing, ma ora c'è una richiesta per uno sviluppo interno per il tuo progetto. Quanto sarebbe difficile fare una "traduzione" da una lingua all'altra?
Ancora una volta, la risposta dipende davvero dalla tecnologia utilizzata dai tuoi precedenti ingegneri. Se prendiamo come esempio il passaggio da Java a Kotlin, allora c'è senza dubbio una soluzione. Jet Brains ha creato un convertitore Java-Kotlin che aiuta a risolvere questo problema; tuttavia, si verificano ancora alcuni errori durante il processo di conversione, quindi deve essere monitorato e alcune operazioni devono anche essere impostate manualmente.

Sul lato negativo, la conversione da Java a Kotlin sarebbe ancora più stagnante e dolorosa, poiché non tutte le funzioni, i metodi e le variabili potrebbero essere convertiti. Forse la soluzione più rapida per il nuovo team con cui collabori sarebbe continuare a scrivere su Java, se possibile.

Inoltre, la possibilità di conversione in un'altra lingua dipenderà dalle dimensioni del tuo progetto. Esistono, in generale, 3 tipi di progetti: piccoli , medi e grandi .

  • I piccoli progetti richiedono circa 160-200 ore e, se non c'è un'architettura complessa, possono essere trasferiti a Kotlin;

  • I progetti medi consistono in uno sviluppo della durata massima di 5 mesi e sono piuttosto scomodi da convertire;

  • Lo sviluppo di grandi progetti inizia dal termine di 5 mesi e i progetti di questa categoria sono totalmente impossibili da convertire in un'altra lingua;

Nel complesso, l'opzione migliore per un cliente "cambiante" è sempre quella di iniziare a lavorare con ingegneri che utilizzano la stessa tecnologia, linguaggi e framework utilizzati dai precedenti responsabili del progetto. In ogni caso, quando il cambiamento è inevitabile, consigliamo vivamente di scegliere “il lessico più recente”; ad esempio, per scegliere Kotlin su Java.

Un modo conciso per programmare per Android in modo più intelligente.

Kotlin come lingua Android per il futuro

O almeno così recita lo slogan di Kotlin. Indubbiamente, Kotlin potrebbe avere i suoi pro e contro, ma molte funzionalità sono diventate praticabili una volta che Kotlin è arrivato. E con una versione appena rilasciata di Kotlin 1.1, che ora supporta ufficialmente Java Script, molte funzionalità precedentemente oniriche potrebbero essere implementate da ora e via.

In Mind Studios ci siamo anche dilettati con lo sviluppo di Kotlin per Android da quando è apparsa sulla scena la prima versione stabile. Mi Band Control (un tracker di attività per Mi Band Wristband) è un'applicazione completamente sviluppata su Kotlin. Questa esperienza ha dimostrato che Kotlin è un modo più intelligente e conciso di codificare per Android anche dai nostri sviluppatori. Quindi, scegli saggiamente la lingua per la tua app, ma ricorda di rimanere aggiornato!

Scritto da Vsevolod Kaganovich ed Elina Bessarabova.