DEV Community

Cover image for O quê é Kotlin Native?
Ederson Ferreira for Kotlinautas

Posted on

O quê é Kotlin Native?

Kotlinautas

Esse conteúdo é oferecido e distribuído pela comunidade Kotlinautas, uma comunidade brasileira que busca oferecer conteúdo gratuito sobre a linguagem Kotlin em um espaço plural.

capa Kotlinautas

Kotlin Native

Kotlin Native é uma tecnologia criada pela JetBrains para compilar código Kotlin em binários nativos do sistema, esses binários podem ser executados sem a necessidade de uma máquina virtual, pois esse binário pode ser executado diretamente pelo sistema.

Kotlin Native suporta as seguintes plataformas:

  • macOS
  • iOS, tvOS, watchOS
  • Linux
  • Windows
  • Android

O executável criado pela Kotlin Native pode rodar em todas plataformas ao mesmo tempo (execeto se você utilizar alguma biblioteca exclusiva para uma plataforma, como uma biblioteca para criação de apps para iOS).

Materiais

Será necessário ter o IntelliJ instalado na máquina e um conhecimento básico sobre a linguagem Kotlin.

Criando projeto

Primeiro precisamos criar o projeto. Esse projeto pode ser criado em em File > New > Project, depois, vá á seção Kotlin, e preencha o campo Name com o nome do projeto, como native, selecione a localização do projeto, e na seção Project Template selecione Native Application.

Menu de criação do projeto com os campos preenchidos

Após isso,clique em Finish no proximo menu para criar o projeto.

Segundo menu de criação do projeto

Após isso, o projeto foi criado com Kotlin Native.

Criando nosso código

Por padrão, há um arquivo em src/NativeMain/kotlin/main.kt que é o arquivo principal da aplicação. Nesse arquivo há apenas um println que mostra a string Hello, Kotlin/Native! na tela:

fun main() {
    println("Hello, Kotlin/Native!")
}
Enter fullscreen mode Exit fullscreen mode

Vamos modificar esse código. Vamos criar uma variável texto que irá armazenar uma string. Depois vamos mostrar algumas informações sobre essa string, como a quantidade de letras, quantidade de palavras,etc. E vamos mostrar essas informações na tela.

Primeiro, vamos criar essa variável texto:

fun main() {
    val texto = "Essa string é fixa"
}
Enter fullscreen mode Exit fullscreen mode

Agora vamos criar uma série de variáveis que vão representar fatos sobre essa string, como o seu tamanho por exemplo:

fun main() {
    val texto = "Essa string é fixa"

    val tamanho = texto.length
    val quantidadeDePalavras = texto.split(" ").size
    val primeiraPalavra = texto.split(" ").first()
    val ultimaPalavra = texto.split(" ").last()
    val maiúsculo = texto.uppercase()
}
Enter fullscreen mode Exit fullscreen mode

Agora vamos mostrar na tela essas variáveis que criamos de uma maneira intuitiva, usando as Template Strings:

fun main() {
    val texto = "Essa string é fixa"

    val tamanho = texto.length
    val quantidadeDePalavras = texto.split(" ").size
    val primeiraPalavra = texto.split(" ").first()
    val ultimaPalavra = texto.split(" ").last()
    val maiúsculo = texto.uppercase()

    println("O tamanho do texto é $tamanho, a quantidade de palavras é $quantidadeDePalavras, a primeira palavra é $primeiraPalavra, a ultima palavra é $ultimaPalavra, e o texto em maíúsculo é $maiúsculo")
}
Enter fullscreen mode Exit fullscreen mode

Rodando o código

Podemos rodar o código atual clicando na seta verde ao lado da função main. Rodando esse código, o resultado será:

> Task :runDebugExecutableNative
O tamanho do texto é 18, a quantidade de palavras é 4, a primeira palavra é Essa, a ultima palavra é fixa, e o texto em maíúsculo é ESSA STRING É FIXA

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.1/userguide/command_line_interface.html#sec:command_line_warnings

BUILD SUCCESSFUL in 8s
3 actionable tasks: 3 executed
Task execution finished 'runDebugExecutableNative'.
Enter fullscreen mode Exit fullscreen mode

Podemos ver a parte referente ao nosso código na segunda linha, informando sobre o texto que criamos.

Binário Final

O binário final está localizado em /build/bin/native/debugExecutable/native.kexe, esse binário pode ser executado diretamente via linha de comando com native.kexe no Windows e ./native.kexe no Linux/MacOS.

Finalização

Neste artigo, você aprendeu como utilizar Kotlin Native para criar binários nativos, podendo usar programas feitos em Kotlin sem a necessidade de uma JVM.

Busque agora fazer exercícios, ou idéias próprias usando Kotlin Native para praticar.

Obrigado por ler 💙

Discussion (0)