是否可以使用Kotlin构建完整的Node.js Web应用程序?

时间:2017-10-16 17:31:23

标签: javascript node.js express kotlin kotlin-interop

如果我理解正确,使用the release of Kotlin 1.1,我们可以set JavaScript as a compile target完全编译到Kotlin项目的JavaScript。是否可以(或者可行)使用Kotlin代码编写整个Node.js应用程序,例如快速网络服务器?

this question所示,我们可以将Node模块导入Kotlin类:

external fun require(module: String): dynamic

val express = require('express')

...好像我可以使用:

创建一个应用程序
val app = express()

这是 Kotlin方式来设置快递应用程序吗?或者我应该将课程声明为described in the docs

@JsModule("express")
external class Express { ... }

为Node.js应用程序开发设置Kotlin项目的规范方法是什么? Kotlin的JavaScript互操作性是否足够强大,可以继续沿着这条路走下去,还是会比它的价值更麻烦呢?

2 个答案:

答案 0 :(得分:2)

从技术上讲,是的,只要Kotlin声称:

  

您可以使用Kotlin与服务器端JavaScript(如node.js

)进行交互

是正确的,Kotlin的翻译 - > JS足够可靠,能够预测JS的出现,然后你可以在Kotlin中编写一个Node应用程序,就像你可以用TypeScript编写它们一样。

我怀疑,就个人而言,你会发现它很难,有缺陷,而且缺乏支持,但这可能是一次很好的学术练习......也许。

答案 1 :(得分:0)

是的,有可能https://kotlinlang.org/docs/reference/js-project-setup.html

但是,NIO是使用NodeJS而不是任何语言来构建后端解决方案的最大原因。现在,有了响应式一流的支持,您可以拥有像Kotlin + Spring Reactive + Coroutines + R2DBC这样的堆栈,并构建简单的微服务或任何完整的企业解决方案。