Formação Oracle DBA Completa


Kotlin 1.3.30 traz melhorias para o Kotlin/Native e KAPT

Kotlin 1.3.30 traz melhorias para o Kotlin/Native e KAPT

3 de maio de 2019 0 Por Ramos de Souza Janones
Powered by Rock Convert

O Kotlin/Native agora suporta o Windows 32 bit (mingw_86). Além disso, usuários do macOS e Windows podem compilar programas Kotlin/Native para o Linux x86-64, arm32, dispositivos Android e Raspberry PI.

O Kotlin/Native teve uma série série de melhorias na plataforma Apple. Com relação às exceções, os desenvolvedores podem encontrar exceções não tratadas registradas nos crash logs do iOS, e o rastreamento de exceção agora contêm informações simbólicas no iOS e no MacOS quando no modo de depuração.

Os desenvolvedores Apple também podem gerar frameworks estáticos usando o parâmetro de linha de comando -Xstatic-framework, ou o seguinte script gradle para um projeto multiplataforma:

kotlin {
    macosX64 {
        binaries {
            framework {
                isStatic = true
            }
        }
    }
}

Os desenvolvedores Apple podem ser beneficiar de uma funcionalidade experimental que fornece integração com o CocoaPods através de um plugin gradle. Essa funcionalidade transforma um projeto Kotlin/Native em um pod, que pode ser incluído em um Podfile.

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

Dessa maneira, os desenvolvedores deve ter a mesma experiência de quando estão usando pods Swift ou Objective-C no Xcode. Além disso, também é possível importar dependências do CocoaPods em um projeto Kotlin/Native.

VAI GOSTAR: Guia Jurídico Definitivo para Startups

VEJA TAMBÉM: Sucesso na Carreira com o LinkedIn

RECOMENDAMOS: Curso de Desenvolvimento de Games Completo

LEIA: Como Aprender Java e ir além do mercado de trabalho tradicional


O plugin gradle responsável por essa funcionalidade lida com toda a configuração necessária para importar um framework dentro de um projeto Kotlin/Native.

// Aplica plugins.
plugins {
    id("org.jetbrains.kotlin.multiplatform") version "1.3.30"
    /// o novo plugin para suportar o CocoaPods
    id("org.jetbrains.kotlin.native.cocoapods") version "1.3.30"
}

// CocoaPods requer que o podspec tenha uma versão.
version = "1.0"

kotlin {
    cocoapods {
        summary = "a Kotlin/Native module"
        homepage = "homepage"

        pod("AFNetworking", "~> 3.2.0")
    }
}

As seguintes etapas são necessárias para importar um módulo Kotlin/Native em um projeto Xcode existente:

  • Certifique-se de que o CocoaPods está instalado;
  • Configure um projeto gradle: use o pluginorg.jetbrains.kotlin.native.cocoapods, adicione e configure os targets, e especifique os campos obrigatórios do podspec;
  • Execute a task podspec. O arquivo podspec descrito acima será gerado;
  • Adicione uma referência para o podspec gerado em um Podfile no projeto do Xcode;
    target 'my-ios-app' do
        pod 'my_kotlin_library', :path => 'path/to/my-kotlin-library'
    end
    
  • Executepod installpara o projeto do Xcode.

Os processadores de anotações (JSR 269) que já são suportados no Kotlin através do plugin do compilador KAPT também foi melhorado.

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

O KAPT agora suporta uma funcionalidade experimental que permite o processamento de anotações de maneira incremental; os desenvolvedores que desejarem testar essa funcionalidade devem adicionar o seguinte no gradle.properties:

kapt.incremental.apt=true

Outra funcionalidade interessante a respeito do KAPT é o Compile Avoidance (evitar compilar), que pula o processamento de anotações quando somente o corpo de um método mudou.

O Compile Avoidance é possível somente quando todas as dependências KAPT são declaradas explicitamente no processamento de anotações no classpath. Para habilitar o Compile Avoidance, basta adicionar o seguinte ao gradle.properties:

kapt.include.compile.classpath=false

