Hi to all,
Everything is just my point of view and I’m still pretty new to UI5. If you have a different opinion about anything here, i’d love to hear from you. And because I really like lists and tables, lets start with one, comparing different parts/features. I gave everything up to three stars:
|Feature||UI5||Angular / Bootstrap|
|Databinding (one-way, two-way)||***||***|
|Predefined Compontents (Layout, Tables, Forms, Buttons, …)||***||*|
|Testing||* (not sure yet)||***|
|Support for different Data (REST, XML, JSON, OData,…)||***||***|
As you can see, basically both ways work fine for me. That’s why I will focus on the differences that matter to me. As far as I can see, concerning predefined components/widgets/whatever UI5 is the strongest JS-library I’ve ever seen. Bootstrap also covers the basic needs, like tables, lists, datepicker, grid-layout, etc., but with UI5 I can build tons of apps without ever having the need for my own custom component.
Testing is a big topic for me and I’m still not sure, which is a good way to go in regards to UI5-testing. I tried out QUnit-Tests and they worked well. I’m still not sure about how to test certain areas or what is the right thing to test. On the other hand, I know there is good support for mocking data. Angular has a well-build testing library to mock and test everything I ever needed. It integrates great with testrunners and testframework, e.g. Karma and Jasmine, and can be also be run in a Continuos Integration Environment like Jenkins. Maybe UI5 is much more advanced in testing and I will learn this soon.
Customizing is a different story. Angular and bootstrap can be customized really, really good. Adding custom styles and functions, wrapping directives, integrating parts of it with your own code, etc. is easy. With UI5 its also possible to customize and e.g. extend predefined components. I think the strong point of UI5 (and Fiori) is, that it gives you a way how your app should work out-of-the-box. If you or your customer has some special wishes how something should look or feel, you have to jump out of this box and build (nearly) from scratch. (opinions from more experiences developers is greatly welcome 🙂 )
The learning curve in UI5 is really low. Getting into it and expanding my knowledge was, after a dumb start, really great. Angular on the other hand has a light start and soon you hit a wall. Going over this wall takes time and patience and afterwards its getting fun again.
Finally, I think Angular and Bootstrap are there to help you develop your way, while UI5 is showing you its own shiny way.