Hacker News new | comments | ask | show | jobs | submit login
SAP open sources UI development toolkit "SAPUI5" (sap.github.io)
68 points by blahbap on Dec 11, 2013 | hide | past | web | favorite | 79 comments

Having worked with SAP via ABAP and Java back in the day (and hating it) I can still feel the soul of SAP through these web apps. They still feel incredibly slow and bloated for what they do. Their market dominance is driven by the FUD of other technologies unfortunately, so they need to create their own front-end javascript framework to keep the mystique going about how computer systems are complicated without SAP. On the other hand, when the SAP people retire I'd imagine they'll be completely out of business because no CTO in 20 years is going to get behind an SAP implementation as they work today.

"Java... web apps... incredibly slow... bloated... market dominance... FUD... front-end javascript framework... keep the mystique going..."

"completely out of business"

The end.

The company I contract for is currently rolling out a big SAP installation. Yes it's a big company, yes it's all the enterprise nightmares you heard about and no, SAP won't go out of business any time soon.

Not even COBOL is completely phased out here and most stuff is Java developed at some offshore location. Enterprise is a very, very weird place. And yes, IBM won't starve any time soon either.

I dunno where the SAP hate comes from. In my days of AT&T, SAP was the best thing going on. It was the one thing that actually worked reliably. I loved using ABAP and SAPjCO[1] to do all kinds of cool things. I thought the design of SAP was amazing for the complexities it had to deal with. Of course, our HRP1001 table had over 8 million rows. Someone probably had to buy some very expensive hardware to keep SAP running fast.

1. http://help.sap.com/saphelp_nw04/helpdata/en/6f/1bd5c6a85b11...

P.S., I wish other programming languages would consider implementing a table variable like ABAP has; allowing me to run SQL against it. http://sap-core.com/articles/basis/abap/abap-variables/

It will be called SalesForce then.

As if SalesForce is any better.

SAP Hana is actually a pretty interesting technology for developing data analysis website. It's a DB integrated with a web server and it automatically builds web services that let you query the data. It also provides a html/js framework to easily display and drill down (i think SAPUI5 is tied to that framework, or even is that framework).

They even got an amazon AMI to start developping quickly without paying the license upfront. Unfortunately the IDE which you use to build the webapp requires Windows.

hint : i don't work for SAP at all. I just discovered that technology a few weeks ago and it was pretty weird for me since i've always associated SAP to big, bloated, clumsy, and hyper expensive tools, for the enterprise only.

SAP is a strangely technology-driven company on the inside.

They just solve a horrible problem: implementing everyones business process as they find them at the client, instead of the other way around, with legacy support for ages.

(disclaimer: I worked for SAP as an intern, a few years ago)

SAP (or Salesforce or whatever) comes in. Client wants new tech, but keep the business process the same. Lots of wasted money, tears, and anger. Client adapts business process.

The problem is that most enterprise do not reach the last step.

As an example, the NBA.com stats website is running on HANA:


the HANA IDE doesn't require Windows. You can get it for Windows, Linux and Mac. https://hanadeveditionsapicl.hana.ondemand.com/hanadeveditio...

The ide itself doesn't , but you can't connect to your hana instance if you don't have the hana client. Which doesn't work on a mac. It may work on linux, but i've been told that Windows really was the platform of choice for development.

maybe you should just give the Mac version a try. You might be surprised. Actually, you will be surprised

it does not work on Mac. The regi client is windows only and therefore it's impossible to do real work.

I use it on Mac every day. The regi client is not required on the Mac version and it works just fine. I don't understand how you can make claims without even trying

Are you sure you are able to upload code to a running instance deployed on an amazon AMI, right from the IDE running on your mac ? I even asked someone from SAP and had a look at various forums on the sap dev network. Everyone seemed to agree that Windows was the way to go (the SAP guy even advised me to install a Windows VM). Glad to hear i was wrong.

I am sure. Disclaimer: I work for SAP and I am the one who originally created those amazon AMIs about two years ago. Meanwhile I got re-org'd into some other group (as happens frequently at big companies) but I still use it myself. I'll clarify things on our forums (not that anyone would find it there...)

Lol ! ok, HN really is something wonderful :) Well, the first step to me is in the download page : explain a bit more what those "client" downloads are and when and why they are required.

PS : don't know if you're still involved with SAP Hana, but that technology would really benefit from having its completely independent ecosystem, far from anything related to SAP and its bloated developer network & forum website.

