Mizoine: How I create Java application. Step 3. Frontend selection.

Spring Boot

Now I have a web application with some text output.

It’s time to find The Front-end Framework!

The framework must be open, modern, well documented and constantly developing with large community around.

Front end options

1. AUI (Atlassian User Interface)

Just because I’m copying Jira, I can copy it’s front-end as well. Atlassian provide their own framework free of charge.

Home page: https://docs.atlassian.com/aui/

2. OpenUI5

Try to use an Enterprise front-end, promoted by SAP.

Home page: http://openui5.org/

3. Bootstrap

Well known everywhere, simple, feature rich.

Home page: https://getbootstrap.com/

4. AngularJS + Material


Well known, feature rich. Promoted by Google.
Easily confused with ‘Angular‘.

Home page: https://angularjs.org/

Use in combination with AngularJS Material

Home page: https://material.angularjs.org/latest/

Comparison: AUI vs OpenUI5 vs Bootstrap vs AngularJS

 

 

AUI OpenUI5 Bootstrap AngularJS
Current version (documentation link) 7.3.3 1.50 4.0 1.6.7
+ Material 1.1.5
“Get started” page How to deploy Hello World!
1 html file
~40 lines of code
Hello, world!
1 html file
~20 lines of code
Nothing there yet!
1 html file
~12 lines of code

With Material
Empty application
1 html file
~20 lines of code

CSS and JS loading from CDN (Contend Delivery Network), no need to have local copy of framework yes
from atlassian.com
yes
from hana.ondemand.com
yes
from bootstrapcdn.com and dependecies
yes
from google
Responsive layout for mobile/smart phones no yes yes yes
Icons ~220 648 none
Multiple third party add-ons for icons
899 free icons in Font Awesome 5
over 900
Rich file uploading component (with “drag and drop”, multiple uploads, etc.) simple html input rich component extended html input
Third party add-ons
Bootstrap file input – full featured component
simple html input
Third party add-ons
Static HTML yes no yes yes
Add-ons, extensions may be, but not tested for compatibility no, proprietary layouts and components yes, large community and multiple samples yes, large community and multiple samples

Conclusion

AUI is actually weakest from all reviewed frameworks. Killer criterion: It doesn’t support responsive layouts for mobile use. Other features seem to be very poor in comparison as well.

OpenUI5 is very feature rich. However it is completely based on javascript. Static html is not supported. Even “Hello World” example uses javascript to generate page content.

My current choice is Bootstrap. It is pretty simple. Based on static HTML. Supports responsible layouts. Is compatible with thousands of third party extensions, add-ons and frameworks.

To check next: AngularJS. It seems to be more complex as Bootstrap, but more powerful.