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
<em>Freestyle - ABAP Stack delivers only Data</em>
58
+
<em>UI5 Freestyle - UI is built on the client; backend delivers only Data via OData</em>
59
59
</p>
60
60
61
61
Since UI5 is a client-side rendering framework, the HTML output cannot be generated on the backend and sent to the client. Instead, HTML is produced in the browser using the UI5 framework and its built-in render.
@@ -67,7 +67,7 @@ Fortunately, UI5 has a defining characteristic that allows us to shift part of t
<em>abap2UI5 – The browser renders HTML based on XML View and data fully delivered by the backend</em>
80
+
<em>abap2UI5 – HTML rendered in browser based on XML View and Data, both send from the Backend</em>
81
81
</p>
82
82
83
83
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. This raises a new question — how is user interaction handled in this architecture?
@@ -91,23 +91,23 @@ When the user triggers an event (e.g., a button press), the event information is
<em>UI5 Freestyle – multiple frontend artifacts per app</em>
102
+
<em>UI5 Freestyle – Each application requires its own set of deployed UI artifac</em>
103
103
</p>
104
104
105
105
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:
<em>abap2UI5 – One static frontend, all views and logic in ABAP</em>
110
+
<em>abap2UI5 – Shared shell app, each application is represented by backend ABAP class</em>
111
111
</p>
112
112
113
113
As a result, every UI5 app becomes a complete ABAP backend project managed through abapGit—eliminating the need for separate frontend deployments entirely.
@@ -123,15 +123,15 @@ Let’s take a closer look at a key UI5 feature: the concept of view models. In
<em>UI5 – View model bindings for visibility and state</em>
126
+
<em>UI5 View Model Concept – UI control properties are bound to View Model attributes</em>
127
127
</p>
128
128
129
129
This leads to the second key architectural shift in abap2UI5: Instead of binding to OData, abap2UI5 assembles a custom view model entirely in the backend. This model is constructed dynamically after each request — tailored specifically to the current view — and is sent together with the view definition to the frontend:
<em>abap2UI5 – View and model are delivered together by the backend</em>
134
+
<em>abap2UI5 – Backend delivers an XML View and its specifically tailored View Model in a single response</em>
135
135
</p>
136
136
137
137
This means CDS Views and OData services are no longer consumed directly on the frontend. Instead, the complete UI state — both view and model — is sent from the backend in a single response. Any user changes in the UI are then returned to the backend via a lightweight AJAX call containing the updated view model — no OData routing involved.
@@ -181,7 +181,7 @@ This architecture enables a clean and unified application model:
Frontend and backend remain tightly coupled — not through OData contracts, but through plain ABAP logic and JSON — resulting in a fully backend-driven, editable UI flow.
@@ -224,7 +224,7 @@ The illustration below shows the difference between a full re-render and a targe
<em>You can see the difference: partly vs. not</em>
227
+
<em>Only relevant DOM parts are updated via model binding, preserving UI state</em>
228
228
</p>
229
229
230
230
Thanks to UI5’s powerful data binding mechanism, only the modified DOM elements are updated. This preserves the current UI state — such as input focus — and ensures a smooth, uninterrupted user experience. The XML View and View Model concept make UI5 a perfect team player for the UI5 Over-the-Wire approach combining the strengths of ABAP and UI5 — without the complexity of full client-side re-renders.
0 commit comments