(Quick Reference)

1 Introduction - Reference Documentation

Authors: Yasuharu NAKANO

Version: 0.3

1 Introduction

"Once interactive mode was available only from console..."

1.1 Interactive Mode is awesome! But...

Are you using the interactive mode? It's the one of the greatest features of Grails and the fastest way to execute a Grails command.

IDEs, like as IntelliJ IDEA, are very convenient for code formatting, complementation, jumping to a related class, and so on. But, about an execution of a Grails command, especially "test-app", it's still so slow that you tend to miss a rhythm of development. Certainly you can use interactive mode on a console to execute a command faster and it's very very useful actually, but you can't use the interactive mode from IDEs or editors, unfortunately. So you have to frequently switch windows between a interactive mode console and an IDE/editor, while in development.

This plugin provides the way of using interactive mode from other process, including IDEs and editors, via TCP.

1.2 What can I do with Improx Plugin?

If you install this plugin to your application, you can invoke almost all Grails commands on an interactive mode, which started up in advance on a console, from other processes via a TCP. This means that you can quickly run a test which is opened in you favorite editor or IDE. If you've appropriately set them up, you'd have only to push a key in order to run it.

For example, in Sublime Text 2:

It has taken only 1.9 sec as total time of the build! Though it's certainly a simple unit test, this is the surprising result.

In addition, you can easily make an original build script, for example, to execute 'doc' command and reload a web browser window automatically.

In short, this plugin brings you the more convenience and flexibility for Grails application development.

1.3 Relationship with GroovyServ

Do you know GroovyServ? It accelerates a feedback cycle for development of Groovy scripts.

GroovyServ makes Groovy’s startup time much faster, by pre-invoking Groovy as a server.

In software development with script languages, it’s very important that repeat velocity of “try-and-run” is fast enough. It is too long to wait for start-up of Groovy even for 1 second. GroovyServ reduces startup time of the JVM and Groovy significantly. It’s of course dependent on environments, but in most case, it is 10 to 20 times faster than regular Groovy.

GroovyServ on GitHub

The improx plugin code-named GrailsServ because it accelerates a feedback cycle for development of Grails application. But the name of "GrailsServ" isn't good because Grails is essentially "server" and it might lead confusion and misunderstanding. So I've given it a more explicit name which shows the architecture of the plugin Yes, this plugin works as just only a proxy of interactive mode.

GroovyServ can give you much advantages when you use the plugin because the start-up time of the groovy client scripts of the plugin will be much faster.

See also: GroovyServ on GitHub : http://kobo.github.com/groovyserv/