BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Kotlin Native adiciona interoperabilidade com Objective-C e suporte ao WebAssembly

Kotlin Native adiciona interoperabilidade com Objective-C e suporte ao WebAssembly

Favoritos

O Kotlin/Native 0.4 torna possível a construção de apps nativas para o iOS e macOS, segundo Nikolay Igotti, líder técnico do Kotlin/Native na JetBrains. Adicionalmente, foi adicionado suporte experimental à plataforma WebAssembly.

A interoperabilidade com o Objective-C é a chave para o Kotlin/Native suportar o desenvolvimento iOS/macOS. A JetBrains chegou a publicar uma app de demonstração muito simples codificada em Kotlin na Apple Store e na Google Play.

O pedaço de código abaixo demonstra como é possível acessar os frameworks do iOS:

import kotlinx.cinterop.*
import platform.Foundation.*
import platform.objc.*
import platform.osx.*

fun readResource(resourceName: String): ByteArray {
    val filePath = NSBundle.mainBundle.pathForResource(resourceName, ofType = null)
  val fileData = NSData.dataWithContentsOfFile(filePath!!)
  ?: throw Error("failed reading resource $resourceName")
  return fileData.bytes!!.readBytes(fileData.length.toInt())
}

A mágica é fornecida através da nova plataforma. Bibliotecas que permitem acesso a interfaces do sistema operacional subjacente. Isso também possibilita usar a camada POSIX OS em uma plataforma que a fornece por exemplo chamadas para fopen, fread, e assim por diante. Anteriormente, a interoperabilidade com plataformas subjacentes exigiria a explícita geração de stubs de interoperabilidade.

Outra nova funcionalidade, destinada a simplificar o uso de objetos Kotlin com a API C, é a fixação do objeto, que pode ser usada para garantir que um objeto seja bloqueado na memória quando consumido a partir de APIs C.

O Kotlin/Native agora suporta o WebAssembly, o que significa que o Kotlin pode ser usado para apps baseadas em browsers. O suporte é experimental, devido às limitações dos browsers, diz Igotti.

A depuração agora suporta inspeção na maioria das variáveis em tempo de execução. E por último, mas não menos importante, um novo plugin fornece suporte para o Kotlin/Native no CLion.

O Kotlin/Native é um desenvolvimento recente no Kotlin que permite compilar o Kotlin, originalmente baseada na JVM, para binários nativos que são executados sem VM. Isso o torna especialmente adequado para plataformas como o iOS e outros, na qual VMs não são permitidas ou desejáveis. O Kotlin/Native atualmente suporta Windows, Linux, macOS, iOS, Android e WebAssembly.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT