Gradle Meets Kotlin

Back at JavaOne 2015, during a lunch break we started chatting with Hans Dockter, CEO of Gradle. A couple of days after the conference, a few of us were at the Gradle offices talking about what would be the beginning of the collaboration between JetBrains and Gradle; to bring first-class tooling and support for a static language to Gradle.

Today, at the Kotlin Night in San Francisco, Hans Dockter demoed the first milestone of writing a Gradle build script using Kotlin.

Gradle allows developers and build engineers to deal with complex build automation scripts. As complexity grows, having a language that is statically-typed can help detect potential misconfigurations at compile time, contributing in reducing runtime issues. Static typing also opens up the door to more sophisticated tooling. All this, combined with key characteristics of Kotlin that enable easy creation of DSL’s, can provide Gradle users benefits while maintaining the level of fluency they are accustomed to.

For the past 6 months, we’ve been working closely with the Gradle team, in particular with Chris Beams and Rodrigo de Oliveira in bringing Kotlin to Gradle. It has been a tremendously rewarding experience because it has also helped us see use-case scenarios for making scripting in Kotlin a first-class citizen.

We are very excited for what Gradle has in store and are happy to continue collaborating with them closely in bringing a great experience to Gradle users.

For more information and how to get the bits to start playing with this, make sure you read the blog post by the Gradle team for more details. In addition, if you are on the public Kotlin Slack, there’s a newly created #gradle channel for discussions.

Posted in Events | 14 Comments

Kotlin 1.0.2 is Here

We’re happy to announce the release of Kotlin 1.0.2, the second bugfix and tooling update for Kotlin. In addition to compiler and language bugfixes, Kotlin 1.0.2 adds a number of major features to the IDE and the build tools.

Incremental Compilation in Gradle and the IDE

The new release continues our work on Kotlin incremental compilation support, speeding up the turnaround time during development. Incremental compilation in the IDE (which was previously marked as experimental) is now enabled by default. Also, the long-awaited support for incremental compilation in Gradle builds is now there.

To enable incremental compilation for Gradle, you need to set the kotlin.incremental property to true (for example, by adding the line kotlin.incremental=true to the gradle.properties file in the root directory of your project).

Android Lint Checks

Kotlin 1.0.2 introduces support for Android Lint checks for Kotlin code, ensuring that issues like using the API not available in the Android version you’re targeting are correctly detected.

Continue reading

Posted in Releases | 23 Comments

Kotlin Post-1.0 Roadmap

It’s been almost two months since Kotlin 1.0 was released, and the team is now switching from stabilisation and bug fixes to new feature work, so it’s a great time to talk about our plans for the future.

We’ve already published our Android roadmap, but there are many other areas where we’re applying our efforts. Our current development is organised in two main branches:

  • Kotlin 1.0.x which will be a series of releases containing bug fixes, updates to tooling, IDE support and other areas which do not affect the core language. 1.0.x releases will be published on a regular basis once every several weeks.
  • Kotlin 1.1 which will contain major new language features, along with all the improvements from the 1.0.x branch. This will be a feature-driven release, and we aren’t announcing any specific time frame for it.

Let’s look at the plans for each area in more detail, starting with the big ones.
Continue reading

Posted in Roadmap | 60 Comments

Kotlin Digest 2016.Q1

Welcome the Kotlin Digest of Q1 2016. It was in this quarter that Kotlin 1.0 was released, and naturally the number of articles and coverage received has substantially increased.
We want to thank everyone for their contributions, and highlight some of the most notable articles and blog posts.

2016Q1Cover

By the way, you can join us on slack and subscribe to the #feed channel, where we push quite a bit of interesting content as it appears.

Continue reading

Posted in Digest | 1 Comment

Kotlin’s Android Roadmap

Introduction

One of the most interesting pieces of news we’ve all seen recently is Google announcing (limited) Java 8 support for Android N with the Jack compiler for Java. Naturally, our users are curious about how these news affect them, and this blog post outlines our plans and our vision for Kotlin’s place in the Android development world in light of Google’s announcements.
Continue reading

Posted in Android, Roadmap | 31 Comments

Kotlin Educational Plugin

We always said that Kotlin is really easy to learn. And it is! But it’s not only about the language: learning materials make a difference too. Today we are making another important step in this direction. We are happy to present Kotlin Educational Plugin.

Kotlin Edu is a plugin for IntelliJ IDEA 2016.1 which lets you take learning courses. A course contains a number of tasks, and every task has several placeholders which you need to fill in correctly to solve it.

At the moment, there is only one course — the well-known Kotlin Koans, which has been available online for some time and gained considerable popularity among Kotlin learners. The offline versions of the Koans has pretty similar user experience but with all strengths of refactorings and intention actions available in IntelliJ IDEA!

If you have any questions about Kotlin Koans, feel free to ask them in the #koans channel in our Slack.

P.S. If you want to create your own course, contact us directly via email.

Posted in Tools | 2 Comments

Kotlin 1.0.1 is Here!

It’s been a month since we released Kotlin 1.0, and while our user base roughly doubled during this time, we prepared the first bugfix update.

Kotlin 1.0.1 starts a series of 1.0.X versions delivering safe bug fixes and performance improvements to the language (as well as other parts of the project), and new features to our tools and integrations. This time it’s only relatively small IDE features, but bigger things are on the horizon for 1.0.2 and later.

Changes in 1.0.1

Please find the full change log here. Some numbers and highlights:

  • it’s 47 fixes in the compiler, library and Gradle plugin improvements (performance),
  • Compatibility with Gradle 2.12,
  • IDE features:
    • Compatibility with IDEA 2016,
    • Kotlin Education Plugin (for IDEA 2016),
    • KT-9752 More usable file chooser for “Move declaration to another file”,
    • KT-9697 Move method to companion object and back,
  • and 39 assorted fixes in the IDE.

We thank the participants of the EAP who tried the preview builds and reported feedback. Please join the EAP and let’s make Kotlin better together!

Posted in Releases | 12 Comments

Kotlin 1.0 Released: Pragmatic Language for JVM and Android

This is it. 1.0 is here!

It’s been a long and exciting road but we’ve finally reached the first big 1.0, and we’re celebrating the release by also presenting you with the new logo:

Kotlin

See discussions on Reddit and Hacker News

Continue reading

Posted in Releases | 111 Comments

Kotlin 1.0 Release Candidate is Out!

Finally, Kotlin has graduated the Beta and we are happy to present the Release Candidate Build!

NOTE: as we announced earlier, RC requires all code to be recompiled to make sure no code compiled with older versions is kept around (please recompile even if you were on the EAP version!).

This blog post gives an overview of the changes made since Beta 4. Library changes are the biggest in this build. Also, some bugs have been fixed. Full list of changes is available here.

Kotlin 1.0 RC

See the discussions on Hacker News and Reddit.

Continue reading

Posted in Releases | 41 Comments

Kotlin Digest 2015

Kotlin’s adoption significantly increased in 2015, and we are especially grateful to our early adopters, who not only used Kotlin, but shared their experiences through different mediums. We’d like to highlight the most notable articles and videos of the past year.

By the way, you can join us on slack and subscribe to the #feed channel, where we push quite a bit of interesting content as it appears.

Kotlin Digest 2015

Continue reading

Posted in Digest | 9 Comments