SAP UI5 versus other Javascript frameworks?

subh picture subh · Feb 4, 2014 · Viewed 17.3k times · Source

Just wanted to understand where does SAPUI5 stand as a framework.

(1)Is it like jQuery (library with host of utility functions, effects, animations etc) or (2)Is it like a MVC library like Backbone,Angular,Ember etc?

  • If 1, then how could it possibly supersede jQuery?
  • If 2, then what advantages & disadvantages would it have over these other frameworks.

Apart from the fact that it's SAP's proprietary framework what really i would like to know is the principles & philosophy behind this framework, and how does it stand the test of time in front-end regarding-

  1. MV* philosophy of building applications
  2. building single-page applications
  3. learning curve along with other frameworks like Backbone, Angular (I mean if i learn SAPUI-5 does my learning curve for other frameworks increase or decrease or how can it affect that)

And lastly can (if there is!) I create an ecosystem of SAPUI5 with other frameworks.

Answer

qmacro picture qmacro · Feb 4, 2014

This is rather a large question that is in danger of having a very long answer, one which is also subject to opinion as well as fact. But I'll have a go.

First there's the "which toolkit" question. There's SAPUI5 which is the name of what the toolkit originally took (and still has), and this is subject to certain SAP licence restrictions. Since December 2013 there's also OpenUI5 which is the Open Sourced version of the same toolkit (minus a few things currently, but for the most part the same). And when people refer to UI5 they're collectively referring to both SAPUI5 and OpenUI5.

So while "SAPUI5" is proprietary, its sibling "OpenUI5" is very much Open Source.

UI5 is a full featured toolkit that includes, amongst other things:

  • MVC
  • data binding with support for JSON, XML and OData out of the box
  • module loading and management
  • support for component-based app creation
  • internationalisation (incl. RTL support)
  • routing
  • different libraries of controls e.g. rich desktop-specific controls in the sap.ui.commons and sap.ui.table namespaces, plus responsive controls for smartphone/tablet/desktop in the sap.m namespace (on which the SAP Fiori application suites are built)

To your question on jQuery - it uses jQuery and many other libraries, and builds upon them, so it's not a competitor for jQuery or a replacement for it. In fact, from personal experience, I'm not a jQuery expert but I build apps with UI5 just fine.

To your question on advantages and disadvantages vs other MV* frameworks, I don't think there's space in this answer to tackle such a wide-ranging question.

Not sure what you mean by standing the test of time regarding MV*; MVC has been around as a concept since almost the beginning of time, so I guess that has stood the test; UI5 is relatively young (2-3 years) so still has to prove itself in terms of years, but it's doing rather well so far if you consider the large scale of app development that's happening with it in the SAP world.

Learning curve? I'm traditionally a backend / integration developer and I picked up UI5 without too much bother. Difficult to answer the question without knowing your skillset and desire to embrace it.

Ecosystem inside SAPUI5? Not sure I understand that question.

Hope that helps a bit.