Web application frameworks in Java
By Mikael Ståldal
When you know which type of web application you are to develop, it’s time to have a look at some possible choices.
I have tried to categorize some modern and popular web application frameworks in Java.
Simple server driven MVC page based
This category contains the traditional frameworks used for developing web applications with purely server driven application logic. They are based on complete HTML pages and uses the Model-View-Controller design pattern.
They do not directly support for client driven application logic, though it can be done if combined with a comprehensive JavaScript library like jQuery.
Full stack server driven MVC page based
This category contains some more advanced full stack frameworks. They are used for server driven application logic and not suitable for client driven application logic. They are inspired by Ruby on Rails.
Server driven component/widget based
Focus on UI components (widgets) instead of HTML pages, make development a bit more like desktop applications in frameworks like Swing. They are used for server driver application logic and not suitable for client driven application logic.
Client driven component/widget based
Useful for developing client driven application logic by automatically generating the client side JavaScript code.
-
Google Web Toolkit Compiles Java to JavaScript and handle the cross-browser issues. Also abstracts away most of HTML. There is a good tutorial.
-
Vaadin Based on GWT, but abstracts away even more HTML. Also handle the server side and automates AJAX based browser-server communication (using a native data format). A programming model which feels much more like Swing than usual web application development.
-
AribaWeb Quite advanced full stack framework.