BT

Kotlin 1.2 apresenta projetos multi plataforma

| por Sergio De Simone Seguir 17 Seguidores , traduzido por Diogo Carleto Seguir 40 Seguidores em 18 dez 2017. Tempo estimado de leitura: 2 minutos |

A última versão do Kotlin tornou possível o compartilhamento de código para a JVM e a plataforma JavaScript usando projetos multi plataforma. Além disso, inclui melhorias na linguagem e na biblioteca, e melhor performance no compilador.

Após a adição do suporte ao JavaScript no Kotlin 1.1, o Kotlin agora apresenta aos desenvolvedores a possibilidade de gerenciar facilmente projetos destinados a serem executados tanto na JVM como em plataformas JavaScript. No futuro, suporte aos binários nativos também serão incluídos graças ao Kotlin Native.

A ideia básica com projetos multi plataforma é organizar os módulos em um conjunto de módulos comuns e específicos da plataforma. Módulos específicos contém código que executam na JVM ou no JavaScript e podem acessar livremente as bibliotecas específicas de plataforma. Para cada módulo específico de cada plataforma, um módulo comum deve existir para fornecer as chamadas "declarações esperadas", por exemplo declarações que devem ser implementadas em um módulo específico da plataforma. Graças a esse mecanismo, é possível executar o código de uma plataforma específica de um código de uma plataforma independente. Enquanto que os módulos comuns podem somente conter código Kotlin e usar as bibliotecas Kotlin, módulos de plataforma podem conter também códigos em Java ou JavaScript.

Como exemplo, segue como definir um módulo comum e o módulo correspondente de plataforma:

// Common module

package org.jetbrains.foo

expect class Foo(bar: String) {
    fun frob()
}

fun main(args: Array) {
    Foo("Hello").frob()
}

// JVM module

package org.jetbrains.foo

actual class Foo actual constructor(val bar: String) {
    actual fun frob() {
        println("Frobbing the $bar")
    }
}

Um desenvolvimento importante com o objetivo de tornar a Kotlin mais capaz de expressar comportamentos em módulos comuns é um conjunto de bibliotecas multi plataformas, incluindo uma biblioteca de serialização, uma biblioteca de testes e uma biblioteca HTML isomórfica. Isso deve reduzir a necessidade de recorrer aos módulos da plataforma.

No front da linguagem, o Kotlin 1.2 fornece casts melhorados e inferência de tipos em certos casos como um novo pacote kotlin.math na biblioteca padrão e novas funções de biblioteca padrão para trabalhar com sequências e coleções.

Como última nota, o compilador do Kotlin ficou significativamente mais rápido na versão 1.2, superando o Kotlin 1.1 em 25%. Outras melhorias são planejadas para futuros lançamentos menores do 1.2.

É possível obter mais detalhes sobre as novidades do Kotlin 1.2, que já está incluído no IntelliJ IDEAD 2017.3, nas notas oficiais da versão.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT