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é dans une autre langue) en JavaScript. Il donne aux utilisateurs la possibilité de cibler la JVM et JavaScript en utilisant le même langage.

Dans les sections suivantes, nous allons développer une application node.js en utilisant Kotlin.

2. node.js

Node.js est un environnement d'exécution multi-plateforme léger et rapide pour JavaScript. C'est utile pour les applications de serveur et de bureau.

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

2.1. Installation de node.js

Node.js peut être téléchargé à partir du site Web de Node. Il est livré avec le gestionnaire de packages 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 package, la description de la version et un point d'entrée. Fournissez «kotlin-node» comme nom , «Kotlin Node Example» comme description et «crypto.js» comme entrée . Pour le reste des valeurs, nous conserverons la valeur par défaut.

Ce processus générera un package. json fichier.

Après cela, nous devons installer quelques packages de dépendances:

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

Cela installera les modules requis par notre exemple d'application dans le répertoire actuel du projet.

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

Dans cette section, nous allons créer un serveur API crypto en utilisant 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 allons utiliser Gradle ici, qui est l'approche recommandée et facile à utiliser. Gradle peut être installé en suivant les instructions fournies sur le site Gradle .

Après cela, générez un projet Gradle initial à l'aide de la tâche init. Sélectionnez le type de projet «de base», Kotlin pour le langage d'implémentation, Groovy comme DSL de script de construction, puis entrez «kotlin-node» pour le nom du projet et «baeldung» comme nom du package.

Cela créera un fichier build.gradle . Remplacez le contenu de ce fichier par:

buildscript { ext.kotlin_version = '1.4.10' repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } group 'com.baeldung' 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 à souligner dans le fichier build.gradle . Tout d'abord, nous appliquons le plugin kotlin2js pour faire la transpilation.

Ensuite, dans KotlinOptions , nous définissons moduleKind sur « commonjs» pour fonctionner avec node.js. Avec l' option outputFile , nous contrôlons où le code transpilé sera généré.

Remarque: assurez-vous que ext.kotlin_version dans le fichier build.gradle correspond à celle du fichier package.json .

3.2. Créer une API

Commençons par implémenter notre application en créant le dossier source src / main / kotlin, puis la structure du package com / baeldung / kotlinjs.

Dans ce package, nous créons le fichier CryptoRate.kt .

Dans ce fichier, nous devons d'abord importer la fonction require , puis créer la méthode principale :

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 renverra 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. Exécutez l'application

L'exécution de l'application sera un processus en deux parties. Nous devons transpiler le code Kotlin en JavaScript avant de pouvoir démarrer notre application avec Node.

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épertoire des nœuds .

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 sur le port 3000 . Dans le navigateur, accédons à l'API en appelant // 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 comme Postman ou SoapUI pour consommer l'API.

5. Conclusion

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

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

Comme toujours, les exemples de code peuvent être trouvés sur GitHub.