Kotlin/Native v0.6 is Here!

We are pleased to announce Kotlin/Native v0.6 (Valentine’s Day release) of our toolchain. This is a major update, including the following features:

  • Support for multiplatform projects in compiler and Gradle plugin
  • Transparent Objective-C/Kotlin container classes interoperability
  • Support first embedded target (STM32 board)
  • Kotlin 1.2.20, Gradle 4.5 and Java 9 supported
  • Smaller WebAssembly binaries (basic applications is around 160KiB now)
  • CLion plugin update for CLion 2018.1 (fixed the issue with macOS platform libraries indexer)

Continue reading

Posted in Native, Releases, Tools | Tagged | 18 Comments

Application development in Kotlin/Native

In this blog post we are discussing development of Kotlin/Native applications. Today we take a look on basic video player, using FFMPEG audio/video decoder and SDL2 for rendering. Hopefully, it will be useful guide for Kotlin/Native development enthusiasts and will explain intended mechanisms of using the platform.

As main focus in our tutorial is on Kotlin/Native, we will give only cursory view on how videoplayer shall be developed. Please see this excellent tutorial, called “How to Write a Video Player in Less Than 1000 Lines” for reference on how it could be done in C language. If you’re interested in comparing how coding in C differs to coding in Kotlin/Native, I would recommend starting with this tutorial.

Continue reading

Posted in Coding, Native | Tagged | 23 Comments

Using Gradle build cache with Kotlin

Eric Wendelin
This is a guest blog post from Eric Wendelin
software engineer for Gradle

A build cache allows Gradle to reuse task output from any previous invocation, including those from other machines. Kotlin 1.2.21 allows Kotlin projects to make use of build caching.

The build cache works by storing compiled classes, test outputs, and other build artifacts in a cache, taking into account all task inputs, including input file contents, relevant classpaths, and task configuration.

Build Cache topological diagram

This frequently results in faster builds. The following chart shows aggregated build time with and without the build cache for part of Gradle’s CI:

Build minutes saved with Gradle build cache

In this post, we’ll explain how you can use Gradle’s build cache to avoid unnecessary Kotlin compilation to speed up your builds.
Continue reading

Posted in guestpost, Tools | Tagged | 13 Comments

Kotlin 1.2.20 is out

We’re happy to announce the release of Kotlin 1.2.20, a new bugfix and tooling update for Kotlin 1.2. This update:

  • Adds support for Gradle build cache
  • Improves incremental compilation for Android and mixed Kotlin/Java projects
  • Provides IDE support for the new Kotlin style guide
  • Adds inlay hints in the editor for implicit parameters and receivers of lambdas, as well as values returned from lambdas
  • Supports development mode in JavaScript DCE Gradle task
  • Introduces new inspections, performance improvements and bug fixes in the IntelliJ plugin

The update is compatible with all versions of IntelliJ IDEA from 2017.1 until 2017.3, as well as with Android Studio 3.0 and 3.1 Canary.

The complete list of changes in this release can be found in the changelog.

We’d like to thank our external contributors whose pull requests were included in this release: Toshiaki Kameyama (with an impressive number of contributions – 46 commits!), Yoshinori Isogai, Kenji Tomita, Kirill Rakhman, Sergey Ryabov, Alexey Belkov, Michal Bendowski, AdamMc331, Andre Perkins, Andrey Mischenko, Artem Zinnatullin, Chris Povirk, Denis Vnukov, Dereck Bridie, Ilya Zorin, Jake Wharton, Joscha Alisch, Kartik Patodi, AJ Alt, Ramon Wirsch, Vladimir Kasatkin, Yusuke Hosonuma, a2kaido, scache.

Continue reading

Posted in Releases | Tagged | 58 Comments

Kotlin/Native Plugin Update

Greetings Kotlin fans,

A New Year is coming and we are truly happy to make the last announcement of 2017. We’ve just released the update for Kotlin/Native plugin for CLion. It brings support for Kotlin/Native platform v0.5 which was published recently.

As you may know, CLion is a commercial IDE, but it’s gift time, so we want to give you a way to use Kotlin/Native plugin in its EAP stage for free. That’s why we are glad to provide all Kotlin/Native early adopters with a free 4-month personal subscription for the CLion IDE. If you are interested in it, please fill out and submit the following form:
Continue reading

Posted in Native, Releases, Tools | 1 Comment

Kotlin/Native v0.5 released: calling Kotlin from Swift and C, LLVM 5 and more

We’re happy to announce the release of Kotlin/Native v0.5, Christmas edition! This release adds support for using Kotlin/Native code from C, Objective-C and Swift, supports development using iOS simulator, along with LLVM 5 support and creating WebAssembly from Linux and Windows hosts.

Continue reading

Posted in iOS, Native, Releases | Tagged | 32 Comments

Webinar recording: Developing Multiplatform Projects in Kotlin 1.2

Last week the webinar “Developing Multiplatform Projects in Kotlin 1.2” took place. Thanks to all participants for coming and good questions. Today we are happy to publish the recording of it. Don’t hesitate to suggest more themes for new webinars in comments. See you next time!

Continue reading

Posted in Events | Tagged | 3 Comments

KotlinConf 2017 Session Recordings and Photos are Here!

At last, they’re here!

All KotlinConf session recordings are now available with their accompanying slides. Watch the talks you missed, and rewatch the ones you loved, all at your own leisure! While you’re at it, take a look at the newly published photo gallery and see if you can find yourself, friends, or colleagues.

For a quick recap, check out the highlights video below and if you want, continue straight through the KotlinConf playlist on JetBrainsTV.

Posted in community, Events, Uncategorized | Tagged | Comments Off on KotlinConf 2017 Session Recordings and Photos are Here!

Kotlin 1.2 Released: Sharing Code between Platforms

Members of our community have translated
this blog post into several languages:

Today we’re releasing Kotlin 1.2. This is a major new release and a big step on our road towards enabling the use of Kotlin across all components of a modern application.

In Kotlin 1.1, we officially released the JavaScript target, allowing you to compile Kotlin code to JS and to run it in your browser. In Kotlin 1.2, we’re adding the possibility to reuse code between the JVM and JavaScript. Now you can write the business logic of your application once, and reuse it across all tiers of your application – the backend, the browser frontend and the Android mobile app. We’re also working on libraries to help you reuse more of the code, such as a cross-platform serialization library.

Kotlin 1.2
Continue reading

Posted in Releases | Tagged | 46 Comments

Kotlin/Native v0.4 released: Objective-C interop, WebAssembly and more

We’re happy to announce the release of Kotlin/Native v0.4, KotlinConf 2017 edition! This release adds support for accessing Objective-C APIs on iOS and macOS, WebAssembly target platform, as well as introduces major changes making app development in Kotlin/Native way easier.
Continue reading

Posted in Native, Releases, Uncategorized | Tagged | 32 Comments