Introduction: Let’s get even more curious
In the Curious Coders Java Web Frameworks Comparison we looked individually at the top 8 most popular Java Web Frameworks at a feature-by-feature level and scored them. We got some great feedback and added two more feature categories based on this commentary, plus analyzed the strengths and weaknesses of each framework against seven different application types (use cases)…
What did we see in the first report report?
At the end of the first report we compiled the scores for each framework across all the features we looked at for the comparison. While this is interesting to look at, it does not make any suggestions as to which framework would be good to implement based on different end-user needs, as we haven’t introduced the real world problems/projects into the picture yet.
That’s where this report comes in: here we focus on the application and test use cases with varying application types to determine which frameworks are best suited for that app. Each application type will have different needs, requirements and functional priorities, so the feature areas we looked at in the first report and the two additional parts in this report will be scaled differently. This means we can suggest which framework(s) would be more appropriate than others for different types of applications.
Both reports are follow ups on the Java Web Frameworks section of our popular Developer Productivity Report . Here you can see which were the popular frameworks back in 2012. According to over 1800 developer responses, here’s what we found:
So what are the application types we care about in this report, you ask? We wanted to pick a selection of real-world application scenarios to gauge each framework’s effectiveness, so here they are:
- CRUD (Create, Read, Update, Delete) app – e.g. Evernote
- eCommerce app – e.g. Amazon
- Video/streaming app – e.g. Netflix
- Desktop application port – e.g. Salesforce
- Mobile app – e.g. m.google.com
- Multi-user app – e.g. Scribblar or Crocodoc
- Prototyping app – e.g. your own app in development :-)
Once these application types have been weighed, we can then suggest/recommend a web framework based on its strengths, and report which we’d consider using on a similar project if we were to take it on from scratch. The Java Web Frameworks we will discuss will be the same as those looked at in our first report, as follows: