We successfully developed and maintained applications with different frameworks. For our own businesses and for our customers. Frameworks we used were mainly JEE, Spring but also Play framework (1 and 2).
To make it clear: All these frameworks are awesome. We love them and enjoy working with them :) They are a huge help in developing large scale applications in Java.
But for our particular use cases those frameworks often did not feel right for many many reasons.
Somewhere in 2012 we took a deep breath and began developing ideas about the web framework of our dreams. How should such a framework look like? What are the key features we always needed to complete and maintain a software project successfully?
After long hours of discussions and a lot of prototypes we came up with the following key features:
And because we have many customers that run their applications on the Google App Engine (GAE) we needed to support the GAE, too.
Back in 2012 there was not a single Java framework (!) that supported our use case out of the box.