Skip to content

Commit 5983e57

Browse files
authored
Create sap.md
1 parent 297dcd3 commit 5983e57

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

docs/advanced/technical/sap.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# abap2UI5 vs SAP UI5 & RAP
2+
3+
This page compares **abap2UI5** with SAP's typical UI development approaches:
4+
- **UI5 Freestyle apps**
5+
- **RAP (Fiori Elements)**
6+
7+
The focus is on architecture, development workflow, flexibility, and deployment.
8+
9+
## Comparison: abap2UI5 vs UI5 Freestyle
10+
11+
| Concept | abap2UI5 | UI5 Freestyle |
12+
|---------------------------|--------------------------------------------------------|--------------------------------------------------------------|
13+
| **UI Rendering** | ABAP generates UI5 XML Views, browser renders UI | UI5 XML Views created & rendered in frontend (WebIDE/BAS) |
14+
| **Frontend knowledge** | Frontend does not know application state or flow | Full application logic in frontend JS Controllers |
15+
| **Interactivity** | Events sent to ABAP backend via AJAX | Events handled in frontend, backend provides data via OData |
16+
| **State Management** | Managed in ABAP, Drafts emulate frontend state | State managed in frontend models, backend only persists data |
17+
| **APIs required?** | Generic HTTP handler, no OData/CDS needed | Requires OData Service (SEGW / CAP) |
18+
| **Flexibility** | Full runtime control of Views, Models, Logic in ABAP | High flexibility in frontend, but complex coordination |
19+
| **Frontend Artifacts** | No BSP, index.html is stored in ABAP source code | BSP App or UI5 repository deployment required |
20+
| **Development Workflow** | Pure ABAP, deploy by class activation | Separate frontend & backend development & deployment |
21+
| **Versioning & Deployment**| Single abapGit project, backend-only transports | Frontend and backend transported separately |
22+
23+
> **Summary:**
24+
Compared to UI5 Freestyle, abap2UI5 eliminates the need for separate frontend apps, OData services, and JavaScript controllers — enabling faster development cycles with a pure ABAP approach while keeping UI5's capabilities.
25+
26+
## Comparison: abap2UI5 vs RAP (Fiori Elements)
27+
28+
| Concept | abap2UI5 | RAP (Fiori Elements) |
29+
|---------------------------|--------------------------------------------------------|--------------------------------------------------------------|
30+
| **UI Rendering** | UI5 XML Views generated dynamically in ABAP | UI generated from CDS annotations & templates |
31+
| **Frontend knowledge** | Frontend renders server-provided Views & Data, no logic | Frontend uses annotations, limited runtime flexibility |
32+
| **Interactivity** | Events trigger AJAX requests to backend | Interactions call OData services defined via CDS & RAP classes |
33+
| **State Management** | ABAP-driven state & drafts simulate statefulness | RAP framework handles drafts & state abstraction |
34+
| **APIs required?** | No OData/CDS needed, simple generic HTTP handler | Requires typed OData Services, CDS Views |
35+
| **Flexibility** | Full control of View, Model, Logic in ABAP, runtime changes possible | High structure, runtime changes limited by RAP framework |
36+
| **Frontend Artifacts** | No separate UI5 deployment, index.html in ABAP code | Generated UI5 app artifacts, deployment required |
37+
| **Development Workflow** | Pure ABAP, deploy via class activation | CDS, OData, UI5 artifacts developed & transported separately |
38+
| **Versioning & Deployment**| Single abapGit project, cloud & on-prem compatible | Separate transport of backend & frontend artifacts |
39+
40+
> **Summary:**
41+
While RAP enforces structured development through annotations, OData, and CDS artifacts, abap2UI5 offers more runtime flexibility and simpler development by avoiding these layers and keeping everything within ABAP.
42+
43+
## Conclusion
44+
45+
abap2UI5 provides an alternative to traditional SAP UI development approaches like UI5 Freestyle and RAP.
46+
47+
Compared to UI5 Freestyle:
48+
- It eliminates the need for separate frontend apps, OData services, and JavaScript-heavy controllers.
49+
- All UI logic stays in ABAP, simplifying development and deployment.
50+
51+
Compared to RAP:
52+
- abap2UI5 offers more runtime flexibility by avoiding rigid annotations and typed services.
53+
- It reduces backend artifacts and allows dynamic View and Model generation in ABAP.
54+
55+
While RAP and Freestyle are great for structured, large-scale projects, abap2UI5 is ideal for:
56+
- Lightweight apps
57+
- Prototyping
58+
- Developer tools
59+
- Scenarios where flexibility and simplicity are key
60+
61+
With its pure ABAP approach and seamless abapGit integration, abap2UI5 enables rapid UI5 development — fully backend-driven, yet fully UI5-compatible.
62+
63+
## Further Reading
64+
65+
- [abap2UI5 GitHub Repository](https://github.com/abap2UI5/abap2UI5)
66+
- [SAPUI5 Freestyle App Development Guide](https://sapui5.hana.ondemand.com/)
67+
- [RAP (ABAP RESTful Application Programming Model)](https://help.sap.com/viewer/product/ABAP_RESTFUL_APPLICATION_PROGRAMMING_MODEL/latest/en-US)
68+
- [Fiori Elements Overview](https://experience.sap.com/fiori-design-web/floorplans/)

0 commit comments

Comments
 (0)