`
hujin1979
  • 浏览: 78789 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Rhino-Java中的脚本执行者

阅读更多
  JavaScript 是一门众所周知的语言,它可以动态操作和访问 Web 页面的内容。采用 Rhino(JavaScript 的 100% 纯 Java 实现)之后,很多 Java 开发人员发现,JavaScript 也是一种快速构建和部署基于 GUI 的应用程序的优秀工具。本文是 alt.lang.jre系列的第 5 部分,在文中,developerWorks 的撰稿人 Michael Squillace 将向您简要介绍 Rhino 的基础知识,它是 Java 平台上的一种基于原型的 Java 语言的可替代品。
Rhino 是一种使用 Java 语言编写的 JavaScript 的开源实现。与本系列的其他很多语言一样,Rhino 是一种动态类型的、基于对象的脚本语言,它可以简单地访问各种 Java 类库。Rhino 从 JavaScript 中借用了很多语法,让程序员可以快速编写功能强大的程序。最为明显的区别是,Rhino 不再使用语句结束符( ; ),放宽了变量声明规则,并且极大地简化了修改和检索对象属性的语法(没有求助于调用存取方法)。

  由于 Rhino 是 JavaScript 的一种基于 Java 的实现,所以对于 Java 开发人员来说,它应该特别易于使用。JavaScript 的(以及 Rhino 的)语法非常类似于 Java 编程语言。这两种语言都采用了与 Java 编程语言相似的循环和条件结构,并且遵循类似的语法模式来表示这些结构。

  虽然 Rhino 与本系列文章中介绍的其他编程语言具有很多共同点,但对于 Java 平台上的编程而言,它也有独特之处(可能有时有些不同的地方)。Rhino 是一种 基于原型的(prototype-based)语言,而不是一种 基于类的(class-based)语言。在 Rhino 中,您可以构建对象,而不是类。除了类的对象实例之外,这样做还可以让您避免构建和操作类的开发、部署和执行成本。正如您将在文中发现的那样,诸如 Rhino 这类基于原型的语言在开发和运行基于 GUI 的应用程序时尤其有效。

  在开始学习 Rhino 基础知识之前,先了解一下有关 JavaScript 的起源和目的可能会非常有用,JavaScript 为 Rhino 提供了很多独特的特性。JavaScript 的历史与 Web 浏览器动态表示和操作 Web 页面内容的能力是相符合的。JavaScript 的第一个版本(最初称为 LiveScript)是由 Netscape Communications 公司于 1995 年发布的,它是 Netscape Navigator 2.0 Web 浏览器的一部分。JavaScript 打算为程序员提供一种简单而直观的方法,编写一些可以在 Web 页面上下文中执行任务的简单脚本。在随后的一年中,Microsoft 引入了 JScript,它自己的用于 Internet Explorer 的 JavaScript 端口。

  这两个版本的 JavaScript 都包括一个基于对象的 API,称为 文档对象模型(Document Object Model)或 DOM,用以访问和操作 Web 页面的内容。JavaScript 的第三个实现是一种新的脚本语言,称为 EcmaScript,其目的是对自己和 DOM 进行标准化。不幸的是,Microsoft 和 Netscape 都没有完全实现 EcmaScript 标准,因此到今天都还存在兼容方面的问题。

  随着 Java 语言在 20 世纪 90 年代末期取得的成功,Netscape 计划发布 Javagator,它是 Navigator 中一个 100% 的纯 Java 实现。虽然 Javagator 从来没能开花结果,但是 Netscape 对 JavaScript 的移植(称为 Rhino)已经经过时间的考验存活了下来。Rhino 是 JavaScript 1.5 脚本语言的一个 100% 的纯 Java 实现,不包含 DOM API。实际上,Rhino 有时仍然被当作 Netscape 的基于 Java 的 JavaScript。

  Rhino 是一种轻量级的、功能强大的脚本语言。其语法与 Java 编程语言类似,都广泛采用了 Java 语言中所没有的数据类型,这使它成为在 Java 平台上快速进行开发的一种优秀工具。正如本文介绍的那样,Rhino 使用原型而不是类,这使它比很多脚本语言更适合开发 GUI 应用程序,在考虑性能和风格等因素时更是如此。

Rhino 的主要缺点也正是它的强大之处:它的基础是 Java 语言,这使得它简单易学,但是有时对于一种脚本语言来说,它又太过复杂。Rhino 的基于原型的方法是把双刃剑;其良好的品质使得它成为适合某些任务的惟一选择,在其他情况中却又似乎太过单调乏味。对于那些从 Java 环境中转换过来的开发人员来说更是如此。

这就是说,Rhino 可能是本系列文章中介绍的所有脚本语言中最流行的一种,因此吸引了众多求知欲旺盛而又见多识广的开发人员的注意力。在处理 Web 浏览器中的内容来动态描绘和操作 Web 内容的时候,Rhino 无疑是首选。


  相信大家对Rhino有了一定了解,英文文档参考地址:http://developer.mozilla.org/en/docs/Rhino_documentation,这里可以找到你想了解的更多的信息。我也在学习它,因为它对我的项目是需要的。(资料整理收集来自IBM)

分享到:
评论
1 楼 abruzzi 2009-01-04  
给些例子吧,这样干讲没什没意思,呵呵

相关推荐

Global site tag (gtag.js) - Google Analytics