Use Kotlin with npm, webpack and react

With Kotlin 1.1, targeting JavaScript in the Kotlin compiler has officially reached production-ready status. Of course, having compiler support is not enough to be able to solve real-life problems, so we continue our work on integrating Kotlin into the larger JavaScript ecosystem.

Today, we’d like to present two new projects: a Gradle plugin integrating Kotlin with npm, webpack and karma, and a full-stack application sample with a Kotlin/JVM backend and a Kotlin/JS frontend built with React.

Kotlin Frontend Plugin

The Kotlin frontend plugin allows you to build and deploy a Kotlin frontend application using webpack. You can use npm packages as dependencies of your application, and the plugin will take care of downloading them and bundling them into the resulting JS file. The plugin also integrates with Karma, allowing you to run the tests of your application. And for optimal workflow, the plugin supports continuous compilation and hot reload, ensuring that you always see an up-to-date version of your application in the browser.

The README file gives instructions for using the plugin, and the examples directory contains a simple example showing how you can apply it in a real project.

Kotlin React Example

Thinkter is an example of a modern full-stack application built in Kotlin. The backend runs under Jetty and uses Ktor, a Kotlin Web application framework developed by the Kotlin team. The frontend uses React; a set of React wrappers for Kotlin is provided as part of the project. You’re welcome to use the wrappers in your project and adapt them to your own needs. Note that we’re working on evolving the React wrappers internally, and we’re considering releasing them as a separate open-source library.

To see what Kotlin React code looks like, you can check out one of the components of the application.

Your feedback on these releases is very much welcome! Please file issues on GitHub, stop by the forums, or join the #javascript channel on the Kotlin Slack.

Posted in JavaScript | 22 Comments

Kotlin 1.1 Event Report

The Kotlin 1.1 release was warmly met by the community. To demonstrate the new features in Kotlin 1.1, JetBrains offered an online event. All those interested were able to watch a live stream of Andrey Breslav’s demo presentation and get their questions answered during a Q&A session.

This motivated many local communities to meet up: more than 30 user groups hosted events in 21 countries.

You can find the full list of the events at the Kotlin community web page. Over 3000 people joined the broadcast on the day of the event.

The recording of the demo presentation and the Q&A is available on YouTube:

Continue reading

Posted in Events | Tagged | 13 Comments

Kotlin 1.1 is also for Android Developers

Antonio Leiva
This is a guest blog post from Antonio Leiva — Android engineer, trainer and author of the “Kotlin for Android Developers” book.

We’re all really excited about the release of Kotlin 1.1. The new features this release includes are extremely useful for Java developers and lead JVM development to a new world of possibilities.

But these new features, such as coroutines, or type aliases (to put a couple of examples), look like science fiction for Android developers.

We’re still stuck in an ancient Java 6 with little improvements that forces us to develop in ways almost forgotten for most developers in any other platforms.

So a sane question would be: has the Kotlin team been able to keep compatibility to Java 6 while bringing all these new features alive? And the answer is: of course!

All the new stuff is still available for Java 6 and, as an extension, for Android developers. And today, I want to show you some of them, and how they can make your life even easier when developing Android Apps.

Continue reading

Posted in Android, guestpost | Tagged | 16 Comments

Kotlin/Native Tech Preview: Kotlin without a VM

We are happy to announce the first Technology Preview of Kotlin/Native that compiles Kotlin directly to machine code. The Kotlin/Native compiler produces standalone executables that can run without any virtual machine.

It is not a fully functional release yet, but you can already play with the technology and take a look at its source code here. The compiler is available under the Apache 2 OSS license.

Continue reading

Posted in Releases, Roadmap | Tagged , | 92 Comments

Kotlin 1.1 Event in Your City

We are holding the Kotlin 1.1 event on March 23. Tune in to the live stream at JetBrains TV and see Andrey Breslav’s demo presentation about the key features of Kotlin 1.1, including coroutines, JavaScript back-end and more.

Start tweeting your questions today and get answers during the Q&A session live stream on March 23. Use the hashtag #kotlinqa.

We hold 2 live streams to accommodate different time zones. See the detailed schedule and guidelines in the blogpost.

Check if there is a Kotlin 1.1 event in your city. If you don’t find a local community event, join the live stream individually.


Please note that the time of the live stream for the US has been changed to PDT time. The first live stream will start at 9 am PDT and the second at 11 am PDT.

Posted in Uncategorized | 1 Comment

Kotlin 1.0.7 is out

