随着 Java 6 和 JSR 223 的发布,开发者现在可以选择使用任意一个 Java 支持的脚本语言和 Java 进行互操作。如果你想用的脚本语言不是 Java 所支持的,你只需要简单地实现必需的连接器API 就可以了。
Mark Fortner 一直在研究 JSR 223 中 Bean Scripting Framework(BSF)的功能,而且发现了许多可以改善的地方 。包括:
- 通用脚本宿主 API——JRunscript 脚本宿主和 BSF 中作为脚本宿主的主类对全局性的功能没有提供一致的支持。JRunscript 具有罗列目录,拷贝文件等功能 ,而 BSF 没有。如果我们有一个单一的、具备很多全局功能的、能从任何语言进行调用的开源脚本宿主,这会是非常有用的。
- 宿主脚本中对 XPath 和 XQuery 功能的支持——有必要存在一种通用的方式,来获取和摘取基于 XML 的文档的一部分。
- Jar/Tar/Bzip/Zip 支持——这些功能应该类似于 Apache Commons VSF 提供的功能支持。你可以输入像
<strong>tar:gz:http</strong>://anyhost/dir/mytar.tar.gz!/mytar.tar!/path/in/tar/README.txt 这样的 URL,来从一个 tarball 中摘取某个文件。请注意在 URL 开头(粗体部分)的多协议支持。
- 脚本宿主的邮件功能——如果能从脚本宿主发送文件或者邮件,那会是很有用的。
- 基本的 ImageIO 功能——包括仿射变换和文件转码。目前我们可以使用 ImageIO 类的静态方法来作为开始。如果有人更有兴趣,他们可以重新创建 ImageMagick 的功能。
- Eclipse 的 IDE 支持——现在 Tkl 和 JRuby 已经得到支持,但有必须在 Eclipse 中为脚本语言提供更全面的支持。对 Javascript 的支持似乎仅限于浏览器兼容的语言子集。既然很多人将会开始使用脚本语言,那么具备代码查询功能将会帮助人们更好地学习这些语言。
这些针对脚本宿主的改进是否有必要,以及这些脚本语言的实现是否会被用到,让我们拭目以待。查看英文原文: Java Scripting Wish List
评论