我一直在阅读Rhino作为在我的Java代码中实现JavaScript的有用方法。
阅读了一段时间后,在谷歌和这里搜索,我找不到我在Java中使用JavaScript的真正原因。
您是否可以指出在使用Rhino进行常规Java应用程序时发现的一些现实世界优势?
答案 0 :(得分:15)
请注意,自Java 6以来,脚本API位于标准Java库中 - 请参阅包javax.script
的文档。 javax.script
中的API是Rhino的改编版本。脚本API不仅支持JavaScript,还支持许多其他脚本语言。
请参阅Java Scripting Programmer's Guide
首页提到了一些您可能想要使用脚本的原因:
- 应用程序扩展/自定义:您可以“外部化”应用程序的某些部分 - 例如配置脚本,业务逻辑/规则和财务应用程序的数学表达式。
- 应用程序的“命令行”shell - 用于调试,运行时/部署时间配置等。目前,大多数应用程序都有基于Web的GUI配置工具。但是sysadmins / deployers经常更喜欢命令行工具。可以使用“标准”脚本语言,而不是为此目的发明特殊脚本语言。
示例:您可以使用Python脚本编写Oracle Weblogic脚本,例如配置应用程序服务器域,启动或停止服务器以及执行其他管理任务。
答案 1 :(得分:11)
答案 2 :(得分:5)
将javascript等脚本语言嵌入到您的软件中的好处是,您可以为其他人提供一种为您的软件编写插件的方法,而无需提供源代码。
使用另一种语言编写整个应用程序的一个原因是,您可以为在Java EE环境中部署它的公司编写应用程序,而无需学习Java。
答案 3 :(得分:4)
我们在其中一个产品中使用JS(通过Rhino)进行DSL。它不是一个伟大的DSL,但这是我们如何使用JS而不是Rhino的错误。
答案 4 :(得分:0)
如果您考虑使用.Net,我建议与Rhino相处。
除了Java环境,rhino是.NET环境中最好的性能解释器之一(使用IKVM)。另一方面,nashorn在.net上非常慢。
将您自己的Rhino项目移植到.NET并不是那么困难。