一些基本事实引导我提出这个问题:
-
Groovy具有完整的Java互操作性
-
Kotlin具有完整的Java互操作性
-
Kotlin也编译成Java
因此可以在Grails应用程序中编写Kotlin代码吗?
我在Grails 2.x上做了很多工作,最近在一份新工作中,我一直在使用Kotlin,Spring和Struts . 我喜欢Kotlin的零安全和类型推断功能,而且Kotlin的功能编程功能比Groovy更自然,更易于使用(最后一部分是纯粹的意见) .
是否可以使用Grails来处理以下事情:
-
ORM
-
将请求映射到控制器/操作
-
JSP / GSP视图解析/呈现
但是使用Kotlin来编写域类,控制器动作,服务,对象工厂等的实际逻辑 .
可能不太可能,因为我猜测Grails的一些核心功能是通过动态类型实现的,但也许可以通过Gradle插件或直接的Grails插件实现 .
我喜欢Grails的约定配置范例所提供的极端简洁性,但我更喜欢Kotlin的静态类型和类型推断 .
如果我可以在Grails环境中在Kotlin中编写业务逻辑,那么对我来说,这将是最终的Web应用程序框架!
1 回答
当然 . 您可以使用Grails应用程序中的任何JVM语言 . 我在Grails中用Kotlin构建了一个概念证明,一切都像希望的那样有效:https://github.com/jeffbrown/langdemo