Hacker News new | past | comments | ask | show | jobs | submit login

Following up on my own question, there doesn't appear to be any that quite fit the bill right now, if we define the ideal framework as having the following characteristics:

* Java as a first-class citizen

* Strong core of basic web app functionality

* REST and Search engine friendly URLs

* Action oriented – basic framework for routes, MVC etc

* Stateless

* Good documentation, active community

If we look at action frameworks only:

* Play 2: Great except it's Scala. Ruled out.

* Spring MVC: Spring is bloated old-school Java with Hibernate. Out.

* Stripes: hasn’t had a commit in over a year… which is unfortunate because it looks interesting. Out.

* Spark: appears to be a one-person project. Out.

* Google Sitebricks – ditto

* Ninja: Ditto




Play 2: Great except it's Scala. Ruled out.

The Play guys went to great trouble to ensure that both Java and Scala are fully supported. Perhaps consider being a bit more open-minded about your options. Scala is simply a more modern and flexible language, so I don't blame them for using it.


Grails? You just uninstall the GORM/Hibernate plugin. Controllers have to be written in Groovy, but everything else can be Java.


When Grails developers talk about the minimum Groovy that must be used instead of Java in their Grails code, it doesnt paint much of a picture for Groovy's future. I've heard Gradle devs want to add Scala as an optional build language in Gradle 2, but is Grails thinking about moving away from Groovy as well?


Spring mvc with spring 4 is decent, with the java configuration, the amount of boilerplate is reduced at an acceptable level in my opinion (best case is few annotation) (and you are not forced to use hibernate).

But in general I agree that at the moment there aren't a lot of web framework that fit your description in the java world.


Why did you find lacking in java on Play? I've just started playing with it and aside from the template engine (which I don't count) I haven't found any part of the java support lacking vs the scala.


In my brief try-out of it, it felt to me like if you want to do anything different (e.g. your own implementation of something), you pretty much need to switch to Scala. It's a Scala framework first and foremost.

A minor demerit was getting SBT and Play Java to work correctly in IDEA was enough of a pain to make me wonder how much overhead that was going to incur in the long run.

If someone who has used Play Java in production on a large project can weigh in on whether these points are true or not in real production use, I'd love to hear it.


We use Play Java in production, in fact it plays a central role in our backend. Our entire persistence layer is written in Java.

Going forward our new code is all in Scala. Not because we ran into issues with Play + Java, we just get fed up with Java's verbosity when dealing with futures and actors.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: