Котлин и Джаваскрипт
1. обзор
Kotlin - это язык программирования следующего поколения, разработанный JetBrains. Он приобретает популярность в сообществе разработчиков Android как замена Java.
Еще одна интересная особенность Kotlin - поддержка серверного и клиентского JavaScript. В этой статье мы собираемся обсудить, как писать серверные приложения JavaScript с использованием Kotlin.
Kotlin может быть переведен (исходный код написан на одном языке и преобразован на другой язык) в JavaScript. It gives users the option of targeting the JVM and JavaScript using the same language.с
В следующих разделах мы собираемся разработать приложение node.js с использованием Kotlin.
2. node.js
Node.js is a lean, fast, cross-platform runtime environment for JavaScript. Это полезно как для серверных, так и для настольных приложений.
Начнем с настройки среды и проекта node.js.
2.1. Установка node.js
Node.js can be downloaded from the Node website. Он поставляется с менеджером пакетов npm. После установки нам нужно настроить проект.
В пустом каталоге запустим:
npm init
Он задаст несколько вопросов об имени пакета, описании версии и точке входа. Предоставьте «kotlinNode» какname, «Пример узла Kotlin» какdescription и «crypto.js» какentrypoint. Для остальных значений оставим значения по умолчанию.
Этот процесс сгенерирует s-файлpackage.json .
После этого нам нужно установить несколько пакетов зависимостей:
npm install
npm install kotlin --save
npm install express --save
Это установит модули, требуемые нашим примером приложения, в каталог текущего проекта.
3. Создание приложения node.js с использованием Kotlin
В этом разделе мы собираемся создать сервер криптографического API, используя node.js в Kotlin. . API будет получать некоторые самостоятельно генерируемые курсы криптовалюты.
3.1. Создание проекта Kotlin
Теперь давайте настроим проект Kotlin. Здесь мы будем использоватьGradle, это рекомендуемый и простой в использовании подход. Gradle можно установить, следуя инструкциям наGradle site.
Начнем с создания файлаbuild.gradle в том же каталоге:
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"
}
В файлеbuild.gradle необходимо выделить два важных момента. First, we apply the kotlin2js plugin to do the транспиляция.
Затем вKotlinOptions мы устанавливаемmoduleKind to «commonjs” to работать с node.js. С помощью элемента управленияoutputFile option, we, где будет сгенерирован транспилированный код.
3.2. Создание API
Давайте начнем реализацию нашего приложения с создания исходной папкиsrc/main/kotlin.
В этой папке создаем файлCryptoRate.kt.
В этом файле нам сначала нужно импортировать функциюrequire, а затем создать методmain:
external fun require(module: String): dynamic
fun main(args: Array) {
}
Далее мы импортируем необходимые модули и создаем сервер, который прослушивает порт 3000:
val express = require("express")
val app = express()
app.listen(3000, {
println("Listening on port 3000")
})
Наконец, мы добавляем конечную точку API «/ crypto». Он сгенерирует и вернет данные:
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)
);
}
Мы использовали экспресс-модуль node.js для создания конечной точки API.
4. Запустите приложение
Запуск приложения будет состоять из двух частей. Нам нужно преобразовать код Kotlin в JavaScript, прежде чем мы сможем запустить наше приложение с Node.
Чтобы создать код JavaScript, мы используем задачу сборки Gradle:
gradlew build
Это сгенерирует исходный код в каталогеnode.
Затем мы выполняем сгенерированный файл кодаcrypto.js с помощью Node.js:
node node/crypto.js
Это запустит сервер, работающий на порту 3000. . В браузере позвольте получить доступ к API, вызвавhttp://localhost:3000/crypto, чтобы получить следующий результат JSON:
[
{
"name": "Bitcoin",
"price": 90000
},
{
"name": "ETH",
"price": 1000
},
{
"name": "TRX",
"price": 10
}
]
В качестве альтернативы мы можем использовать такие инструменты, какPostman илиSoapUI to, использующие API.
5. Заключение
В этой статье мы узнали, как писать приложения node.js с помощью Kotlin.
Мы создали небольшой сервис за несколько минут, не используя шаблонный код.
Как всегда, образцы кода можно найтиover on GitHub.