序
脚本语言不是新生事物。通常,脚本语言运行于Linux和Unix操作系统环境下,可以完成很多shell脚本任务,比如软件自动安装和配置、平台定制、使用Python语言建立科学的应用程序原型,以及使用bash脚本完成一次性的命令行任务。有的脚本语言,比如PHP,已经被广泛地用于开发大量的网站;事实证明,脚本语言适合于实现关键的业务应用程序。
在通常情况下,脚本语言是独立的平台,一般情况下不与其他平台进行交互。尽管在桥接(bridge)其他系统时也许存在绑定现象,但是这种集成未必都非常直观或者自然的。Groovy试图解决这个问题;它是一种创新的语言,能够自然地与基于相同虚拟机的Java环境进行交互。
Groovy使用简练的、易于理解的类Java语法,这样可以降低Java程序员学习Groovy语言的难度。除了语法类似于Java语言之外,Groovy给常见的JDK应用程序编程接口(Application Programming Interface)提供包装器API,进一步拓展Groovy的应用领域。借助于Groovy,可以简化常见任务的实现,并集成元编程能力,以开发功能强大的新语言结构,或者轻松地处理已有的语言结构。
Groovy可以用于多种情况,比如作为shell脚本语言完成数据处理和文件操作任务,或者试验使用新的API。它也适合于创建强大的小型或者中型应用程序,能够充分利用Java库和组件。除此之外,另外一个重要用法是在Java或者Java EE应用程序中嵌入Groovy,实现Java和Groovy的集成。这样做有助于编写和集中处理经常变化的业务逻辑,或者给应用程序架构提供可编程的配置管理能力。
尽管前两种用法很常见。我相信嵌入式应用是最吸引人,也是最有前途的。现在,开发者始终使用模板引擎来定制和重构我们的视图,或者使用业务逻辑引擎来实现逻辑的外部化和集中化。对于一般的语言来说,除了有限的函数集,程序员通常很难获得更多开发支持。幸运的是,宿主于平台的脚本语言,比如Groovy语言,有助于解决这种功能需求障碍。Groovy及其后代Grails(一个功能强大的模型-视图-控制器Web框架)的成功就很能说明这个问题。Sun公司也认可这种向应用程序添加动态性的替代方法,在Java 6中包含新的Java 规范请求(Specification Request):javax.script.* API能够把任何脚本或者动态语言无缝地嵌入到具有一致的编程API的Java应用程序中。
脚本语言的发展已经达到一定的成熟度,能够突破标准化主流平台的限制。当集成这些语言和平台时,你允许会很快得到意想不到的欣喜。
Ken Barclay和John Savage都是值得尊敬的讲师,完全有资格向有经验的开发者和开发新手讲解Groovy。他们以清晰有序的方式介绍使用Groovy如何增加Java平台的魅力,以及如何充分利用Groovy中令人心动的功能。本书浅显易懂,即使开发新手也能使用;内容全面详尽,涉及Groovy语言的方方面面。
本书的组织结构是,前面几章着重介绍Groovy语言的基本知识,后面的章节分门别类讨论与该语言相关的高级概念。除此之外,本书还提供很多内容丰富的附录,让读者可以了解相关主题的更详细信息。
本书每章的篇幅较小,易于选择性阅读;但是每章提供大量完整的代码范例、练习和解决方案。为尽可能清晰地展示如何使用Groovy语言,本书提供一个学习案例,随着每章的学习进度,这个学习案例逐渐演化地越来越复杂和完善。除此之外,增量开发和单元测试也是本书的一个重要主题,这是为了支持Groovy的动态特性。本书作者也认为Groovy是一种多模式语言。
基于作者多年的行业开发经验,认为Groovy语言适合作为学校语言课程,也适合作为有经验开发者的常备开发工具。
衷心希望你,通过阅读本书能够很好地掌握Groovy,相信你不会感到遗憾的!
Guillaume Laforge
Groovy Project Manager
JSR-241 Specification Lead
| 回书目 上一节 下一节 |