Reducing Grails Deployment Size, Part 2

Thursday, December 4, 2008 by lanna

Last article I promised to reduce Grails deployment size from 17 MB down to 200 KB but stopped at 2 MB. Now I am going to show how to get rid of the last few bits: Grails JAR files themselves.

As far as I know, there is no officially supported mechanism to remove Grails JAR files from a WAR file. Hence, I am going to propose three alternatives, in increasingly order of elegance.
Read the rest of this entry »

Quick News: Grails 1.0.4 Released

Friday, November 14, 2008 by lanna

Grails 1.0.4 was released today. This release is being billed as the first release under SpringSource dominance, although I believe most significant work was not done in the last couple of days.

Among the new features, updated libraries (such as Spring 2.5.6), a new mechanism for mapping custom types into multiple columns, and a fix for the “Premature end of file” bug which was affecting Firefox 3 users.

Happy download.

Reducing Grails Deployment Size (by a Lot)

Thursday, November 13, 2008 by lanna

It seems like the GlassFish and Grails integration article got some attention, mainly because it showed how to reduce WAR file size from 17 MB down to 200 KB using GlassFish integrated Grails support.

This article shows how to reduce Grails WAR file size for deployment in other containers. The instructions should work for most application servers.
Read the rest of this entry »

Quick News: SpringSource Acquires G2One, World Domination to Follow Suit

Tuesday, November 11, 2008 by lanna

No, this is not like that previous acquisition we heard of.

SpringSource, the company behind Spring framework, has acquired G2One, the company founded by Groovy project manager Guillaume Laforge and Grails creator Graeme Rocher.

Foreseen benefits include better integration between the technologies, enhanced IDE support for Groovy and Grails, greater Groovy and Grails enterprise adoption, and Domain-Specific Language (DSL) support for Spring.

While this is a very welcomed move, let’s hope it will not lead to paid updates in the future. Just kidding, G2One does not “own” Groovy or Grails in the same sense SpringSource owns Spring. I hope. [Update: Read the last question in the FAQ (see comment below) and judge for yourself.]

Congratulations to Guillaume, Graeme, and the Groovy & Grails community.

GlassFish v3 and Grails Support

Friday, November 7, 2008 by lanna

One of the nice new features of GlassFish v3 is its integrated support for Grails (or the r-word framework, for that matter).

Assuming you already have downloaded and installed GlassFish, open the Administration Console (usually http://localhost:4848/), click on Update Tool, select grails, and click Install:
Read the rest of this entry »

Quick News: GlassFish v3 Prelude Released

Thursday, November 6, 2008 by lanna

GlassFish v3 Prelude was released today. The new release is built on a modular, OSGi-based microkernel architecture providing faster startup time, reduced memory utilization, and the ability to run in embedded mode.

Among the new features, enhanced deployment methods which simplify Web application development life cycle, Grails integration, and better support for JRuby.

Happy download.

Hello, Grails

Thursday, November 6, 2008 by lanna

Creating a Grails application takes three easy steps:

  1. Generate the application skeleton;
  2. Create a domain class and controller;
  3. There is no step 3. :-)

Read the rest of this entry »

GroovyBeans

Thursday, October 30, 2008 by lanna

GroovyBeans are the Groovy equivalent to JavaBeans. They are also known as POGOs (Plain Old Groovy Objects) in contrast to POJOs, or Plain Old Java Objects.

To see how POGOs compare to POJOs, let’s create a Person class with two properties, Name and Age:
Read the rest of this entry »

Hello, Groovy

Thursday, October 23, 2008 by lanna

Back in 1978, Brian Kernighan and Dennis Ritchie wrote in their seminal The C Programming Language: “The only way to learn a new programming language is by writing programs in it. The first program to write is the same for all languages: Print the words hello, world. This is the big hurdle; to leap over it you have to be able to create the program text somewhere, compile it successfully, load it, run it, and find out where your output went. With these mechanical details mastered, everything else is comparatively easy.”

We already covered the mechanical details, so let’s see the comparatively easy stuff.
Read the rest of this entry »

Running Groovy

Thursday, October 9, 2008 by lanna

There are a few options for running Groovy from the command line: groovyc, groovy, groovysh, and groovyConsole.

groovyc

groovyc is the Groovy compiler. It works just like Java’s compiler, javac.
Read the rest of this entry »

Installing Groovy and Grails

Thursday, September 25, 2008 by lanna

In this article we are going to show how to install Groovy and Grails. While the instructions target Unix systems, other platforms follow a very similar procedure.

The installation is simple and straightforward, not unlike many Java tools: download, unpack, set environment variables, and update PATH and CLASSPATH. The only requirement is to have Java SDK 1.5 or higher installed on the machine.
Read the rest of this entry »

Introducing Groovy and Grails

Thursday, September 11, 2008 by lanna

Groovy is a dynamic programming language for the Java platform created by James Strachan and Bob McWhirter in 2003. Its syntax is based on Java (just like Java syntax itself was based on C) yet it offers powerful features inspired by languages like Perl, Python, Ruby, Smalltalk, and Lisp.

Groovy offers seamless integration with Java. Groovy code is compiled to Java bytecode and runs on the Java Virtual Machine (JVM). Groovy classes are Java classes. Every Groovy object is a java.lang.Object and can extend or implement any Java class or interface. One can call Java classes from Groovy and Groovy classes from Java. Code written in Groovy has direct access to the full Java APIs, including Java EE and frameworks such as JUnit, Spring, and Hibernate.
Read the rest of this entry »