Skip to content

Exploring Java Web Frameworks

At the moment, I am in the process of starting a new project with a friend, so we had to compromise on a programming language we both know good enough. The first choice is Java, and whatever you think about it, it is still widely used in enterprise applications.

But our requirements are simpler than that: We need a ready-to-use and modern Web development library or framework. Something that is established and has a community. Not the new fancy stuff, but a mixture of what is used in the industry and what has modern concepts like templates, easy URL configuration and does not make use of unnecessary XML configuration files (I am looking at you, JSF). Also, there should be standard packages and reusable code for mundane stuff like user management, front end rendering etc.

Not knowing where to start, I did my research by starting with popular frameworks, and by popular I mean “what do people use and talk about”. Surprisingly, the makers of JRebel, a productivity tool for fast code reloads, created a Java Web Frameworks Index (btw, they also make some cool free cheat sheets).

Here is the top 10 for February 2018:

1Spring mvc28.82
3Spring Boot13.35
8Play framework3.26

Interestingly, the source data used to calculate a “popularity score” is retrieved from StackOverflow, LinkedIn, GitHub and Google. I have no reason to doubt the data, and I will not use it for my final decision, as I will be manually look into the frameworks to decide.

Here are more resources that look at some of these frameworks, with pros and cons, short summaries and comparisons:

  • a table on a Wikipedia page comparing different frameworks by features
  • two blog posts with summaries of some frameworks, with code examples.

I am planning to create a minimal example with some of these frameworks to compare them and get a feeling what development feels like. Of course I will make my results public, so you can also play around with these frameworks easily.

I hope this is helpful to someone looking to start such a project. Also, stay tuned for more blog posts on my researches!

Published inTechnology

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *