This blog post will contain a comparison between the SAP framework OpenUI5 and the Google Framework Polymer. On my current work project I am mainly using OpenUI5. I was the guy to decided to use it around 2 years ago and I am still very happy with that decision. Nevertheless I try to keep up to date all the time. So in my vacations I started a small polymer application.
Polymer Application
The polymer application is a reminder for medication. It is mainly using components from the 1.7.0.2 branch from the polymer CDN project. It is powered by a material design interfaces and uses some new HTML5 features. These features are not limited to polymer nevertheless I want to mention them:
- Service Workers for Notifications
- The awesome QuaggaJS to read bar codes
- WebRTC to use the camera
- Web Workers to analyze the camera stream
- WebCompoments (this is the basis for polymer)
OpenUI5 application
As an example for an OpenUI5 application I will use my BPMN-2-FunctionsPoints example.
MVC JavaScript frameworks
Both OpenUI5 and Polymer are Model-View-Controller JavaScript frameworks. They have view components, these view components fire events and these events are used by the controller to update the model.
Polymer concentrates mainly on the view part and makes it possible to build independent encapsulated web components. OpenUI5 takes a more general approach and also ships with server compliant model implementations and has a clear seperatation between a control and a controller.
Here are some comparison tables
As main source I will use the github repositories. Here you can find the OpenUI5 repository and Here you can find the polymer repository.
Organizational and development process comparison
Value | OpenUI5 | Polymer Project |
---|---|---|
Main driver | SAP SE | Google Inc. |
Current Version | 1.46.2 | 1.8.0 |
Release velocity major releases | ~3 month | ~2 month |
Release velocity bugfixes releases | weekly | weekly |
Releases according to github | 188 | 93 |
Contributors according to github | 136 | 95 |
You can see that both frameworks are developing with a phenomenal speed. It is more about you catching up then about them releasing new features.
Main technologies
Value | OpenUI5 | Polymer Project |
---|---|---|
Programming language | JavaScript | JavaScript |
CSS Preprocessor | Central Less Theming files | Custom CSS properties |
Design guide | SAP Fiori | Google Material Design |
View language | XML (preferred), JS, HTML | HTML5 |
Official browser support | IE11 further the newest and long-term-support releases of Chrome, Firefox, IE Edge and Safari | Polymer 1.0+ works in the latest two versions of all major browsers: Safari 7+, IE 11+, and the evergreen Chrome, Firefox, and Edge. |
Consumable from CDN | Yes, officially supported | No, some hacks exist |
Own CLI | No | Yes |
So polymer is a little bit more modern in the choice of technologies but OpenUI5 has broader support.
Features
Value | OpenUI5 | Polymer Project |
---|---|---|
MVC | X | X |
Templates | X | X |
Two-way Databinding | X | X |
Localizable | X | X |
Recommendation for standardized server communication | X (OData) | O |
OpenUI5 has more features but for polymer it is easy to pull in some third party libraries that help with server communication.
Components
Value | OpenUI5 | Polymer Project |
---|---|---|
Amount of components in main library | 172 (sap.m) | 91 (PolymerElements) |
Responsive components | Yes, Use: sap.m | Yes, Use: app-layout and paper components |
Extensive Testing Concept | Yes | Yes |
Main component repository | N/A | https://www.webcomponents.org/ |
Themable | Yes, as a whole | Partly, on a control basis with custom css properties |
Currently OpenUI5 comes with a lot more components by default but in polymer it is easier to pull third party components.
Documentation
Value | OpenUI5 | Polymer Project |
---|---|---|
Main documentation | Yes | Yes |
Feature overview | Yes | Yes |
Tutorials | Yes | Yes |
Demo Apps | Yes | Yes |
API Documentation | Yes | Yes |
Stackoverflow Tags | sapui5 2805 | Polymer 6320 |
Both frameworks are well documented but in my opinion the documentation for OpenUI5 is still better. Polymer is better known in the public.
Toolsupport
Value | OpenUI5 | Polymer Project |
---|---|---|
IDE | any (SAP Web IDE, UI Theme Designer, SAP Development Tools) | any (Polymer Designer) |
Works on JS snippet sites like jsfiddle or codepen | Yes | Yes, with CDN hack |
Both frameworks are developing there own tools. In my opinion a framework should work with every IDE which is the case for both.
Conclusion
Overall polymer and openui5 use a lot of similair concepts. OpenUI5 is more mature and better suitable for enterprise application that need a lot of forms, master data management, and long term support. Polymer is a good choice for live style applications that benefit from the newest technologies.
If you need help for your company deciding for one of these please contact us
Leave a Reply