Pragmatic OpenUI5 (a.k.a. SAPUI5) vs Polymer comparison

OpenUI5-vs-Polymer

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:

  1. Service Workers for Notifications
  2.  The awesome QuaggaJS to read bar codes
    1. WebRTC to use the camera
    2. Web Workers to analyze the camera stream
  3. WebCompoments (this is the basis for polymer)

Capture 2017-02-02 at 10.20.32

Capture 2017-02-02 at 10.20.54

Medi-Minder-Responsive

 

OpenUI5 application

As an example for an OpenUI5 application I will use my BPMN-2-FunctionsPoints example.

Capture 2017-02-02 at 10.46.41 Screenshot from 2017-02-07 10:47:17 Screenshot from 2017-02-07 10:47:30

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

Your email address will not be published. Required fields are marked *