In this blog post I will look into my development environment.
When starting out with Grails development I was already used to the Eclipse IDE, so naturally this was the starting point for me.
I did a preliminary test GGTS which worked right out of the box.
Unfortunately GGTS is made for Grails 2.x and is no longer maintained.
Eclipse can be used with Grails 3, and probably Grails 4 following e.g. this guide: https://objectcomputing.com/news/2018/03/02/grails-development-eclipse
But – With this setup you will get little code-completion and no GSP code highlighting, so the search continues.
Next out was IntelliJ IDEA. I run the trial version for a month, and it just worked.
IntelliJ IDEA has Grails integration with code-completion and GSP code highlighting.
I ended up with the commercial Ultimate Edition because it makes me much more productive.
Database server for development
A few thoughts on selecting database server for development.
New Grails projects are configured with H2 in memory sql server. I have run a few small tests with it. It is very fast.
However, I run development on the same type database server as production. Meaning PostgreSQL with replication enabled. This hopefully gives mostly the same behaviour in delopment as production.
IMO the development database server should be run on inferior hardware compared to production. This way I experience any performance bottlenecks in development.
I generate a lot of data into the database. In part because the UI is behaves / feels different. And of course – more data will help uncover bottlenecks.
I use sdkman.io to juggle different versions grails, java, groovy, gradle etc.
With sdkman you can keep up to date.
At the moment I am running some development requiring Java 8, and some development requiring Java 11. With both versions installed I can run Java 8 in one terminal and Java 11 in another terminal.