Aviva Directory » Computers & Internet » Programming » Groovy

Apache Groovy is an object-oriented, optionally-typed and dynamic language, with static typing and compilation capabilities for the Java platform.

Influenced by Java, Objective-C, Perl, Python, Ruby, and Smalltalk, it can be used as a programming language or as a scripting language for the Java platform, compiling to Java virtual machine bytecode, and accessing other Java code and Java libraries.

Groovy was first announced by James Strachan, the lead designer, in 2003, and it was submitted to the Java Community Process (JCP) program the following year. Several versions were submitted during the next couple of years, but after the JCP standardization effort began, the version numbering changed, and a version called version 1.0 was released in January of 2007. Strachan had left the project by then.

While Java and Groovy code is similar, Groovy code tends to be more compact because it doesn't require all of the elements required of Java. Because Java files are usually valid in Groovy as well, Java programmers should have an easy time learning Groovy.

Apache Groovy features that are not included in Java include static and dynamic typing, the native syntax for lists and associative arrays, native support for regular expressions, operator overloading, both string and polymorphic iteration, the safe navigation operator, and added helper methods.

Groovy has native support for markup languages, like HTML and XML, through its inline Document Object Model (DOM) syntax.

Grails is an open-source web application framework using the Apache Groovy programming language. Originally known as Groovy on Rails, that name was dropped at the request of the Ruby on Rails founder. Interestingly, Ruby on Rails later began referring to its own application framework like Rails.

Another application framework for developing desktop applications in the Java virtual machine is Griffon. Groovy is the primary language of choice.

GroovyBeans are Apache Groovy's version of JavaBeans, classes that encapsulate several objects into a single object, known as the bean.

Geb is a browser functional testing framework that facilitates writing functional tests in Groovy.

GrooScript is an alternative implementation of Groovy, which converts Groovy code into JavaScript code. Plugin support for Grails is included.

The Groovy programming language is supported by the Apache Software Foundation and the Groovy developer community. The language is licensed as open-source under the Apache 2 License.

The Apache Groovy programming language, often known simply as Groovy, is the focus of topics in this category. It, along with any other implementations or dialects, and any IDEs, editors, application frameworks, or other tools designed for use in Groovy. Groovy user groups, forums, tutorials, or guides are also appropriate for this category.



Recommended Resources

Search for Groovy on Google or Bing