星期三, 十月 11, 2006

JSR 223: Scripting for the Java Platform

最近由于 RoR 的盛行,SUN 收编了 JRuby 的两名作者,决心在脚本语言方面做点文章了,于是 Java 6 中间加入了 JSR-223 的支持。看了一下 JSR-223 的相关内容,发觉这东西不就是把 BSF (Bean Script Framework) 规范化了吗......,不同的是 BSF 是 IBM Alphaworks 贡献给 Apache 的,而 JSR-223 是一个规范。

这个 JSR-223 其实就是定义了一些接口,用来衔接使用 Java 实现的脚本语言和 Java 本身通讯,是 Java 与 Scritps 互操作的一个桥梁。主要职责差不多是让 Java 执行动态语言脚本,访问动态语言执行中产生的变量、函数等,同时让动态语言能够在它的范围内访问到 Java 空间里面的指定变量,达到互操作的目的。

JSR-223 除了一个标准的给用户使用的接口之外应该还有一部分给 Scripts Provider 让他们将自己的实现符合这个规范,达到一致的目的。

BSF 自 2003 年就已经 release 2 了,翻了翻以前老外讨论 BSF 的邮件列表,发现他们主要的问题集中在性能,觉得在 JVM 上面用 Java 再来解释一种脚本语言效率实在不行。不过近年来随着 RoR 的出现,似乎让大家的重点更多的转移到了速度上来,毕竟不是所有场合都那么追求高性能,能够提供更高的开发效率才是大家所需的。

没有评论: