How to work with Kotlin Native?

Vaishnavi R
Edureka
Published in
5 min readAug 8, 2019
Kotlin Native — Edureka

Kotlin/Native is a technology for compiling Kotlin code to native binaries, which can run without a virtual machine. This is something fascinating for someone who is new to. So, in this article, I’ll focus more on Kotlin Native platform.

I’ll be discussing the topics in this order:

  • What is Kotlin Native?
  • How to configure the environment for Kotlin Native?
  • Kotlin Native Gradle
  • Advantages

Let’s begin!

What is Kotlin Native?

Kotlin Native is an astonishingly new product from JetBrains that allows the developers to code native applications for Linux, macOS, Windows, and other platforms. This means that we are allowed to compile for platforms where Virtual machines are not desirable or possible, like embedded devices or iOS.

It comprises of an LLVM (Low-Level Virtual Machine)-based backend for the Kotlin compiler and native implementation of the Kotlin run-time library.

Now you might ask, what are the different platforms that it supports. The answer to this question is:

  • Windows (x86_64 only at the moment)
  • Linux (x86_64, arm32, MIPS, MIPS little-endian)
  • macOS (x86_64)
  • iOS (arm64 only)
  • Android (arm32 and arm64)
  • WebAssembly (wasm32 only)
  • Raspberry Pi

Now that you have understood this, let’s move ahead and understand how exactly you can obtain this compiler.

How to configure the environment for Kotlin Native?

If you are starting with Kotlin, you will find it very easy in the beginning and then when you upgrade to Kotlin Native, you will not find it very easy because there are not many dedicated IDEs out there that help in the development process.

The only IDE in the JetBrains family that supports it at this time is CLion, which is problematic for projects looking to be multiplatform with JVM, JS or iOS. And the biggest problem, in my opinion, is that CLion doesn’t support Gradle. This is a major reason why I will not be using CLion for the implementation.

  • The Kotlin Native compiler transforms the Kotlin code into LLVM intermediate representation (IR).
  • The LLVM compilers understand IR, then create binaries for the desired platforms.

You can use another product of JetBrains, IntelliJ platform.

Let’s see how to select the option Kotlin Native.

Select automatically import options.

Then provide a project name and click on Finish.

Hurray! You’ve clear with how you can select Kotlin Gradle.

Now let’s move ahead and understand how to write a simple program in Kotlin Native.

Let’s see a simple Hello World program.

We can open up our favorite IDE or editor and write the following code in a file named hello.kt file.

fun main() {
println("Hello Kotlin/Native!")
}

Now, there is a little change in the compilation process. To manually compile the application call the downloaded compiler and generate a hello. kexe (Linux and macOS) or hello.exe (Windows) binary file:

kotlinc-native hello.kt -o hello

While compilation from the console seems to be easy and clear, you should notice, that it does not scale well for bigger projects with hundreds of files and libraries. In addition to this, the command line approach does not explain to the IDE that how it can open such a project, where the sources are located, what dependencies are used, or how the dependencies are downloaded and so on.

Kotlin Native Gradle

TheNew Projectwizard in IntelliJ IDEA can be used to start a new Kotlin/Native project with just a single click. Just select the Native | Gradle option to generate the project.

I’ll first create a project folder. All the paths will be relative to this folder. Sometimes the missing directories will have to be created before new files are added.

Now talking about the language support for Gradle, Gradle supports Groovy and Kotlin in order to build the scripts.

Groovy is the oldest supported scripting language for Gradle. It leverages the power of dynamic typing and runtime features. Sometimes it can be harder to maintain Groovy build scripts.

Now in order to run the scripts and compile the basic HelloWorld application, you need to do two things:

  • First of all, you need to create a Gradle script which will compile the application.
  • Second of all, move the program to src/main/kotlin package

From the root directory, where build. gradle file is located, you can now run the following commands:

  • gradle build — which will build the application
  • gradle run — which will execute our application

Now, let’s move ahead to the final topic of this article.

Advantages

  • One of the primary advantages of Kotlin/Native is the GUI, sensors, notifications and everything that is unique and specified to each device that will be developed in the native language and runtimes without restriction.
  • Barriers are reduced when it is compared to other programming languages.
  • It helps in cross-platform application development.
  • Focuses on sharing as much code required for execution when compared to other cross-platform tools.

This brings us to the end of this article on Kotlin Native. Hope you are clear with all that has been shared with you in this article.

If you wish to check out more articles on the market’s most trending technologies like Artificial Intelligence, Python, Ethical Hacking, then you can refer to Edureka’s official site.

Do look out for other articles in this series which will explain the various other aspects of Android.

How to Develop Android App using Kotlin?

How To Become An Android Developer?

Originally published at https://www.edureka.co on August 8, 2019.

--

--