Kotlin Native compatibilidade com Objective-C e WebAssembly

Kotlin Native compatibilidade com Objective-C e WebAssembly

30 de abril de 2019 0 Por Ramos de Souza Janones

Kotlin Native adiciona interoperabilidade com Objective-C e suporte ao WebAssembly para suportar o desenvolvimento iOS e MAC, além do Android.

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 suportar o desenvolvimento iOS/macOS. A JetBrains chegou a publicar uma app de demonstraçãomuito 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.

Recomendamos a leitura:
- 14 Hábitos de Desenvolvedores Altamente Produtivos eBook Kindle
- Kwai dá dinheiro aos usuários, como ganhar?

Lançamento do jogo Returnal para PlayStation 5
Guia de Compras em PC Gaming

Outra nova funcionalidade, destinada a simplificar o uso de objetos 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.

Leia também: Release do livro: Desenvolvedor Kotlin Android – Bibliotecas para o dia a dia

Agora suporta o WebAssembly, o que significa que 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, 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.

Atualmente suporta Windows, Linux, macOS, iOS, Android e WebAssembly.

Vai gostar: Motivos para trocar o Java pelo Kotlin ainda hoje | Movile

votes
Article Rating
LEIA TAMBÉM:  Cursos de programação grátis e processos seletivos

Sumário
Kotlin Native adiciona compatibilidade com Objective-C e suporte ao WebAssembly
Nome do artigo
Kotlin Native adiciona compatibilidade com Objective-C e suporte ao WebAssembly
Descrição
Kotlin Native adiciona interoperabilidade com Objective-C e suporte ao WebAssembly para suportar o desenvolvimento iOS e MAC, além do Android.
Autor
Nome
Ramos da Informática
Logo