Kotlin and Javascript
1.概述
Kotlin是JetBrains开发的下一代编程语言。它作为Java的替代品而在Androiddevelopment社区中受到欢迎。
Kotlin的另一个令人兴奋的功能是对服务器端和客户端JavaScript的支持。在本文中,我们将讨论如何使用Kotlin编写服务器端JavaScript应用程序。
可以将Kotlin编译(以一种语言编写的源代码,然后转换为另一种语言的源代码)到JavaScript。它为用户提供了使用相同语言定位JVM和JavaScript的选项。
在接下来的部分中,我们将使用Kotlin开发一个node.js应用程序。
2. node.js
Node.js是JavaScript的精益,快速,跨平台运行时环境。对于服务器和桌面应用程序都很有用。
让我们从设置一个node.js环境和项目开始。
2.1。安装node.js
可以从Node网站下载Node.js。它带有thenpmpackage管理器。安装后,我们需要设置项目。
在空目录中,运行:
1 | npm init |
它将询问有关软件包名称,版本说明和入口点的一些问题。提供" kotlinNode"作为名称,提供" Kotlin节点示例"作为描述,并提供" crypto.js"作为入口点。对于其余的值,我们将保留默认值。
此过程将生成一个package.json文件。
之后,我们需要安装一些依赖包:
1 2 3 | npm install npm install kotlin --save npm install express --save |
这会将示例应用程序所需的模块安装在当前项目目录中。
3.使用Kotlin创建一个node.js应用程序
在本节中,我们将使用Kotlin中的node.js创建acryptoAPI服务器,该API将获取一些自行生成的加密货币汇率。
3.1。设置Kotlin项目
现在,让我们设置Kotlin项目。我们将在这里使用Gradle,这是推荐且易于使用的方法。可以按照Gradle网站上提供的说明安装Gradle。
让我们从在同一目录中创建build.gradle文件开始:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | buildscript { ext.kotlin_version = '1.2.41' 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" } |
build.gradle文件中有两点要突出显示。首先,我们应用kotlin2js插件进行翻译。
然后,在inKotlinOptions中,我们将moduleKindto设置为" commonjs"以与node.js一起使用。使用outputFile选项,我们控制将在何处生成转码的代码。
3.2。创建一个API
让我们开始通过创建源文件夹rc / main / kotlin来实现我们的应用程序。
在此文件夹中,我们创建文件CryptoRate.kt。
在此文件中,我们首先需要导入require函数,然后创建main方法:
1 2 3 4 5 |
接下来,我们导入所需的模块并创建一个侦听端口3000的服务器:
1 2 3 4 5 6 | val express = require("express") val app = express() app.listen(3000, { println("Listening on port 3000") }) |
最后,我们添加API端点" / crypto"。它将生成并返回数据:
1 2 3 4 5 6 7 8 9 10 11 12 13 | app.get("/crypto", { _, res -> res.send(generateCrypoRates()) }) data class CryptoCurrency(var name: String, var price: Float) fun generateCryptoRates(): Array<CryptoCurrency> { return arrayOf<CryptoCurrency>( CryptoCurrency("Bitcoin", 90000F), CryptoCurrency("ETH",1000F), CryptoCurrency("TRX",10F) ); } |
我们使用了node.js express模块??来创建API端点。
4.运行应用程序
运行应用程序将分为两个部分。我们需要先将Kotlin代码转换为JavaScript,然后才能使用Node启动应用程序。
要创建JavaScript代码,我们使用Gradle构建任务:
1 | gradlew build |
这将在thenode目录中生成源代码。
接下来,我们使用Node.js执行生成的代码文件crypto.js:
1 | node node/crypto.js |
这将启动运行在端口3000上的服务器。在浏览器中,通过调用http:// localhost:3000 / cryptoto来访问API,以获取以下JSON结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [ { "name":"Bitcoin", "price": 90000 }, { "name":"ETH", "price": 1000 }, { "name":"TRX", "price": 10 } ] |
另外,我们可以使用Postman或SoapUI之类的工具来使用该API。
5.结论
在本文中,我们学习了如何使用Kotlin编写node.js应用程序。
我们在几分钟内就建立了一个小型服务,而没有使用任何样板代码。
与往常一样,可以在GitHub上找到代码示例。