Kotlin 1.3.30 brings support for more operations for unsigned types and arrays of unsigned types:


fun main() {
    val u1 = 2_147_483_649u
    val u2 = 4_000_000_000u
    println(u1.toDouble())
    println(minOf(u1, u2))

    val array: UIntArray = uintArrayOf(u1, u2)
    println(array.max())
    println(array.all { it > Int.MAX_VALUE.toUInt() })
}

Desde que unsigned arrays implementam Collection ( por exemplo Collection<UInt> para UIntArray), os desenvolvedores podem usar operações como filter e map.

O suporte para o Kotlin foi melhorado no IntelliJ IDEA. Agora é possível depurar coroutines mais facilmente; um painel separado “Async stack trace” exibe as variáveis armazenadas no momento em que foram suspensas.

Outra melhoria de depuração no IntelliJ IDEA é o “Kotlin” mode, que permite que os desenvolvedores vejam as variáveis através dos nomes dados pelo Kotlin, ao invés dos nomes auxiliares da JVM:

(imagem obtida de https://blog.jetbrains.com)

Outras funcionalidade e correções de bugs que valem a pena destacar no IntelliJ IDEA incluem:

  • Adicionada intenção para substituir as negações de métodos isEmpty/isNotEmpty. Por exemplo, !isEmpty() -> isNotEmpty() e !isNotEmpty() -> isEmpty();
  • Adicionada inspeção + sugestão para substituir Collection.count() por Collection .size. Por exemplo, listOf(1, 2).count() -> listOf(1, 2).size;
  • Adicionada inspeção para substituir o Java 8 Map.forEach pelo forEach do Kotlin;
  • Adicionado warning com relação ao uso redundante de requireNotNull e checkNotNull;
  • Suporte a comentários TODO com várias linhas.

A lista completa de mudanças está disponível no changelog.

Para atualizar para o Kotlin 1.3.30, os usuários do IntelliJ IDEA e Android Studio devem ir em Tools>Kotlin>Configure Kotlin Plugin Updates, e clicar em “Check for updates now”; Usuários do Eclipse devem instalar o plugin usando o Marketplace; ou para atualizar via maven, gradle e npm, os usuários devem usar o número de versão 1.3.30 para o compilador. Uma documentação adicional também está disponível.

Você está na seção: MundoJS » Kotlin

 

LEIA TAMBÉM:  Face-api.js: reconhecimento facial em JavaScript
Powered by Rock Convert
Powered by Rock Convert
Siga os bons!

Ramos de Souza Janones

Janones, é um empreendedor brasileiro apaixonado por empreendedorismo e tecnologia. Ao longo dos anos trabalhando com o desenvolvimento de softwares desktop desde a linguagem Clipper, passando pelo Delphi e atualmente com Java.

Optou pela formação de Publicidade e Marketing por sua segunda empresa de tecnologia ter participado do "boom" da internet nos anos 90 e na procura de melhorar seus conhecimentos em negócios.

Em razão da principal formação e profundos conhecimentos em programação e banco de dados, é capaz de realizar o desenvolvimento de aplicativos web, desktop e mobile com maior criatividade e inovação que profissionais de desenvolvimento com uma formação única e mais especifica, dedicada somente ao desenvolvimento de softwares.

Com toda sua experiência com empresas de software, sua formação e paixão por negócios escreveu o livro "Marketing para Empresas e Profissionais de Software", publicado pela editora carioca Ciência Moderna em 2012. Além de outros livros sobre programação.

Últimos posts por Ramos de Souza Janones (exibir todos)

Sumário
Kotlin 1.3.30 traz melhorias para o Kotlin/Native e KAPT
Nome do artigo
Kotlin 1.3.30 traz melhorias para o Kotlin/Native e KAPT
Descrição
O Kotlin 1.3.30 traz melhorias para o Kotlin/Native e KAPT, suporte à mais operações para unsigned types e arrays, melhorias de depuração no IntelliJ IDEA, e mais.
Autor
Nome
Ramos da Informática
Logo

Frontend Do Zero Ao Profissional