You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/technical/concept.md
+12-10Lines changed: 12 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -52,7 +52,7 @@ Architectural Comparison:
52
52
53
53
#### How UI5 Freestyle Works
54
54
55
-
UI5 freestyle apps follow the Single Page Application (SPA) model. All UI artifacts are stored on the frontend, while the backend provides data via OData — typically based on CDS Views or custom ABAP implementations. Both rendering and logic execution take place entirely in the browser:
55
+
UI5 freestyle apps follow the Single Page Application model. All UI artifacts are stored on the frontend, while the backend provides data via OData — typically based on CDS Views or custom ABAP implementations. Both rendering and logic execution take place entirely in the browser:
@@ -64,15 +64,17 @@ Since UI5 is a client-side rendering framework, the HTML output cannot be genera
64
64
65
65
#### Sending Views from Backend
66
66
67
-
Fortunately, UI5 has a defining characteristic that allows us to shift part of the view generation to the backend. Normally, each view is defined in XML — the so-called UI5 XML View. The UI5 framework uses this XML definition, combined with data from the backend, to render HTML in the browser.
67
+
But how can we still generate SAP UI5 views from the backend?
68
+
69
+
Fortunately, UI5 has a defining characteristic that allows us to shift part of the view generation to the backend. In UI5 Freestyle apps, each view is defined in XML — the so-called UI5 XML View. The UI5 framework uses this XML definition, combined with data from the backend, to render HTML in the browser.
<em>UI5 Freestyle – HTML rendered in browser based on Frontend XML View and Backend Data</em>
73
75
</p>
74
76
75
-
abap2UI5 introduces a subtle but important shift: what if the backend also delivers the XML View?
77
+
abap2UI5 introduces now a subtle but important shift: what if the backend also delivers the XML View?
76
78
77
79
While HTML rendering still happens on the frontend, both the view definition and the corresponding data are now sent from the backend:
78
80
@@ -84,37 +86,37 @@ While HTML rendering still happens on the frontend, both the view definition and
84
86
85
87
The UI5 application remains a single-page application (SPA), but its role changes: it becomes a pure rendering engine for server-defined views and data.
86
88
87
-
How is user interaction handled in this architecture?
88
-
89
89
#### Frontend Events on the Server
90
90
91
-
To support user interaction, a minimal and static UI5 Freestyle app is delivered with the initial HTTP request. This app contains just enough logic to forward frontend events typically acts as a shell app. The interaction model is inspired by the classic PAI/PBO pattern from SAP GUI applications.
91
+
How can user interaction be handled in this architecture?
92
+
93
+
To enable user interaction, a minimal and static UI5 Freestyle app is delivered with the initial HTTP request. This app contains just enough logic to forward frontend events and typically acts as a shell application. The interaction model is inspired by the classic PAI/PBO pattern known from SAP GUI applications.
92
94
93
-
When the user triggers an event (e.g., a button press), the event information is sent to the backend, where an ABAP class determines what happens next. All logic is executed entirely in the backend:
95
+
When a user triggers an event (e.g., pressing a button), the event information is sent to the backend, where an ABAP class determines what happens next. All logic is executed entirely on the server:
<em>UI5 Freestyle – Each application requires its own set of deployed UI and App artifacts</em>
107
109
</p>
108
110
109
-
With abap2UI5, the frontend becomes a static UI5 shell shared across all applications. Views and logic are fully defined and maintained in the backend. Each app is represented by a single ABAP class that generates the view and handles the events:
111
+
With abap2UI5, the frontend becomes a static UI5 shell shared across all applications. Views and logic are fully defined and maintained in the backend. Each application is represented by a single ABAP class that generates the view and handles events:
<em>abap2UI5 – Shared shell app, each application is represented by backend ABAP classes</em>
115
117
</p>
116
118
117
-
As a result, every UI5 app becomes a complete ABAP backend project managed through abapGit—eliminating the need for separate frontend deployments entirely.
119
+
As a result, every UI5 app becomes a complete ABAP backend project managed through abapGit — eliminating the need for separate frontend deployments entirely.
0 commit comments