This thread is a little related too: framework or not and Spring or Java EE 6, oh my
Should I stay with Java EE 6 without much framework, besides a little hibernate, or should I jump into a framework like Play? All I want, is to create a fancy website while having some control and flexibility to feed my curiousity.
As a beginner of creating my first solid webpage, and having 3 years of studies of Java, and the last year, java EE 6, I find myself in spot before starting a new hobbyproject, wheter I should stick to just basic Java EE 6 while creating my new page, or if I should use a framework like playframework.
I want to achieve the following with the site:
Thats about it. The real question is, if I shoot myself in the foot further down in my understanding of webdevelopment, by using a framework like play. (framework like hibernate/spring etc I feel is a little different.)
For me technology means to make life and tasks easier for everyone, so this is a strong argument for choosing Play, to push for new ideas and ways of doing things. But on the other side, a book I've read and use as reference, is Java EE 6 with Glassfish 3, and I am not sure if I should just stick to this, increasing perhaps a deeper understanding of web-development with Java, or push for this new technology as it seems to make things fast and easy.
Sorry for this weird question, but its so much choices now, and perhaps some veterans could guide me a little?
This is really a matter of opinion, and I hope you get input from more experienced users than just me, but here are my 2 cents:
The real question is, if I shoot myself in the foot further down in my understanding of webdevelopment, by using a framework like play. (framework like hibernate/spring etc I feel is a little different.)
You won't. The only danger here is that you could sometimes "forget" that Play! really uses a lot of different frameworks/technologies under the hood (such as Hibernate, Netty, etc.). As long as you realise that you could technically still use these technologies in a stand-alone fashion — outside of Play! — you should be fine. In fact, if you really want to know how HTTP works (which you should!) Play! will help you a lot more as it doesn't try to hide HTTP at all costs like Java EE does.
Your requirements are covered by both Play! and Java EE, so that's not a problem. In fact, you'll probably be better off with Play! as it won't try to force you into using any one particular kind of technology (where Java EE might assume that you'll use for example JSF).
The most important point — in my opinion anyway — is this: realise that both these frameworks exist. Realise that some problems are easier to solve in Play! while others might be easier to solve in Java EE. As you've pointed out there's also Spring, which is still a brilliant framework offering a good chunk of freedom as well as plenty of integration options.
In my opinion, Play! offers a much needed alternative to Java EE especially in terms of philosophy and approach. I find Java EE bloated and needlessly complicated, not in small part due to the massive black hole that is Java EE application servers. However, many corporate environments still prefer Java EE just because it is rigid. If you're doing a hobby project where you'd like to get to know a specific technology; use Play! framework. But don't forget that Play! is not, and will never be, the one and only answer to every question about Java web development. It's fresh, modern, concise and really fun to use but like any framework its actual net worth depends on the project requirements and the people using it.