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/dx.md
+11-18Lines changed: 11 additions & 18 deletions
Original file line number
Diff line number
Diff line change
@@ -2,8 +2,8 @@
2
2
3
3
_abap2UI5 - A Developer-Centric Approach_
4
4
5
-
abap2UI5 was born from the everyday experience of ABAP developers. It tackles common challenges like deployment, caching, debugging, and tooling — while keeping the coding style close to familiar ABAP and SAP GUI patterns such as selection screens and ALV. The goal: to make working with abap2UI5 as familiar and intuitive as possible for ABAPers. This page takes a closer look at some of the key influences of the framework.
6
-
´
5
+
abap2UI5 was created from the everyday experiences of ABAP developers. It addresses common challenges in the development process — including deployment, caching, debugging, and tooling — while preserving a coding style that stays close to familiar ABAP and SAP GUI patterns such as selection screens and ALV. The goal is to make working with abap2UI5 as familiar and intuitive as possible for ABAPers. This page takes a closer look at some of the key influences behind the framework.
6
+
7
7
### Simple Output with IF_OO_ADT_CLASSRUN
8
8
9
9
One of the most fundamental development tasks is outputting data. In ABAP, the quickest way to do this is with the `if_oo_adt_classrun` interface. It provides a simple, class-based entry point for outputting data directly in ADT:
@@ -20,7 +20,6 @@ CLASS zcl_app_adt IMPLEMENTATION.
20
20
ENDMETHOD.
21
21
ENDCLASS.
22
22
```
23
-
24
23
Why this is great for developers:
25
24
- Single-class design: quick to create and easy to debug
26
25
- Minimal boilerplate
@@ -39,7 +38,7 @@ CLASS zcl_app_ui5 IMPLEMENTATION.
39
38
ENDMETHOD.
40
39
ENDCLASS.
41
40
```
42
-
What abap2UI5 adds is the ability to run in the browser without ADT, using a UI5 frontend that fully adheres to SAP Fiori design guidelines — and is ready to be shown to your consultant colleagues right away.
41
+
What abap2UI5 adds is the ability to run in the browser without ADT, using a UI5 frontend that fully adheres to SAP Fiori design guidelines — and is ready to be shown to your colleagues right away.
43
42
44
43
### Classic Input Handling with Selection Screens
45
44
@@ -56,7 +55,7 @@ Why this is great for developers:
56
55
- Built-in input handling and event processing
57
56
- Fullstack behavior with no setup
58
57
59
-
abap2UI5 mirrors this classic selection screen behavior in the browser. Use Z2UI5_CL_XML_VIEW to define simple views and exchange data with the client using _bind_edit methods:
58
+
abap2UI5 mirrors this classic selection screen behavior in the browser. Use Z2UI5_CL_XML_VIEW to define simple views and exchange data with the _bind_edit method:
60
59
61
60
```abap
62
61
CLASS zcl_app_input DEFINITION PUBLIC CREATE PUBLIC.
@@ -81,7 +80,7 @@ CLASS zcl_app_input IMPLEMENTATION.
81
80
ENDMETHOD.
82
81
ENDCLASS.
83
82
```
84
-
Easy to test: reload the page, enter input, and press the button — all within a single class and without any external UI tooling.
83
+
Additionally, you can test code changes instantly — just reload the page, enter input, and press the button — all within a single class and without any external UI tooling.
85
84
86
85
### ALV-Style Table Output in the Browser
87
86
@@ -104,11 +103,11 @@ go_salv->display( ).
104
103
```
105
104
106
105
Why this is great for developers:
107
-
- Generates full UI from internal tables
108
-
- No external annotationsor CDS needed
106
+
- Generates a full UI from internal tables
107
+
- No external annotations, CDS views, or DDIC artifacts required
109
108
- Ideal for admin tools and quick overviews
110
109
111
-
abap2UI5 follows a similar pattern. Just bind the internal table to a UI5 table control — no dictionary artifacts or design-time definitions needed:
110
+
abap2UI5 follows a similar pattern. Just bind the internal table to a UI5 table control:
112
111
113
112
```abap
114
113
CLASS zcl_app_alv DEFINITION PUBLIC.
@@ -143,8 +142,7 @@ CLASS zcl_app_alv IMPLEMENTATION.
143
142
ENDCLASS.
144
143
```
145
144
146
-
From here, it's just a small step to generate everything dynamically using RTTI — similar to modern SALV techniques (but still old now). And unlike SALV, this runs in the browser.
147
-
145
+
From here, it's just a small step to generate everything dynamically using RTTI — similar to modern SALV techniques, but running directly in the browser.
148
146
149
147
### Classic Popups, Modern Events
150
148
@@ -213,36 +211,31 @@ Beyond the code snippets shown above, the Over-the-Wire approach of abap2UI5 —
213
211
##### Zero-Setup Deployment
214
212
215
213
In abap2UI5, apps are just ABAP classes — deployment is as simple as activating the class. Transport to production happens via the standard transport system familiar from traditional ABAP development:
216
-
217
214
- No separate frontend build or deployment pipelines
218
215
- Code changes can be instantly tested by developers or consultants
219
-
- Every app is abapGit-compatible — no separate artifacts required
216
+
- Every app is abapGit-compatible — no separate frontend artifacts required
220
217
221
218
##### No Caching Issues
222
219
223
-
A common frustration in frontend development is caching — especially with BSP or Fiori Elements apps. You make a change, but nothing happens due to cached files. abap2UI5 avoids this problem entirely, as the UI is dynamically generated on every request:
224
-
220
+
A common frustration in frontend development is caching — especially with BSP or Fiori Elements apps. You make a change, but nothing happens due to cached files, unless you manually trigger several cache invalidation transactions in the SAP backend. abap2UI5 avoids this issue entirely, as the UI is dynamically generated on every request:
225
221
- No need to clear browser or server caches
226
222
- Fast development iteration — edit the code, refresh the browser, see results
227
223
228
224
##### Develop in Any ABAP IDE
229
225
230
226
There's often debate about which IDE to use — but why not let everyone choose the tool they prefer? abap2UI5 apps are developed entirely in ABAP. You can work in ADT, rely on the time-tested SE80, or even explore integration with VS Code:
231
-
232
227
- No additional setup required — works in any IDE
233
228
- Ideal for teams with different tooling preferences
234
229
235
230
##### Pure ABAP Debugging
236
231
237
232
Frontend-heavy applications often require switching between browser dev tools, JavaScript logs, and network inspectors. With abap2UI5, the UI is pure ABAP — no JavaScript, no additional layers. Just set a breakpoint in your ABAP method:
238
-
239
233
- Backend-only debugging with the classic SE80 debugger or ADT
240
234
- No need for browser debugging tools
241
235
242
236
##### Easy Code Sharing
243
237
244
238
Sharing your apps or code is simple. Since abap2UI5 apps are standard ABAP classes, they can be shared via abapGit or even copy-pasted. No configuration files, manifests, or build tools required:
0 commit comments