Search code examples
playframeworkjava-ee-6

Stick to basic Java EE 6, or choose a framework like Play. Freshly graduated


This thread is a little related too: framework or not and Spring or Java EE 6, oh my

The question summed up:

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.

short background

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.

The project

I want to achieve the following with the site:

  • HTML5 and css3, and some fancy jQuery
  • Being able for admin to log in to site, and have basic control over it (posts, news, pictures, videos)
  • Having option for it to look great on smartphones (not sure how to fix that yet, maybe create a own mobile link when detecting its a phone?)
  • Storing comments, posts in database.
  • Multiple languages (german, english for starters)

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?


Solution

  • 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 future

    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.

    Requirements

    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).

    Conclusion

    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.