Kotlin e Javascript
1. Visão geral
Kotlin é uma linguagem de programação de última geração desenvolvida pela JetBrains. Ele ganha popularidade com a comunidade de desenvolvimento Android como um substituto para Java.
Outro recurso interessante do Kotlin é o suporte ao JavaScript do servidor e do cliente. Neste artigo, vamos discutir como escrever aplicativos JavaScript do lado do servidor usando Kotlin.
O Kotlin pode ser transpilado (código fonte escrito em um idioma e transformado em outro idioma) para JavaScript. It gives users the option of targeting the JVM and JavaScript using the same language.
Nas próximas seções, vamos desenvolver um aplicativo node.js usando Kotlin.
2. node.js
Node.js is a lean, fast, cross-platform runtime environment for JavaScript. É útil para aplicativos de servidor e desktop.
Vamos começar configurando um ambiente e projeto node.js.
2.1. Instalando o node.js
Node.js can be downloaded from the Node website. Ele vem com o gerenciador de pacotes npm. Após a instalação, precisamos configurar o projeto.
No diretório vazio, vamos executar:
npm init
Ele fará algumas perguntas sobre o nome do pacote, a descrição da versão e um ponto de entrada. Forneça “kotlinNode” comoname, “Exemplo de nó Kotlin” comodescriptione “crypto.js” comoentrypoint. Para o restante dos valores, manteremos o padrão.
Este processo irá gerar um arquivopackage.json .
Depois disso, precisamos instalar alguns pacotes de dependência:
npm install
npm install kotlin --save
npm install express --save
Isso instalará os módulos exigidos pelo nosso aplicativo de exemplo no diretório do projeto atual.
3. Criando um aplicativo node.js usando o Kotlin
Nesta seção, vamos criar um servidor de criptografia API usando node.js em Kotlin. A API buscará algumas taxas de criptomoeda geradas automaticamente.
3.1. Configurando o Projeto Kotlin
Agora vamos configurar o projeto Kotlin. Estaremos usandoGradle aqui, que é a abordagem recomendada e fácil de usar. O Gradle pode ser instalado seguindo as instruções fornecidas emGradle site.
Vamos começar criando o arquivobuild.gradle no mesmo diretório:
buildscript {
ext.kotlin_version = '1.2.41'
repositories {
mavenCentral()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
group 'com.example'
version '1.0-SNAPSHOT'
apply plugin: 'kotlin2js'
repositories {
mavenCentral()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-js:$kotlin_version"
testCompile "org.jetbrains.kotlin:kotlin-test-js:$kotlin_version"
}
compileKotlin2Js.kotlinOptions {
moduleKind = "commonjs"
outputFile = "node/crypto.js"
}
Existem dois pontos importantes a serem destacados no arquivobuild.gradle. Transpilação deFirst, we apply the kotlin2js plugin to do the.
Então, emKotlinOptions, definimosmoduleKind to “commonjs” to work com node.js. Com o controleoutputFile option, we onde o código transpilado será gerado.
3.2. Criando uma API
Vamos começar a implementar nosso aplicativo criando a pasta de origemsrc/main/kotlin.
Nesta pasta, criamos o arquivoCryptoRate.kt.
Neste arquivo, primeiro precisamos importar a funçãorequire e, em seguida, criar o métodomain:
external fun require(module: String): dynamic
fun main(args: Array) {
}
Em seguida, importamos os módulos necessários e criamos um servidor que escuta na porta 3000:
val express = require("express")
val app = express()
app.listen(3000, {
println("Listening on port 3000")
})
Por fim, adicionamos o ponto de extremidade da API "/ crypto". Ele irá gerar e retornar os dados:
app.get("/crypto", { _, res ->
res.send(generateCrypoRates())
})
data class CryptoCurrency(var name: String, var price: Float)
fun generateCryptoRates(): Array {
return arrayOf(
CryptoCurrency("Bitcoin", 90000F),
CryptoCurrency("ETH",1000F),
CryptoCurrency("TRX",10F)
);
}
Usamos o módulo expresso node.js para criar o endpoint da API.
4. Execute o aplicativo
A execução do aplicativo será um processo em duas partes. Precisamos transpilar o código Kotlin para JavaScript antes de podermos iniciar nosso aplicativo com o Node.
Para criar o código JavaScript, usamos a tarefa de construção Gradle:
gradlew build
Isso irá gerar o código-fonte no diretórionode.
A seguir, executamos o arquivo de código geradocrypto.js usando Node.js:
node node/crypto.js
Isso iniciará o servidor em execução na porta 3000. No navegador, vamos acessar a API invocandohttp://localhost:3000/crypto para obter este resultado JSON:
[
{
"name": "Bitcoin",
"price": 90000
},
{
"name": "ETH",
"price": 1000
},
{
"name": "TRX",
"price": 10
}
]
Alternativamente, podemos usar ferramentas comoPostman ouSoapUI para consumir a API.
5. Conclusão
Neste artigo, aprendemos como escrever aplicativos node.js usando Kotlin.
Criamos um pequeno serviço em poucos minutos, sem usar nenhum código clichê.
Como sempre, as amostras de código podem ser encontradasover on GitHub.