Il team di JetBrains ha rilasciato una nuova minor release di Kotlin, ovvero il linguaggio di programmazione multi-paradigma basato sulla JVM che sta per diventare lo standard nel settore dello sviluppo di applicazioni Android. Anche se Kotlin 1.3.20 non è una major release, contiene comunque diverse novità interessanti, come i miglioramenti al compilatore e all'IDE di riferimento che ora da la possibilità di creare progetti multipiattaforma tramite Gradle Kotlin DSL.
Una delle novità più rilevanti è sicuramente il supporto alla Parallel execution tramite le Gradle Worker API. Ora sarà possibile eseguire il build tramite Gradle in modo molto più veloce grazie all'impiego di task eseguiti in parallelo. Inoltre l'Android Library (AAR) è stata resa disponibile come libreria multipiattaforma.
Oltre a quanto già descritto, su Kotlin 1.3.20 possiamo trovare ora:
- miglioramenti per le classi inline: il loro supporto è stato ottimizzato e alcuni limiti di programmazione precedentemente individuati sono stati mitigati;
- migliorie per Kapt: l'utilizzo di Kapt tramite la shell è stato semplificato, permettendo agli utenti di utilizzarlo direttamente come tool invece di doverlo invocare tramite il compilatore;
- supporto ad IntelliJ IDEA: in questa release è stata aggiunto il supporto al refactoring e all'inspection tramite il plugin di IntelliJ IDEA;
- code contracts: ora la funzionalità di Contracts è finalmente disponibile in Kotlin/Native;
- novità per interop: il team di JetBrains ha lavorato su interop per migliorare le sue performance, è stato ad esempio aggiunto supporto alle construction in C come le enumerazioni con dichiarazioni anticipate ed è arrivato un potenziamento per l'error reporting nei casi di ereditarietà in Objective-C;
- native framework dalle librerie: è ora possibile realizzare degli Apple framework non solo dal codice sorgente dei file ma anche dalle librerie Kotlin, questo è accessibile tramite l'opzione da riga di comando
-Xexport-library
oppure con i plugin di Gradle; - Performance: oltre ad aver ridotto la memory footprint (quantità di memoria utilizzata da un programma) sono state anche migliorate le performance a runtime in generale grazie a diverse ottimizzazioni del compilatore per i loop su intervalli che rendono le iterazioni molto più veloci.
Via Kotlin Blog