JVM frameworks, which one?

I do not have experience in frameworks or languages, so I need your help.

This is what I have done so far so that you can understand where I come from.

I developed a web application using Java / Spring MVC / Hibernate. on the front end, I have some jquery datatables making ajax calls in db, other pages execute stored prod and thats about it.

Now I'm tired of all the configurations, beans, hibernate mapppings, spring mappings, apache tiles, and the list goes on.

I had a game with Groovy / Grails and it seems a lot easier, but that means I need to learn groovy, and I heard about this performance weakness.

So, I came across the Play Framework, can someone tell me if Play can make my life easier with the above scenario or should I just go to Groovy / Grails or even scala / lift.

I don’t have too much time on hand to choose another language, so if I can stay with basic Java and use Play, it will be great.

So, my described headache is the reason that there RoR / python-django, grails ect, ect? or is it something else?

thanks,

Glenn.

+4
source share
4 answers

I can tell you from the perspective of a 10-year-old J2EE developer who has moved from a JSP / servlet to Grails to Play. 6 years ago I discovered groovy, and I really liked it, I used groovy and its GSP templates in my other projects to generate code. I really like groovy syntax. Because you can do a lot in one line of code;) Because of groovy, I tried Grails. But besides using the language to encode something, perhaps about 20% of the project’s time, you are 80% engaged in Grails conventions. How do they compare this with both the persistent layer (which is the JPA below the surface). Therefore, you often view documents.

Then I found a game. It really seemed natural. This is so fast. Everything is direct, it is 80% unchanged, productive coding, only 20% reading documents. Code completion of any Java IDE has literally enough support. In Grails, you either need the Grails built-in environment, or you often view documents.

The biggest attractor Play for me is the hot-code exchange feature, which almost completely eliminates the build phase. Game class amplifiers give you enough comfort to overcome the loss of these dynamic finders in Grail. In the meantime, I am even writing my own enhancers to get even more comfort.

In a real project, a strongly typed Java language is a huge advantage for all developers. You just can't break it as easily as you can with groovy.

Also, if you look at the Play package, you will always get reasonable defaults. All that all developers like. CRUD-based jQuery, beautiful code samples, good visual experience. And all this is minimalistic. This means that you can always go to the original source file and read the code to understand the behavior of the game.

So, after 10 years of Java and J2EE disappointment and almost abandoning Java, I switched to it as Play implemented, because Play is so much fun, and now I love it again. I recommended playing to two other development friends, and they like it too. It seems like Java that it should have been in the first place. Fast, clean, safe and fun. I will never use something else based on Java, not even for simple main ();)

+10
source

Play!

After 6 or 7 years of Spring / Hibernate, a few more with JSP / EJB I was made with the Java world, looking for other alternatives such as Scala, Node.js, Rails, etc. The Play Framework made me fall in love with Java again, although I recommend Scala.

I have a lot of information about Play on my blog http://geeks.aretotally.in and http://playframework.info .

This is super easy to pick up, it is insanely productive and you will have lots of fun!

+9
source

If you ask the Play developer guy, he will tell you to use Play. If you ask the Scala / Lift guy, he will tell you to use Scala / Lift.

Ideally, you would like to find someone who has used Groovy / Grails, Scala / Lift and Play, but unfortunately there are not many.

FWIW, I use Groovy and Grails, and I like it. If you already know Java, Spring, and Hibernate, you already know most of what you need for performance with Groovy / Grails.

If you do not want to spend a lot of time learning a new language, I would stay away from Scala, since it was a completely different language for Java, while Groovy is almost a superset of Java, and with familiar syntax.

I don't know anything about Play, but I'm worried about the size of the community - check the number of Play and Grails questions in stackoverflow for a rough comparison.

+2
source

The performance of Grails 2.0 will be pretty much on par with static typed languages.

Based on your current architecture, Grails will be the most natural option - you can reuse all existing classes and code without problems and directly raise them. You can freely use @Autowired and other Spring annotations, java code, and Grails selects it because Grails Spring is under the covers. The only part that might require a little customization are the JSPs, but I was able to get the existing JSPs and custom taglibs without any problems. Grails uses SiteMesh to build its Groovy Server Pages (I think JSP groovy has selected and removed some of the JSP access restrictions).

Nothing against the Play, Lift, Clojure web framework, SEAM or any other framework out there, but if you want a simple transition from what you have to something more productive, then Grails will be the closest fit.

Of course, these days almost all of these frameworks support polyglot programming - you use Scala for something, Groovy for something else, and Java all around - compilers, build environments and tools - all address the polyglot development.

In short, it comes down to requirements and risk management — do you need functional programming, dynamic typing, reuse of your Spring controllers, or just simplifying and improving performance?

Even a simple Spring 3.1 update can eliminate some of your XML annotation files and solve most of your problems.

Happy hunt!

+2
source

All Articles