Many users of the language want to know what Kotlin’s roadmap provides. JetBrains often talks about the upcoming new compiler, the focus on tool quality and performance, and the Kotlin Multiplatfom Mobile (KMM) and server-side experience, but the company is working on a lot more.

JetBrains has just updated Kotlin’s public roadmap with its plans for 2021 and beyond. This update covers the changes planned for the language, tools and ecosystem for the coming year. You can check out the updated roadmap for the full list of what’s new to come, but here we present nine key points.

  • A big step forward for the new compiler
  • Sealed when
  • Bet on WebAssembly
  • New Kotlin / Native garbage collector on the way to an experimental release
  • Improved iOS related tools in KMM
  • Support for Apple Silicon target in Kotlin Multiplatform tools
  • New Ways to Improve EDI Performance and Stability
  • New features for major libraries
  • Application of the new graphic style to the resources provided to the community
  1. A big step forward for the new compiler
  2. The new Kotlin compiler is a large project which consists of rewriting the JVM and JS backends as well as the frontend according to the new architecture. When completed, this project is expected to provide significant performance improvements, provide support for compiler plugin APIs, and provide the ability to build new language features. JetBrains has just released the new JVM compiler backend and is now focusing on other things.

    To achieve a performance boost, JetBrains needs the new compiler frontend. The company has been actively working on it for some time and is getting closer to the Alpha version. At first, it will only support the JVM target and will only work with a specific set of projects. If explicitly enabled, the new frontend will double the compilation speed.

    The second step will be to stabilize the new Kotlin / JS backend. This requires the implementation of incremental compilation and source map generation.

  3. Sealed when
  4. Do you have a utility function in your codebase that makes Kotlin’s when statement comprehensive? JetBrains hopes that you will no longer need them soon. The developer software publisher plans to introduce sealed when, a long overdue feature that garnered 230 votes in YouTrack. The language specific syntax isn’t ready yet, but the general idea is to allow the compiler to warn you if your when statement isn’t exhaustive. This will improve the security of your code without you having to introduce your own functions.

  5. Bet on WebAssembly
  6. JetBrains believes that WebAssembly will become the new standard for building rich web applications in the future and that Kotlin should be a great language for that. This is why the company decided to bet everything on the Kotlin / Wasm association. It started with the creation of a dedicated team that will work there full time. JetBrains plans to iterate on performance, work closely with the authors of the WebAssembly garbage collection proposals, implement basic Kotlin language functionality, libraries and basic support for Gradle, and add experimental JavaScript interoperability.

  7. New Kotlin / Native garbage collector on the way to an experimental release
  8. JetBrains has already prototyped most of the components required to create a simple garbage collector. The next step is to write an implementation of a multithreaded garbage collector. The first version will be slow, therefore not suitable for production. But JetBrains intends to release it later this year to start collecting feedback. You should no longer see InvalidMutabilityExceptions when working with Kotlin / Native.

  9. Improved iOS related tools in KMM
  10. Because KMM is a cross-platform technology, JetBrains wants to provide developers with convenient tools for iOS. Besides the redesign of the Kotlin / Native memory model, there is still a lot to do. For now, the Kotlin team is working on improving the user experience of the Cocoapods integration and hiding the Gradle packForXcode build job from the default script to simplify project setup and the first experience.

  11. Support for Apple Silicon target in Kotlin Multiplatform tools
  12. Apple Silicon adoption continues to grow. The Kotlin / Native compiler already works on this platform and can produce binaries. To allow you to take full advantage of Apple Silicon in your projects, JetBrains will support it in the Kotlin Multiplatform Gradle plugin and in all Kotlinx libraries.

  13. New Ways to Improve EDI Performance and Stability
  14. Fast and smooth EDI support remains JetBrains’ priority. While the long-term solution to increasing responsiveness relies on the new compiler, the company continues to support its current tools and looks for new ways to boost your performance.

    The Kotlin plugin for IntelliJ IDEA and Android Studio uses over 30 different indexes. Refactoring the index system therefore appears to have many possibilities to improve the speed and stability of code analysis. In addition, JetBrains plans to dramatically increase the speed of browsing and Find Usages in IDEs.

  15. New features for major libraries
  16. JetBrains continues to improve standard and kotlinx libraries, such as coroutines and serialization. Here are some of those improvements:

    • Cross-platform support for testing with suspensive functions in coroutines, which will enhance the test suite of KMM projects and pure JVM projects.
    • Integration with Java I / O streaming in serialization, to support deserialization of large files from an arbitrary data source, such as a network or a file system stream.
    • The removal of !! after readLine () in order to make the syntax of the “Hello world” program more intuitive for new users.
  17. Application of the new graphic style to the resources provided to the community
  18. Did you notice that Kotlin has a new logo? This is part of JetBrains’ new visual style project, where the company updated its colors, typography and identity. JetBrains now plans to use this new style to update the resources provided to Kotlin User Groups:

    • Logo for user groups
    • Profile picture for different platforms
    • Meetup.com cover photo

View Kotlin’s roadmap

Related Articles
Leave a Reply

Your email address will not be published.