Over a million developers have joined DZone.
Platinum Partner

JavaLobby Web Framework Comparison Guide: A Call To Arms

· Java Zone

The Java Zone is brought to you in partnership with ZeroTurnaround. Discover how you can skip the build and redeploy process by using JRebel by ZeroTurnaround.

Over the next few months here at JavaLobby and Web Builder Zone, we plan to provide the most comprehensive guide to the Java Web Frameworks available. The idea for this came about when I, a desktop developer, decided that I wanted to write a web application using one of the Java-based web frameworks. It became apparent that we have a lot of choice (maybe too much!) and that there is no single source of comparison for these frameworks.

This effort will involve a lot of community involvement and hard work. I'd like to go through the main points of this drive here.

  • We've all heard, and read, the heated discussions that happen centered around "why do you used framework X when framework Y is so much better and newer". There's a common reason for this: the developer works for a company who have mandated that this is the technology to be used. It probably happens even more in the current economy, where there's no time for research or changing frameworks.
    By providing an informed comparison between all frameworks,  we do the research for these companies.
  • By having a benchmark, perhaps we can ensure higher quality of web frameworks. I don't mean to say here that frameworks are unstable or written badly. But with a benchmark to aim for, new (and current) framework developers have something to test against - this can't be a bad thing.
  • End the search for people like me! When someone new to (or rusty on) web development needs to find a framework, they can look at the framework comparison to find the best fit for their project.

The Process Behind It All  

I have a process in my head for how this should work, but I need you, the community, to help me fine-tune and agree on this. Here's the plan:

  1. Volunteers. The first thing that we need are people who can put the time into evaluating one web framework. When you consider the amount out there, you can see how many volunteers need to get involved! You can volunteer to this effort anytime - I guess the easiest way is to indicate your interest in the comments thread in this article. If you have a particular framework you are interested in evaluating, let us know. 
  2. A List Of Frameworks. Once we have a list of volunteers, we need to decide what we'll get them to evaluate. Over the next few days I'll compile a list of the frameworks that are out there and publish them here. Where possible we'll put volunteers names against each framework and let you know if we need more people.
  3. A Reference Application. To carry out a complete and fair evaluation, we need to have the same reference application to be implemented in each framework. I plan to have the reference application requirements defined by the end of this week.
  4. An Evaluation Form/Article Once the reference application is implemented, an article will be provided for each of the frameworks, describing the experiences, the positives and the negatives, with an initial score for that framework. We will provide a template for each of the volunteers to fill in at the end of their evaluation.
  5. Final Evaluation All the evaluations will go through a panel of the editors here at DZone, before we start publishing them. Results and reference applications will be freely available to all.

We're looking for your help in evaluating these frameworks, as well as looking for your feedback on how we should run this comparison. Perhaps you have some ideas of what the reference application should include? Or maybe you want to make sure a certain framework goes through the evaluation process. Just let us know, and together we can make this a successful project.

The Java Zone is brought to you in partnership with ZeroTurnaround. Discover how you can skip the build and redeploy process by using JRebel by ZeroTurnaround.


{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}