Kotlin 1.3 with support for corutin, Kotlin / Native beta version and more

    The other day, Kotlin 1.3 came out with a set of related libraries, build tools and training materials.

    We make Kotlin as a tool for developing applications of any scale on any platforms. In Kotlin 1.3, thanks to Korutin, reading and writing non-blocking asynchronous code has become easy and convenient. Scalability has become much more accessible. In the new release, we also released the beta version of Kotlin / Native, which allows you to compile the Kotlin code directly into machine code. Kotlin multiplatform features now work on all supported platforms, which allows, for example, using the same business logic in Android and iOS applications. Common logic can also be used for servers and mobile and web clients. In addition, the opportunity to write easily portable multiplatform libraries, which will take on most of the daily tasks.

    image

    In the near future, we will conduct a series of webinars on the main features of version 1.3, sign up here .

    Community and Ecosystem


    This year, the Kotlin ecosystem has grown at an unprecedented pace. Since January 2018, approximately 1.5 million users have edited the code on Kotlin, compared with last year, their number more than doubled. The knowledge base on StackOverflow and in our public Slack is also growing at an impressive pace. And we are very pleased that the Kotlin community is so responsive and friendly.

    We like how the ecosystem that has developed around Kotlin grows and develops. Kotlin is friends with the Google Cloud Platform , the Spring Framework and Gradle , not to mention official support on the Android platform . The open source community creates excellent libraries such as RxKotlin , mockito-kotlin ,TornadoFX , Kodein and ΛRROW . Already moving to Kotlin or planning to migrate projects such as Square's Okio and LibreOffice . We invite everyone to join the Kotlin ecosystem with their ideas and projects.

    Not only JetBrains employees contributed to Kotlin 1.3, but also many other people who created pull-requests, bug reports and supported all kinds of feedback with us. We really appreciate your help in the development of Kotlin!

    Korutiny officially stable


    Korutiny is a modern way of writing non-blocking asynchronous code that is easy to understand and convenient to modify. This powerful tool can be used for a variety of purposes - from shifting the computational load to background workers (worker) to implementing complex network protocols. The kotlinx.coroutines library, version 1.0 of which was included in this release, provides a solid foundation for managing asynchronous tasks at any scale, including their creation, cancellation, exception handling, and cases related to the user interface.

    Start today at kotl.in/coroutines !

    Kotlin / Native Beta


    Kotlin / Native uses LLVM to compile Kotlin source code into standalone binaries (no virtual machine needed) for a variety of operating platforms and processor architectures, including iOS, Linux, Windows, Mac, and even WebAssembly and embedded systems such as STM32. Kotlin / Native supports fully automatic memory management, provides interaction with C and Objective-C (and Swift), and allows you to work with platform APIs such as Core Foundation or POSIX, and any native libraries that a developer may need.

    The Kotlin / Native runtime environment encourages the use of immutable data and prohibits any attempt to transfer unprotected changeable state between threads. In fact, from the point of view of Kotlin / Native, there are no threads; they are abstracted as a low-level aspect of the implementation and replaced by performers (a worker) - this is a safe and convenient way to implement parallelism.

    You can get to know Kotlin / Native at kotl.in/native .

    Multiplatform projects and tools


    Kotlin has been explicitly tasked with working on all platforms, but we consider it as a prerequisite for a more important goal - to use the same code on different platforms. Support for JVM, Android, JavaScript and Native allows Kotlin to work with any components of modern applications. And this gives an invaluable opportunity to reuse the code and the existing developments - it’s much better to focus on solving really complex tasks, rather than on implementing the same code twice or more. Although the multiplatform capabilities in Kotlin remain experimental, version 1.3 is a big step forward.

    Kotlin 1.3 comes with a set of multiplatform libraries for all everyday tasks, for example: HTTP , serialization andCorutin Management . Using such libraries is the easiest way to write multiplatform code. In addition, you can create your own multiplatform libraries that abstract the features of certain platforms in a single API.

    Start reusing code on different platforms today: kotl.in/multiplatform .

    Tools for Kotlin / Native and Multiplatform


    In Kotlin 1.3, Kotlin / Native development tools and multiplatform projects are available in IntelliJ IDEA Community Edition, IntelliJ IDEA Ultimate and Android Studio development environments. In all three IDEs, you can use all the code editing functionality — error highlighting, complex, navigation, and refactoring. In the future, we will be implementing more complex features and integration with commercial tools.

    Ktor 1.0 Beta


    Ktor - our framework for interconnected applications that implements all HTTP stack with full asynchronous based korutin - already in beta and is available at ktor.io .

    Other improvements


    In addition to all of the above, this release has a number of other features and improvements:


    A full description of all the innovations can be found here (in English). You can also read the change log and the compatibility guide .

    KotlinConf


    We published all the videos from the KotlinConf 2018 conference, where the main topics of Kotlin 1.3 were discussed. Check out the introductory keyout to learn more about the latest and most important:


    Records of all seminars from KotlinConf 2018 are available on JetBrains TV .

    Exploring kotlin


    We are trying hard to make learning Kotlin easy and enjoyable. There are many resources for this , among which we would like to highlight the following:


    For programmers of all levels , Kotlin 1.3 webinars are an excellent starting point .

    How to upgrade


    As always, you can try Kotlin online at play.kotl.in .

    • Maven, Gradle, and npm: Use the version number 1.3.0 for the compiler and standard library. Documentation is here .
    • IntelliJ IDEA: Kotlin 1.3 will be included in version 2018.3, and in earlier releases it is enough to install or upgrade the Kotlin plugin to version 1.3.
    • Android Studio: you can install or remove a plugin using the Plugin Manager.
    • Eclipse: the plugin can be installed via the Marketplace .
    • The compiler for the command line can be loaded on the release page on Github .

    Let's Kotlin!

    Your Team JetBrains
    The Drive to Develop

    Also popular now: