Kotlin et Javascript

Kotlin et Javascript

1. Vue d'ensemble

Kotlin est un langage de programmation de nouvelle génération développé par JetBrains. Il gagne en popularité auprès de la communauté de développement Android en remplacement de Java.

Une autre fonctionnalité intéressante de Kotlin est la prise en charge de JavaScript côté serveur et côté client. Dans cet article, nous allons expliquer comment écrire des applications JavaScript côté serveur à l'aide de Kotlin.

Kotlin peut être transpilé (code source écrit dans une langue et transformé en une autre langue) en JavaScript. It gives users the option of targeting the JVM and JavaScript using the same language.

Dans les sections suivantes, nous allons développer une application node.js à l'aide de Kotlin.

2. node.js

Node.js is a lean, fast, cross-platform runtime environment for JavaScript. Il est utile pour les applications serveur et de bureau.

Commençons par configurer un environnement et un projet node.js.

2.1. Installation de node.js

Node.js can be downloaded from the Node website. Il vient avec le gestionnaire de paquets npm. Après l'installation, nous devons configurer le projet.

Dans le répertoire vide, exécutons:

npm init

Il posera quelques questions sur le nom du paquet, la description de la version et un point d’entrée. Fournissez «kotlinNode» commename, «Kotlin Node Example» commedescription et «crypto.js» commeentrypoint. Pour le reste des valeurs, nous conserverons la valeur par défaut.

Ce processus générera un fichierpackage.json .

Après cela, nous devons installer quelques paquets de dépendance:

npm install
npm install kotlin --save
npm install express --save

Ceci installera les modules requis par notre exemple d’application dans le répertoire du projet en cours.

3.  Création d'une application node.js à l'aide de Kotlin

Dans cette section, nous allons créer un serveur d'API crypto à l'aide de node.js dans Kotlin L'API récupérera certains taux de crypto-monnaie auto-générés.

3.1. Mise en place du projet Kotlin

Maintenant, configurons le projet Kotlin. Nous utiliserons iciGradle, qui est l’approche recommandée et facile à utiliser. Gradle peut être installé en suivant les instructions fournies sur lesGradle site.

Commençons par créer le fichierbuild.gradle dans le même répertoire:

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"
}

Il y a deux points importants à mettre en évidence dans le fichierbuild.gradle. Transpilation deFirst, we apply the kotlin2js plugin to do the.

Ensuite, dansKotlinOptions, nous définissonsmoduleKind to “commonjs” pour travailler avec node.js. Avec l'optionoutputFile optionwe contrôle où le code transpilé sera généré.

3.2. Création d'une API

Commençons par implémenter notre application en créant le dossier sourcesrc/main/kotlin.

Dans ce dossier, nous créons le fichierCryptoRate.kt.

Dans ce fichier, nous devons d'abord importer la fonctionrequire puis créer la méthodemain:

external fun require(module: String): dynamic

fun main(args: Array) {

}

Ensuite, nous importons les modules requis et créons un serveur qui écoute sur le port 3000:

val express = require("express")

val app = express()
app.listen(3000, {
    println("Listening on port 3000")
})

Enfin, nous ajoutons le point de terminaison de l’API “/ crypto”. Il générera et retournera les données:

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)
    );
}

Nous avons utilisé le module express node.js pour créer le point de terminaison de l'API. 

4. Lancer l'application

L'exécution de l'application sera un processus en deux parties. Avant de pouvoir lancer notre application avec Node, nous devons transcrire le code Kotlin en JavaScript.

Pour créer le code JavaScript, nous utilisons la tâche de construction Gradle:

gradlew build

Cela générera le code source dans le répertoirenode.

Ensuite, nous exécutons le fichier de code générécrypto.js en utilisant Node.js:

node node/crypto.js

Cela lancera le serveur fonctionnant au port 3000Dans le navigateur, accédons à l'API en appelanthttp://localhost:3000/crypto pour obtenir ce résultat JSON:

[
  {
    "name": "Bitcoin",
    "price": 90000
  },
  {
    "name": "ETH",
    "price": 1000
  },
  {
    "name": "TRX",
    "price": 10
  }
]

Alternativement, nous pouvons utiliser des outils commePostman ouSoapUI pour consommer l'API.

5. Conclusion

Dans cet article, nous avons appris à écrire des applications node.js à l'aide de Kotlin.

Nous avons créé un petit service en quelques minutes sans utiliser de code standard.

Comme toujours, les exemples de code peuvent être trouvésover on GitHub.