JetBrains has officially released Kotlin 1.3, along with an additional library of functions, construction tools, and learning resources. With this update, Coroutines are stable, making non-blocking code easier to read and write, and Kotlin/Native, which compiles Kotlin code directly into Native binaries, is in Beta.

Kotlin’s 1.3 stable version of the Coroutine provides a way for developers to develop non-blocking asynchronous program code that is easier to understand and evolve. This powerful tool can be used for everything from background work to implementing complex network protocols. The Kotlinx.Coroutines library, now in version 1.0, is strong enough to provide a robust foundation for managing asynchronous operations of any size, performing composition, cancellation, exception handling, and use cases for handling specific user interfaces.

Kotlin/Native uses LLVM to compile Kotlin raw code into Native binaries, which can be executed without a virtual machine and is suitable for a variety of operating systems and CPU architectures. This includes iOS, Linux, Windows, macOS and even WebAssembly and embedded systems. Kotlin/Native has fully automatic memory management and can communicate with C, Objective-C, Swift, Core Foundation, POSIX, and other public platform apis.

Kotlin/Native Runtime emphasizes immutable data and prohibits unprotected mutable state sharing between threads. However, in fact, there is no concept of thread in Kotlin/Native Runtime. Instead, it is abstracted as low-level implementation details and replaced by Worker. This is a safe and manageable way to do parallel computing.

In terms of multi-platform projects and tool support, Kotlin can handle all the components of a modern application by supporting Android, JavaScript and Native, bringing huge advantages to reusing application code and saving the cost of implementing the same task multiple times. While Kotlin’s multi-platform capabilities are still in beta, Kotlin 1.3 is a big step forward.

In addition, Kotlin 1.3 comes with a set of multi-platform libraries that cover everyday things like HTTP, serialization, and collaborative management. This library makes it easy for users to write multi-platform application code, but developers can also create their own multi-platform libraries that wrap platform-specific dependencies into a common API.

JetBrains notes that Kotlin’s adoption rate has grown dramatically this year. According to official statistics, about 1.5 million users have written Kotlin since January 2018, double the number of last year, and the community is active on StackOverflow and Open Slack.

Besides being the official language for Android, Kotlin is also being used extensively in GCP, Spring Framework and Gradle. The open source community is also building libraries with names such as RxKotlin, Mockito-Kotlin, TornadoFX, Kodein and DECAY RROW. Square’s Okio and LibreOffice projects are also moving to Kotlin, where the ecosystem is maturing.

The article is from www.adopt.org.tw/map.asp