Groovy … is an object-oriented programming language for the Java platform. It can be used as a scripting language for the Java Platform, is dynamically compiled to Java Virtual Machine (JVM) bytecode, and interoperates with other Java code and libraries.
- uses a Java-like bracket syntax. Most Java code is also syntactically valid Groovy.
- is an agile and dynamic language for the Java Virtual Machine
- builds upon the strengths of Java but has additional power features inspired by languages like Python, Ruby and Smalltalk
- makes modern programming features available to Java developers with almost-zero learning curve
- provides the ability to statically type check and statically compile your code for robustness and performance
- supports Domain-Specific Languages and other compact syntax so your code becomes easy to read and maintain
- makes writing shell and build scripts easy with its powerful processing primitives, OO abilities and an Ant DSL
- increases developer productivity by reducing scaffolding code when developing web, GUI, database or console applications
- simplifies testing by supporting unit testing and mocking out-of-the-box
- seamlessly integrates with all existing Java classes and libraries
- compiles straight to Java bytecode so you can use it anywhere you can use Java
Grails … Grails is an open source web application framework, which uses the Groovy programming language (which is in turn based on the Java platform). It is intended to be a high-productivity framework by following the “coding by convention” paradigm, providing a stand-alone development environment and hiding much of the configuration detail from the developers.
Grails was developed with a number of goals:
- Provide a high-productivity web framework for the Java platform.
- Re-use proven Java technologies such as Hibernate and Spring under a simple, consistent interface
- Offer a consistent framework, which reduces confusion and is easy to learn.
- Offer documentation for those parts of the framework, which matter for its users.
- Provide what users expect in areas which are often complex and inconsistent:
- Powerful and consistent persistence framework.
- Powerful and easy-to-use view templates using GSP (Groovy Server Pages).
- Dynamic tag libraries to easily create web page components.
- Good Ajax support, which is easy to extend and customize.
- Provide sample applications, which demonstrate the power of the framework.
- Provide a complete development mode, including web server and automatic reload of resources.
- Grails was designed to be easy to learn, easy to develop applications and extensible. It attempts to offer the right balance between consistency and powerful features.
“Groovy is so much quicker and simpler to write code with, so we can get applications up and running faster,” Mullen confirms. “With Groovy and Grails we can create a new feature in a week, when before it could easily take a month or more.”