Personal Insights
SAPUI5 Development as seen by classic SAP ABAP Developer
First, as title says, I should note that I write this blog from a position of “classic” SAP ABAP Developer. You know, the usual work related ABAP programming, SAP GUI (dynpro) designing, ALV reports, EDI/IDOCs, enhancements/BADi implementations, print forms and many more “classic” SAP developer tasks.
I started with SAP development in 2012. One year before the SAP Fiori was introduced. But it still took long time before SAPUI5 / Fiori was more widespread. And still even Today many SAP customers have limited support (I mean old systems) to fully use Fiori / develop in SAPUI5.
Now I have to say it – I do not like SAPUI5 (so far). And I did not found almost any negatively critical articles / blogs / discussions over the internet. Surprisingly it seems there are not many praising blogs neither. Apart of PR marketing ones or just technical guides of course.
Steep learning curve
I am sure many SAPUI5 developers (especially recent ones) started with already having some “modern” web development experience and skills. For them it is of course much easier learning. But for classic SAP ABAP developers it may look like a completely different world.
Just looking at all the project folders & files makes me dizzy:
SAPUI5 project folders and files
Some of the difficult learning points:
- The differences of languages themselves JS, HTML, CSS… vs. ABAP.
- Lets say I want to create a View. OK we can have XML View (seems preferred way), JSON View, JS View, HTML View…
- Where / how to connect OData source. Service binding, manifest, model…
- The way how releasing and publishing final project works.
- Handling user authentication, state management, multiple views navigation…
There is just a lot of new things to learn to get even on the basic level. Thus steep learning curve.
Unstable IDE(s)
I started to explore SAPUI5 quite early. Back then I think main IDE to use was Eclipse (ADT).
It is not supported anymore.
Now the go to IDE might be VS Code and / or cloud (browser) IDEs like SAP Web IDE. But, correct me if I’m wrong, Web IDE is currently being replaced by SAP Business Application Studio (BAS).
Workbench
UI Design Guidelines
SAPUI5 is at first User Interface technology. Creating working SAPUI5 application is one thing. Following UI Guidelines is another. Raise hands who is developer and has any UI/UX course and/or read complete Fiori Design Guidelines and knows them?
This is almost a job for UI/UX designer to validate newly created apps. But I doubt that most customers companies have/use one for SAP development.
UI Design
Frontend vs. Backend? Full-stack!
Could we split the job to two jobs? We could. But when I am following the SAP developer jobs trend and talks. It seems the way to go is mostly full-stack.
Other criticism / random thoughts
- Hard to customize UI – there are lot of nice components to use. But combining them together and creating more complex, customized solution – according to user idea or requirements – is difficult.
- Learning sources over the internet – old / deprecated approaches, various quality… To be fair, this is valid for ABAP and basically any other topic too. But it does not make starting with SAPUI5 easy.
- Doubt whether this frontend technology is “it”. Web Dynpro I am looking at you. Yes I know. Nothing in IT world is permanent. Technologies come and go. Recently maybe faster then before. And I agree SAP GUI needs some alternative or “side GUI”.
- Do users like SAPUI5? I know many users do not like SAP GUI. Especially the fresh ones. This is very non developer question. It is about UX. But still I would like to know.
- Key users still need to open SAP GUI for some tasks. So we have two UIs, until at least every main user process is adjusted and fully customized to SAPUI5.
Expectations?
Maybe I find others with same opinion / experience? Or maybe I chose wrong path to learn & understand SAPUI5? Or this will be just one man’s opinion + experience blog 🙂
Some open questions for readers (but please, feel free comment about anything) :
- How was / is your learning path of SAPUI5?
- How do you like the process of developing SAPUI5 apps?
I fully agree with you. My experience is just the same.
On top of what you have described we need to add the nightmare of developing an OData provider in SEGW.
Hi,
Nice blog.
Your observation is correct. It seems people are still inclined towards using classic desktop gui instead of Fiori. I came from a full stack web development background and i found SAPUI5/Fiori to be very monolithic and slow in comparison to other frameworks(javascript based), as well as hard to customize.
When i was tasked with fiori development, i started with learning about ODATA and how it is utilized in SAP. 2nd in line was SEGW/REST API and both of them helped me a lot.
During my learning phase, i totally kept Fiori (tiles etc) aside.
In my opinion SAP WEB IDE is not a good option, but with visual code, SAPUI5 developemnt is on the right path.
I hope, i haven't offended any one. 🙂
P.S : Web Components are great & SAPUI5 requires Reactivity .
Â
EDIT: We can use Vue/React frameworks , if we want to give some pleasnatries to our colleagues.
And Yes, Full Stack is the way to go, from designing,developing & deploying using odata/rest/bsp/fiori tiles etc, all on developers platter.
In my opinion, SAPUI5 is a slow and bloated mess. While it is pleasant to look at in comparison to SAP GUI, the developer experience is abysmal. Still, we will keep using it, since customers are so hopelessly locked in that they will continue to pay for subobtimal software from a technical and user experience standpoint.
Maybe you're wrong. I look forward to a definitive answer from someone!
One thing about full-stack development. I have only one problem writing UIs - and it's that I do not have an eye for design. Or style. Or colour... For this reason, I code up to the front-end, but then our UI developers take over. However, with Fiori Elements (RAP), parts of the UI are designed at the back-end, so I'm guessing over time our roles will merge to an extent.
Â
Tomas is right:
Few more thoughts (avoiding PR marketing, even though I'm product manager at SAP):
OK, good. Thank you.
Nice blog
I completely agree with you, Buryanek! SAPUI5 is confusing and unstable.
I agree with your observations! Great blog, I was happy to go through the hassle of logging on so I could leave my comment and give this blog post a thumbs-up! (Not sure why SAP makes it so hard to comment on a blog post, but that’s another topic.)
Thank you (and others) for commenting and adding your opinion / experience!
Hi Tomas,
Thanks for this post!
I agree with you in general!
I'm working hard at moment to transform my mindset to a fullstack perspective.
Hi Tomas,
A nice summary, I understand exactly what you mean. I stumbled across ABAP2UI5 some time ago. I think this could be something for you.
https://blogs.sap.com/2023/02/22/abap2ui5-development-of-ui5-apps-in-pure-abap-1-3/
Hello Viktor,
thank you for mentioning ABAP2UI5 (GitHub link). I know about it, tried it few times and I like it a lot!
I see that since the last time I checked, it now also supports the integration to Fiori launchpad + other features!
It might be a valid "replacement" of the SAPUI5 frontend development for us ABAP Developers 🙂
Is there someone who already tried to use ABAP2UI5 for real scenarios / business requirements as a replacement of regular SAPUI5 app? Integrated in Fiori etc.. ?
Thank you Thomas for sharing your experience. Beside ABAP2UI5, there is another approach of building cloud/web applications, with Fiori or other styling, some ABAP developers like.
It is focused on radical simplification without compromising capabilities and results in low-code by design. ABAP developers expose the ABAP logic, like the UI will be built with ABAP and ambitious ABAP developers can with not much efforts build also the cloud/web UI on top, with ui framework of choice.
There are no "magic" and black-box components, standing on developers way, just the plain functional and visual logic at each level, with very little code.
Beside the example, I am just preparing another blog and info session for next week and look for feedback, also critical 🙂
In this concept, the "full-stack shock" is reduced because the ABAP programming model and skills are propagated to web, in one intriguing way.Â
Â
Thank you Srdjan for sharing an another approach and examples on GitHub!
I am seeing more and more of low-code in SAP development.
Looking forward to explore it and get an experience + opinion about it.
Tomas, thank you for this candid and thoughtful blog post. I suspect you've clearly written what many ABAP developers are thinking.
I try to keep an open mind but some things you just look at and come to conclusion "hell no, I'm not getting into this". I'm still proud that I wisely skipped the whole Web Dynpro thing. Yikes.
Back in 2020, I had "learn more about Fiori and front-end development" on my annual goal list. It didn't materialize and since then, I dropped that altogether for the following reasons.
In general, I think it's perfectly fine if someone decides to focus on one area of development. To be honest, the true full stack in SAP is not really achievable because the scope is so big. Some people think that learning CDS views and SAPUI5 qualifies as "full stack" of SAP development. Maybe at some point it will be the case. But ABAPers are still expected to know everything SAP created in 50 years, starting from SAPScript through ABAP Cloud.
Obligatory pitch: come see Paul Modderman and myself at ASUG Tech Connect where we will be talking exactly about these subjects. 🙂
P.S. Did y'all know there was a UI guide for SAP GUI? I've seen it elsewhere but it was something like this one.
Hello Jelena,
thank you very much for sharing your thoughts & experience with learning SAPUI5!
I hope job market will allow us to be "just" backend expert developers without perfect SAPUI5 web development skills. But it is nice that you are mentioning we should try explore all other areas like JS, React, AppGyver, Fiori Elements etc. Learning never ends 🙂
P.S. I remember I stumbled upon and read this (or similar) SAP GUI UI guide back then when I was learning SAP GUI development 🙂
here updated version, for one internal presentation tomorrow https://blogs.sap.com/2023/10/12/powerful-web-applications-with-old-and-new-abap-systems/