Hacker News new | ask | show | jobs
by olavgg 1223 days ago
I highly recommend either Grails, Spring Boot or Micronaut. There are several others, but they lack documentation, has confusing documentation or is over-engineered. Of these 3, Grails is convention over configuration, and the two others configuration over convention. Micronaut is the most performant and use least memory.

Grails has GSP templates, while Spring Boot and Micronaut supports several, but I prefer either Thymeleaf or JTE templates.

Grails and Spring uses Hibernate, which is fantastic to work with. Micronaut has its own orm, which is really fast. In Grails Hibernate is abstracted into something named GORM, Spring Boot's Hibernate abstraction is named Spring Data. Spring Data is more polished than GORM. They're both very well documented and easy to use.

They are all very easy to use with other excellent Java tools/libraries, Kafka, Pulsar, Neo4j and so on.

If time to market is your thing, pick Grails. (This is what I care most about)

If performance (web scale) is your thing, pick Micronaut.

If best documented is most important, pick Spring Boot.

Grails is an abstraction of Spring Boot, basically you can do everything Spring Boot can. But Grails makes Spring Boot a lot easier, especially for inexperienced developers.

2 comments

I developed with Grails some years back and my experience was not that good. It is indeed impressive how fast you can produce a functional first version of an application, but there is price to pay for it. Groovy/Grails contain a lot of (dark) magic which is hard to understand/debug/refactor at times. The generated code (which makes the fast progress possible) needs to be rewritten sooner or later in my experience, so this is not a big time saver in the long run. In my opinion Groovy is just not a good programming language. Kotlin is much better and would also prefer the good old Java.

My personal impression is that Grails lost much of the momentum it had years ago.

Second the recommendation for Grails. If you want to get started building a JVM based webapp quickly, using a very pleasant to work with environment, Grails is the way to go.