`

script Groovy / Grails

阅读更多

 

s

 Groovy

   Groovy是用Java实现的开源脚本语言并且和它联系紧密.它需要JDK 1.4. Groovy向Java添加了许多Ruby和Python脚本语言的特性.

Groovy的特性包括动态类型(dynamic typing), 闭包(closures),简单对象导航( easy object navigation)和更加简洁的Lists和Maps语法.

  这里引用Groovy网页上的话. "Groovy是设计用来以精简快速有趣的方式来在Java平台上处理事务,并且把类似Python Ruby等的强大功能带到Java的世界里."

  Groovy脚本可以使用任何Java类.它们可以被编译成Java字节码 (即.class文件)并能被任何正常的Java类引用.Groovy编译器,

groovyc,可以编译Groovy脚本文件和Java源文件,然而有些语法(例如内类)并不被支持.

  理论上, 可以使用Groovy编写完整的应用程序,其具有和同等Java应用程序差不多的性能.这是Groovy和其他脚本语言不一样的如Ruby, Python, Perl以及BeanShell. 使Groovy现在运行得比Java还慢的原因之一是生成的字节码使用了映射(reflection)来调用构造函数以及私有/保护的方法.这个问题将会 在以后的版本中解决.

  Groovy是由James Strachan和Bob McWhirter创造的. James还参与了许多其他开源项目的开发,其中包括Jelly, dom4j, Jaxen, Betwixt和Maven. Bob是Jaxen和Drools (一个开源的面向对象的JAVA规则引擎) 的创始人. 

  目前最新稳定版为Groovy1.5。这个Groovy版本包含了很多Java5的特性(Annotation,泛型,Enum...),并修正了很多错误。

  官方下载地址:http://dist.groovy.codehaus.org/distributions/groovy-binary-1.5.0.zip

http://www.ibm.com/developerworks/cn/java/j-alj08034/index.html

虽然 Java 语言因其严密性和扩展性的承诺而在整整一代程序员中胜出,但是 Groovy 预示了 Java 平台上的一个编程新时代,这种语言是以方便性、适宜性和敏捷性为出发点定义的。在新的 alt.lang.jre 专栏的第二期文章中,Andrew Glover 对提议添加到 Java 平台的标准编程语言作了非正式的介绍。

如果您在使用 Java 平台(block),不管时间长短,您都有可能听说过 Groovy。Groovy 是超级明星开发人员 James Strachan 和 Bob McWhirter 发明的,它是一种敏捷开发语言,完全以 Java 编程 API 为基础。Groovy 当前正处于 Java Specification Request 的开始阶段,它于 2004 年 3 月底获得批准。Groovy 还是一种脚本语言,有些人说它会永久性地改变您看待和使用 Java 平台的方式。

在其对 JSR 241 (请参阅 参考资料 )的开放评论中,Groovy 的共同规范领导者 Richard Monson-Haefel 说他对 Groovy 的支持是建立在总有一天 Java 平台要包括一种敏捷开发语言这一信念上。与许多移植到 Java 平台的脚本语言不同,Groovy 是 为 JRE 而写的。在规范请求中(参阅 参考资料 ),Groovy 的制造者提出了“Java 不仅是一种编程语言,更是一个健壮的平台,可以有多种语言在上面运行和共存”(Monson-Haefel 语)的思想。

为什么需要另一种语言?

正如在 上个月的专栏 中 介绍的,Groovy 不是与 JRE 兼容的惟一脚本语言。Python、Ruby 和 Smalltalk 就是成功地移植到 Java 平台上的三种脚本语言。对于一些开发人员,这带来了问题:为什么要另一种语言?毕竟,我们许多人已经将 Java 代码与 Jython 或者 JRuby 结合来快速开发应用程序,为什么还要学习另一种语言?回答是 您不一定要学习一种新语言以用 Groovy 编码 。Groovy 与其他 JRE 兼容脚本语言的不同在于它的语法以及重用 Java 库。Jython 和 JRuby 共享它们前身(分别是 Python 和 Ruby)的外观,Groovy 让人觉得就像是 Java 语言,不过限制要少得多。

 

关于本系列 

虽 然本系列的大多数读者熟悉 Java 语言以及它是如何在跨平台虚拟机上运行的,但是只有少数人知道 Java Runtime Environment 可以承载 Java 语言之外的语言。本系列文章对 JRE 的多种替代语言进行了综述。这里讨论的大多数语言是开放源代码的,许多是免费使用的,有少数是商业产品,必须购买。在 alt.lang.jre 系列中介绍的所有语言都得到了 JRE 支持,并且作者相信它们增强了 Java 平台的动态性和灵活性特征。

像 Jython 这样的语言是在它们的父语言库上建立的,而 Groovy 使用了 Java 开发人员最熟悉的功能和库 —— 但是将它们放到了一个敏捷开发框架中 。敏捷开发的基本宗旨是代码应该很好地适合范围广泛的任务,并可以不同的方式应用。Groovy 通过以下方式落实了这些宗旨:

使开发人员不用编译。

允许动态类型。

使合成结构容易。

使其脚本可以在普通 Java 应用程序中使用。

提供一个 shell 解析器。

这些特性使 Groovy 成为一种特别容易学习和使用的语言,不管您是有经验的 Java 开发人员还是刚接触 Java 平台。在下面几节中,我将详细讨论上述特性。

http://www.chinaitpower.com/Dev/Programme/Groovy/index.html
·Java帝国的王储——Groovy ! 1211 18:25 ·用Groovy能玩出来的漂亮把戏 1211 18:23
·Groovy: 沉睡的巨人 1211 18:22 ·Groovy轻松入门——通过与Java的比较,迅速掌… 1211 18:22
·Groovy轻松入门——通过与Java的比较,迅速掌… 1211 18:21 ·Groovy轻松入门——通过与Java的比较,迅速掌… 1211 18:21
·Groovy轻松入门——Grails实战基础篇(4) 1211 18:20 ·Groovy轻松入门——Grails实战基础篇(3) 1211 18:20
·Groovy轻松入门——Grails实战基础篇(2) 1211 18:20 ·Groovy轻松入门——Grails实战基础篇(1) 1211 18:19
·Groovy轻松入门——Grails实战之GORM篇 1211 18:19 ·Groovy轻松入门——Grails实战之Ajax篇 1211 18:19
·Groovy高效编程——统计单词频率 1211 18:18 ·Groovy高效编程——‘匕首方法’的使用 1211 18:18
·Groovy高效编程——动态改变对象的能力(2) 1211 18:17 ·Groovy高效编程——动态改变对象的能力(1) 1211 18:17
·1.1 为什么使用脚本语言 1211 18:16 ·1.2 为什么使用Groovy 1211 18:16
·第2章 数值和表达式 1211 18:16 ·2.1 数值 1211 18:16
·2.2 表达式 1211 18:15 ·2.3 运算符优先级 1211 18:15
·2.4 赋值 1211 18:15 ·2.6 对象引用 1211 18:14
·2.5 自增和自减运算符 1211 18:14 ·2.7 关系运算符和等于运算符 1211 18:13
·Groovy 集合 1211 18:12 ·Groovy1.1 RC1发布了! 1211 18:12
·Groovy VS JRuby 1211 18:12 ·Groovy需要GUI设计器吗? 1211 18:11
·基于JVM的敏捷开发语言-Groovy 1.0发布 1211 18:11 ·Groovy on Rails 0.1发布 1211 18:11
·Sun收购JRuby 向动态语言迈进 1211 18:10 ·动态语言,别再轻言不 1211 18:10
·动态语言如何随需应变 1211 18:10 ·让Java动起来的脚本语言 1211 18:09
·集Java和RoR之所长的JRuby 1211 18:09 ·未来几年动态语言谁将成为主流 1211 18:08
·动态语言面面观 1211 18:08 ·动态语言为何难堪重任 1211 18:08
·Erlang十分钟快速入门(2) 1211 18:07 ·Erlang十分钟快速入门(1) 1211 18:07
 
Java帝国的王储——Groovy !
http://www.chinaitpower.com/2006Aug/2007-12-11/237018.html
 

groovy books 

http://www.infoq.com/cn/minibooks/grails

 
groovy and grails 
http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece763104080221902d7272bd7a74528878448e435061e506694ea7b3f5653829f2a3a50b2495ee8f43471340826b591c39f4aaae1d477719c6269304a8914528042f18a&p=882a96448d904eaa0ea4cf6f165e&user=baidu
 
 

 

end

 

 

分享到:
评论

相关推荐

    Groovy轻松入门——Grails实战基础篇

    根据文章提供的链接,这里下载的是Grails 0.4.2版本(请注意检查是否有更新版本),下载地址为:[http://dist.codehaus.org/grails/grails-bin-0.4.2.zip](http://dist.codehaus.org/grails/grails-bin-0.4.2.zip) ...

    Beginning_Groovy_and_Grails开源项目教学代码第二部分

    1. **Groovy基础**:Groovy的语法简洁且富有表达力,如闭包、动态类型和Groovy Script。这部分会介绍如何使用Groovy进行基本的变量定义、控制流语句(如if-else和for循环)、函数以及类的创建。 2. **Grails框架**...

    Java中使用Groovy的三种方式

    Grails是基于Groovy的全栈Web应用框架,它简化了MVC开发模式,提供了丰富的插件系统和自动代码生成功能。与Java的Spring Boot框架结合使用时,Groovy可以作为Spring Boot的源代码语言,提供更加简洁的配置和更快的...

    Grails使用FCK Editor(附源码,有截图)

    在Grails中,创建一个新的GSP(Groovy Server Pages)视图,用于展示FCK Editor。在视图文件中,我们需要引用FCK Editor的JavaScript文件,然后使用HTML代码来初始化编辑器。 ```html <!DOCTYPE html> ...

    Grails快速入门

    3. **运行Groovy脚本**:右键点击`HelloWorld.groovy`文件,选择`Run As -> Groovy Script`或`Run As -> Java Application`。控制台将会输出`Hello World`。 此外,还可以尝试更复杂的示例,例如: ```groovy ...

    Grails结合uploadify上传文件的简单代码

    Grails是一款基于Groovy语言的、高效的Web应用开发框架,它简化了Java平台上的开发流程。uploadify则是一个JavaScript库,它允许用户通过异步方式上传文件,提供友好的用户体验。 首先,我们需要在Grails项目中引入...

    某些必要的groovy

    在“dynamicscript”这个文件名中,我们可以推测这可能是关于动态脚本的Groovy实现。动态脚本在系统自动化、持续集成流程或者快速实现某些功能时非常有用。通过Groovy,我们可以编写灵活、可扩展的脚本,适应不断...

    Groovy.in.Action.2nd.Edition.pdf

    8. 核心库和生态系统:Groovy提供了大量的核心库支持,比如GroovyFX用于富客户端应用开发,Gradle作为构建工具,GContracts进行代码约定检查,GroovyScript用于脚本编写。 9. Groovy在Android开发中的应用:Groovy...

    groovy-binary-2.2.2.zip

    9. **Grails**:Groovy也为构建Web应用程序提供了一个框架——Grails,它是基于Groovy的,提供了MVC结构,简化了Web开发。 10. **Spock测试框架**:Groovy还有自己的测试框架Spock,其采用的规范和表达性极强的语法...

    grailsReactTest:使用 webpack 将 Grails 与 ReactJS (jsx) 集成

    wget https://bintray.com/grails/binaries/grails/5.2.4/download -O grails-5.2.4.zip unzip grails-5.2.4.zip export PATH=$PATH:`pwd`/grails-5.2.4/bin ``` 接着,我们创建一个新的Grails项目并初始化一个简单...

    Grails使用FCK Editor实例(附源码和文档)

    FCK Editor是一款广泛使用的开源富文本编辑器,而Grails则是一个基于Groovy语言的现代Java平台上的Web应用框架。本文将深入探讨如何在Grails应用中集成FCK Editor,并提供源码和文档供参考。 **1. Grails框架介绍**...

    grails和flex的集成手册

    Grails是一种高效的Web开发框架,它基于Groovy语言,并且充分利用了Spring和Hibernate等Java技术的优势。通过结合现代软件工程的最佳实践,如约定优于配置(Convention Over Configuration),Grails为开发者提供了...

    The Grails Framework - Reference Documentation

    - **执行脚本**:使用`grails run-script`命令执行Gant脚本。 ##### 4.2 重用Grails脚本 - **共享脚本**:将常用脚本保存为模板供其他项目使用。 ##### 4.3 挂钩事件 - **事件监听**:监听Grails生命周期事件。 - ...

    groovy_training_2021

    6. **Grails和Spring Boot**:如果Groovy Training涉及Web开发,可能会讲解使用Groovy构建Grails应用或Spring Boot应用的方法。 7. **GPars并行编程**:学习Groovy的并发和并行处理库,以利用多核处理器提高程序...

    script

    6. **领域特定语言(DSL)**:Groovy非常适合创建内嵌的DSL,使得复杂的任务可以通过简洁的语句表达,如Grails框架用于构建Web应用,Spock用于编写单元测试。 7. **Groovy Shell和Console**:这些工具提供了一个...

    struts-scripting-1.0.1

    7. **替代方案**:随着Java世界的发展,例如Spring MVC框架的普及,以及Groovy和Grails等基于JVM的脚本框架的出现,Struts Scripting的重要性逐渐降低。现代开发更倾向于使用这些替代方案,它们提供了更强大的功能和...

    有关javaAPI或者手册

    其他脚本语言如Groovy在Grails框架中广泛使用,而Rhino则是JavaScript引擎,常用于Java环境中执行JavaScript代码。 `spring中文手册`涉及Spring框架,这是一个广泛应用的Java企业级开发框架。Spring以其依赖注入、...

    SPRING攻略 第2版.pdf

    那么你会被Grails等Spring替代方案所深深吸引,对于Groovy开发人员来说,Grails具有难以置信的能力和生产率。如果你是寻求快速、轻量级的应用构建方法的Java开发人员,你会喜欢上Spring Roo,它能让你快速地通过应用...

    SPRING攻略 第2版

    那么你会被Grails等Spring替代方案所深深吸引,对于Groovy开发人员来说,Grails具有难以置信的能力和生产率。如果你是寻求快速、轻量级的应用构建方法的Java开发人员,你会喜欢上Spring Roo,它能让你快速地通过应用...

    SPRING攻略 第2版 (带书签)(一)

    那么你会被Grails等Spring替代方案所深深吸引,对于Groovy开发人员来说,Grails具有难以置信的能力和生产率。如果你是寻求快速、轻量级的应用构建方法的Java开发人员,你会喜欢上Spring Roo,它能让你快速地通过应用...

Global site tag (gtag.js) - Google Analytics