Java EE 8 without MVC?
After almost one year of silence Oracle presented an update to the Java EE 8 roadmap at JavaOne: Java EE 8 by the end of 2017 and EE 9 one year later. As far as I know they didn’t explain why they stopped their work for so long or why they left the community in the dark about that. OK, but at least some progress now.
The new roadmap introduces two new JSRs (Health Checking and Configuration) and also proposes to drop Management 2.0, JMS 2.1 and MVC 1.0.
Especially the plan to drop MVC triggered controversial discussions. The statement behind this decision is that MVC does not match with Oracle’s new cloud strategy. Honestly I’ve no idea why “the cloud” could be an argument against a RESTful web application framework but luckily Oracle explains this in more detail in the new Java EE Community Survey:
How important is MVC API for the next generation of cloud and microservices applications?
So: times have changed — Single Page Apps ftw!
I think Oracle got it wrong and the answer is: Yes! It’s very important to complete a framework that encourages web applications following some basic web principles like them from roca-style.org. You don’t believe that unusable browser controls are still a thing? Go back to the survey and try to copy text or use the back button. Good luck!
Single Page Apps may be a good fit for your project. I’m using AngularJS in many of my current projects too. The motivation is mostly the same like years ago for JSF: We’re quite productive and it’s easy to find developers. But I’m also aware that sometimes this is a poor compromise for the user:
Many JS frameworks like Ember.js and React give you the opportunity to also render HTML on the server. Google’s Application Shell Architecture proposes to render at least the “shell” on the server. This is not a new trend. Twitter migrated back to server side rendering 2012 because “time to first tweet” really matters. If Oracle thinks that times have changed and the trend goes to client side framework they’re late again and may miss the trend back to the server if they stop MVC now. And btw: Wouldn’t it be great if Java EE would provide an answer how to build applications which render on server and client? There are already people integrating React with MVC!
If you haven’t filled out the community survey yet please take a few minutes of your time. The survey will close on Oct 21. It’s really important that you give feedback and the future of Java EE is driven by the community.