The "Client" is database drivers for different environments. JDBC, OCBC, ODBO, Python. Unfortunately, drivers only exist for Windows and Linux - but the JDBC driver is pure Java, so if you want to code Java against HANA from a Mac, you can do it (simply download any Client package, unzip and use the jgdbc.jar as JDBC driver. The best choice is not even in the package: node.js drivers for HANA. Easiest way to get is npm install hdb Full (!) Open Source, https://github.com/SAP/node-hdb

Fully agree with your comment about independent ecosystem. I'm not officially related anymore, but still pushing internally. HANA (even HANA One) is too expensive, there's not obvious go-to-market route for smaller shops and all that information is purely curated hence hard to navigate. Well, SAP is just beginning to open up, so call it beginners mistakes. And hope we'll learn fast...

This is not one of the companies that I might have anticipated open sourcing this type of project. I hope that this helps other LargeCorps begin looking at open source as a reasonable business decision.

I salute SAP for the initiative and hope more follow suit.

Since the project started the developer fought for this internally. Finally they won.

Interesting, I was thinking that SAP might have opened this up to help broaden the base of developers who are comfortable working with their technology. I just assumed that there must be some business logic underlying the move.

I imagine that an open-source javascript project would be a great deal more approachable than proprietary ABAP for developers exploring new career paths.

Yea that's isn't how SAP work. They only want inhouse developers developing on their platforms

Nice set of font icons included (licensed as Apache License 2.0 too I think, so you can use them standalone elsewhere):

Icon Explorer: https://openui5.hana.ondemand.com/test-resources/sap/m/demok...

Uncategorized icons: https://openui5.hana.ondemand.com/test-resources/sap/ui/core...

Class sap.ui.core.Icon reference: https://openui5.hana.ondemand.com/#docs/api/symbols/sap.ui.c...

You can find the SAP-icons.ttf and SAP-icons.eot files into the following folders inside the UI5 Runtime zip file: resources/sap/ui/core/themes/*/fonts/

The copyright lines inside the font files say: Copyright (c) 2013 by Gerard Keane SAP AG Visual Design. All rights reserved. Copyright (c) 2013 by SAP AG Visual Design. All rights reserved.

But I still think that the Apache License 2.0 applies here too.

The copyright issue should be fixed. Looks like this was generated automatically by the software ;)

At first I thought you were part of the team and already fixed the font license issue on the public website, but I just checked and nothing seems to have been changed.

So maybe I misinterpreted your comment, and you are not part of the team, but just saying that this issue need to be fixed, and that probably it is there because of automatic generation.

Could you please clarify the meaning of your comment? Thanks! :)

6MB, 150 files, interminably slow load times, a crazy-looking, complicated, Java-inspired API, and poor text contrast? Yeah, that's about what I was expecting from a UI toolkit from SAP. Makes me sad.

I liked the UI because it is compact. I know they are not the only alternative, but I hate default padding and margin values of Bootstrap. Not everyone has retina or 4K displays. It is more suitable for desktop application where you need many components to be displayed, and you have a mouse to navigate. Bootstrap is good in the other way around.

Yeah bootstrap doesn't really have an enterprise look to it. Arguably the enterprise look is uncool though, so that's not surprising. wrapbootstrap has stuff that almost bridges the gap, erring on the cool side of things though. I doubt most enterprises want something that sleek looking.

In short, make your enterprise software look like the Microsoft suite of the day and you should be ok. I think Extjs fails in that regard, it used to look fresh though.

Lots of negative comments on HN, surprise surprise. Seems like an enormous amount of code, we should be happy it's now open source for others to use and learn from.

Most of the criticism is valid though, in this case. This is a genuinely poor UI framework.

1. This is extjs, like someone else was mentioning below.

2. Why would you supplant native HTML/CSS capabilities with shit like new sap.ui.commons.TextView({ layoutData : new sap.ui.layout.GridData({ span : "L4 M6 S12"...

3. The problem is that the entire approach is outdated, and fairly slow and bloated on my machine. Coding with this is going to be as interesting as legacy Java and .Net "thick client" apps.

“Why would you supplant native HTML/CSS capabilities with sap.ui.commons.TextView”

Because “The DOM is a Mess”.

SAPUI5 works across devices desktop, tablet and smartphone. Thinks about browser regressions (removing or changing unspecified APIs), missing features (typically older browsers missing specific features), browser bugs and differences.

Using the Facade pattern, protects frameworks/libraries against those problems, the best example is the jQuery library.

Why would you supplant native DOM APIs with jQuery?

I think SAP deserves some praise for open sourcing some real work. Beyond that I agree with your critique, this framework is not going to make inroads in the larger web community.

However, keep in mind that this is an SAP tool geared towards the SAP ecosystem and it will ultimately be a pretty big deal within that space.

As an SAP developer I am happy to see any progress towards more modern practices and better technologies and SAPUI5 is, without a doubt, progress.

Oh my, that "Delphi mentality" in 2013..) ExtJS, if I remember correctly, is 5 or 6 years old already?) But we, no doubt, will read about ground-breaking innovations from their PR machine.)

Is there any info which "startup" they have acquired or in what third-world country it was outsourced?)

There was nothing in your comment that made sense to me at all.

>> Oh my, that "Delphi mentality" in 2013..)

What's "Delphi mentality"?

>> ExtJS, if I remember correctly, is 5 or 6 years old already?

Why do you bring up ExtJS?

>> Is there any info which "startup" they have acquired or in what third-world country it was outsourced?

UI5 was developed in-house by SAP - not sure where it happened, but I think that particular bit of your comment reeks of arrogance and chauvinism

> Why do you bring up ExtJS?

Because it is an JS UI library of the very same kind which were around for years, isn't it?

Not sure about arrogance, but yes, I do hate SAP because I have seen it in production.)

Well, you could be forgiven for disliking SAP based on your experiences with their old UI - but UI5 is luckily their attempt to remedy the situation.

Usually I wouldn't agree with this kind of comments, but this is the exception. We shouldn't forget that there is a multi-million dollar company behind this and it's clearly not just open-sourced for beneficiary reasons. Whatever the intent is, the result "look" meager. Maybe a focus on the novelty of their framework instead of the richness in UI-Controls could remedy that effect. It's either that, or hate, or both that people try to accumulate here.

Multi-billion company which got caught in all deceptive and misleading marketing techniques imaginable, and which maintain Herbalife-like Ponzi scheme for incompetent c"partners" and inflated "certified specialists". The inferior quality of its ERP software is least problem.)

I hope I don't ask for too much, but would you be so kind and please give all us the chance to understand what you mean? I have not the references that back this up, could you add these?

(I am not biased. But I know two people working at SAP (at ^high positions), who I "think" are nice people.)

There is absolutely no reason for sarcasm.


What does "Delphi mentality" mean?

I'm genuinely curious, not having been exposed to that ecosystem at all.

Well, Delphi was very interesting phenomena. I fought (and lost) a great fight trying to convince coworkers that it is a dead end and that no one will support future development or adapt it to modern versions of Windows, because no one would pay to this huge effort which must be done right on time. In other words, it was a naive blind faith in so-called desktop apps (built on top of a wired third-party toolkit), while it was obvious that a browser is the proper way of visualizing an information. This is the Delphi mentality. Now they have a dead codebase and whole project is in ruins. The irony was that it was some in-house a-la ERP system.)

> while it was obvious that a browser is the proper way of visualizing an information.

It really wasn't obvious in the early 2000's that the browser was the "proper" (I'll use the same word that you use, though I disagree with it) to display information, run software etc. I liked Delphi but while the adaptation to modern versions of Windows and future development was always going to be an issue, the main problem was company maangment, sales and mishandling of what was a good product in its time (up to Delphi 7).

it was a naive blind faith in so-called desktop apps (built on top of a wired third-party toolkit), while it was obvious that a browser is the proper way of visualizing an information

Use the right tool for the job. Desktop apps may indeed be preferable to browser based apps in some cases. Actually, I would argue that it isn't obvious that browsers are better for anything other than what they were built for - rendering and browsing hypermedia content.

Now, whether or not Delphi per-se is a Good Idea as a means of building desktop apps is a different issue, and I'll grant you that I'm not necessarily a big Delphi fan. But that's not because I find desktop apps to be inherently bad.

The browser is for hypertext documents. It's not at all obvious that it's the right thing for, well, anything else. Why do you suppose apps are preferred on tablets and phones, rather than websites?

Would it be fair to assume that you keep JavaScript disabled in your browser?

what delphi have to do with extjs? what i knew, when old days the code come from yui ,extjs something around 2006 started

A UI toolkit from SAP, that's rich.

The basic overview blog is well worth reading http://scn.sap.com/community/developer-center/front-end/blog...

And the linked "Reasons to open-source this toolkit" at http://scn.sap.com/community/developer-center/front-end/blog....

Here is a direct link to documentation and examples of all the controls in the UI library


If you're interested, we have a TodoMVC example for SAPUI5: http://todomvc.com/labs/architecture-examples/sapui5/

Took over 5 seconds to load. I don't like this.

Looks like UI kits from 3 years ago.

Compared to SAP GUI screens this is like an advanced alien technology.


The most interesting components in this library is in the sap.m namespace. They are a core part of the new UI strategy of the SAP and are often referred to as Fiori (see more at https://experience.sap.com/fiori#demos). Designed to handle responsive design and mobile OS device adaptions. Perfect for combining with a hybrid container such as Cordova/Phonegap (though size-wise they need to be optimized more ref http://scn.sap.com/community/developer-center/front-end/blog...)

A lot of them are high-level components such as IconTabBar https://openui5.hana.ondemand.com/test-resources/sap/m/demok...

TileContainer https://openui5.hana.ondemand.com/test-resources/sap/m/demok... Lists https://openui5.hana.ondemand.com/test-resources/sap/m/demok...

Forms https://openui5.hana.ondemand.com/test-resources/sap/m/demok...

Am I the only one this isn't working for? I see comments in here describing all sorts of things but the demo and doc pages only give me JS errors:

> Uncaught TypeError: Cannot set property 'OS' of null sap-ui-core.js:152

> Uncaught TypeError: Cannot call method 'getUriParameters' of undefined openui5.hana.ondemand.com/:35

I just see a blank page.

Same here. After setting the user agent to IE 8 the page renders fine. (I guess it can't handle FreeBSD)

I'm also a user of FreeBSD.

I've created a pull request to address the issue.


Seeing lots of comparisons to ExtJS, in many ways it is similar, but it is also a lot like Dojo and even Backbone.

Would hope in time we see a proper comparision like in http://coding.smashingmagazine.com/2012/07/27/journey-throug...

Where SAPUI5 excels is in providing an easy and consistent way to interact with SAP based backends. Anyone who has tried to do this with other frameworks will appreciate the complexity, SAP themselves have used and are using SAPUI5 for developing many application across the globe. It has been used in anger and been proven to be very extensible and scalable, the kind of things you look for as a Enterprise Developer.

What to makeof this thread? I see bias all around - on both sides of the house! Sure, it's always fun to be thrashing the big guys ("evil empires") and cheer for the under dog.

Those who have been watching more closely (IMHO, the only ones entitled to raise public critism) would back me up in saying that there has been an ongoing change for the better and SAP has really been opening up to the broader developer community - empowering developers and lowering the entry barrier!

SAP offers free education and free developer licenses so it's easier than ever to get started. At the end of the day, it's all about making a living as a software developer and hence I believe this is a positive trend... And one that should be acknowledged in a positive way.

It's very cool and immensely impressive, but the web moves fast and it's interesting to note how quickly previous everything and the kitchen sink and or ui libraries become dated. Just look to dojo, jquery ui, ext.js, jquery mobile, even Cappuccino looks dated (take a look at http://www.cappuccino-project.org/learn/demos/LightsOff/ for example).

Big libraries can't move fast, and can't adapt to all the latest things easily, like reactivity, flat ui, new features like webrtc, persistent websockets instead of REST, etc.

And the web will continue moving fast and soon enough "flat" ui will look dated. This is why it can be themed:


jQuery UI can be themed, there's a flat theme, few people use it. Those who do were already using jQuery UI and searched for it.

The amount of different controls is impressive. The design, not so much. Look at those emphasized buttons, for example.

Not so long ago, SAP released a suite of applications under the brand "Fiori" - these apps are responsivea, have a uniform look and feel and are much more pleasing to the eye.

Here is an example from the Demokit: https://openui5.hana.ondemand.com/test-resources/sap/m/demok...

This looks really good, but doesn't seem to be part of the open sourced UI? If it is, i can't find it.

It is part of the library - you'll find the Fiori controls under the sap.m (for "mobile") namespace in the API section.

It's the "SplitApp" element that gives you the nice looking, responsive container (I was not able to find a good code sample right away).

The date-picker has a bug, it shows calendar week "53" instead of 1 (first week of 2014): http://postimg.org/image/faubokz5b/

SAPUI5 is good, finally they can replace the outdated Netweavers Web UI with its horrible JS code.

In US week numbering i believe that is actually valid, because week 53 can also be week 1 of the next year. Given that in the screenshot the weeks start on sunday, i assume US numbering applies. They probably have a setting to switch to ISO week numbering where it would indeed be week 1.

It's probably defaulting to the 4-4-5 calendar used in finance or something.


I think they coded it for European style calendar format "Monday" = first day of week, as SAP is a german company. I wrote a datepicker in JavaScript and it had similar bugs in one of the calendar formats too.

Why is it so slow?

It's 400KB of minified Javascript. Compare with some other large-ish libraries:

Angular: 97KB jQuery: 90KB jQueryUI: 87KB

It takes a while to load and compile.

To be truly fair, you need to compare this against ext-js which is ~700KB

Also jQuery is included in UI5.

This looks like ExtJS, but worse than ExtJS.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact