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:
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!