We’re happy to announce that Kotlin 1.0.7, the last update in the Kotlin 1.0.x series, is out. The main focus of this update is to backport the fixes related to Gradle and annotation processing so that they become available to those who can’t upgrade to version 1.1 at this time. The complete list of fixes is available in the changelog.

To use the new version in your Maven or Gradle builds, simply change the Kotlin version number in your build scripts. The command-line compiler can be downloaded from the Github release page.

In IntelliJ IDEA and Android Studio, we recommend to use the 1.1 version of the plugin, and to switch the language version to 1.0 if you’re using Kotlin 1.0.7 to build your project. If you do want to install the version 1.0.7 of the plugin, you can do so by downloading the version for your IDE from the Kotlin plugin Web site and using the “Install plugin from disk…” button.

As usual, if you run into any problems with the new release, you’re welcome to ask for help on the forums, on Slack (get an invite here), or to report issues in the issue tracker.

Let’s Kotlin!

Posted in Releases | 1 Comment

Announcing KotlinConf

Over the past year we have seen significant growth in Kotlin adoption, represented not only by the lines of Kotlin code on GitHub (8M new lines of code since 1.0 release) but also by the numerous companies that have been reaching out to us about their usage, the number of talks being presented by community members at conferences, the increase in new frameworks and libraries, new user groups and meet-ups, as well as community events

To thank the wonderful Kotlin community, and to also share the most exciting things happening in Kotlin, we’re happy to announce KotlinConf, a two-day event taking place in San Francisco, November 2017.


We’ll be opening up registration soon with early-bird tickets, so make sure you sign-up for updates.

Call for Papers now open

We have keynotes lined up by Andrey Breslav and Erik Meijer, and talks by some other speakers that we’ll be announcing shortly. But this is a community event and we want you, as members of the Kotlin community to also participate in the conference. As such, there is an open Call for Papers where you can submit talks on things you’ve been doing with Kotlin and would like to share. While there is no rush, don’t delay because the call ends on the 1st of May 2017. 

If you have any questions regarding the conference, please send an email to You can also ask questions on #kotlinconf on Slack. For sponsorship enquires, please email

2017 is going to be an exciting year for Kotlin and we hope to celebrate it with you in November!

Posted in Events | Tagged | 7 Comments

Kotlin 1.1.1 is out

Today we’re releasing the first bugfix update for Kotlin 1.1. The primary focus of this update is to address regressions causing incorrect code generation; we wanted to get those fixes out as quickly as possible. The details are available in the changelog.

The specific changes worth highlighting are:

  • Gradle incremental compilation is now enabled by default. You can still turn it off as described in the documentation if you need to.
  • Kotlin plugins are now available in the Gradle plugin portal. See the documentation for usage instructions.
  • Using function types with receivers as parameter types of JavaScript external declarations is no longer allowed. Previously, lambdas passed to such parameters weren’t invoked with correct arguments, and there’s no easy workaround for this issue, so for now we’ve decided to disable the functionality.

We’ve also updated the Kotlin Eclipse and NetBeans plugins to include Kotlin 1.1.1, so you can enjoy the benefits of the new Kotlin version regardless of your IDE choice.

How to update

To update the IDEA plugin, use Tools | Kotlin | Configure Kotlin Plugin Updates and press the “Check for updates now” button. Also, don’t forget to update the compiler and standard library version in your Maven and Gradle build scripts.
The command-line compiler can be downloaded from the Github release page.

As usual, if you run into any problems with the new release, you’re welcome to ask for help on the forums, on Slack (get an invite here), or to report issues in the issue tracker.

Let’s Kotlin!

Posted in Releases | 15 Comments

Kotlin 1.1 Event

In addition to the new features that Kotlin 1.1 brings to your projects, it is also a good reason to meet up with your local community and friends to learn about new opportunities behind the release and impact on the future of Kotlin.

You can organize a Kotlin 1.1 Event together with the JetBrains team and your community on March 23. We will hold 2 live stream sessions to accommodate different time zones. You can join the live stream at 5pm or 7pm CET (9am and 11am PDT).

Let us know about your event so we can announce it at the blog.


Continue reading

Posted in Events | Tagged | 2 Comments

Kotlin 1.1 Released with JavaScript Support, Coroutines and more

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

Today we release Kotlin 1.1. It’s a big step forward enabling the use of Kotlin in many new scenarios, and we hope that you’ll enjoy it.

Kotlin 1.1

Our vision for Kotlin is to enable the use of a single expressive, performant, strongly typed language across all components of a modern application. Kotlin 1.1 makes two major steps towards this goal.

Continue reading

Posted in Releases | Tagged | 79 Comments