Skip to content

Commit 386d1af

Browse files
authored
Update dx.md
1 parent d152272 commit 386d1af

File tree

1 file changed

+11
-18
lines changed

1 file changed

+11
-18
lines changed

docs/technical/dx.md

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
_abap2UI5 - A Developer-Centric Approach_
44

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+
77
### Simple Output with IF_OO_ADT_CLASSRUN
88

99
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.
2020
ENDMETHOD.
2121
ENDCLASS.
2222
```
23-
2423
Why this is great for developers:
2524
- Single-class design: quick to create and easy to debug
2625
- Minimal boilerplate
@@ -39,7 +38,7 @@ CLASS zcl_app_ui5 IMPLEMENTATION.
3938
ENDMETHOD.
4039
ENDCLASS.
4140
```
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.
4342

4443
### Classic Input Handling with Selection Screens
4544

@@ -56,7 +55,7 @@ Why this is great for developers:
5655
- Built-in input handling and event processing
5756
- Fullstack behavior with no setup
5857

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:
6059

6160
```abap
6261
CLASS zcl_app_input DEFINITION PUBLIC CREATE PUBLIC.
@@ -81,7 +80,7 @@ CLASS zcl_app_input IMPLEMENTATION.
8180
ENDMETHOD.
8281
ENDCLASS.
8382
```
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.
8584

8685
### ALV-Style Table Output in the Browser
8786

@@ -104,11 +103,11 @@ go_salv->display( ).
104103
```
105104

106105
Why this is great for developers:
107-
- Generates full UI from internal tables
108-
- No external annotations or CDS needed
106+
- Generates a full UI from internal tables
107+
- No external annotations, CDS views, or DDIC artifacts required
109108
- Ideal for admin tools and quick overviews
110109

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:
112111

113112
```abap
114113
CLASS zcl_app_alv DEFINITION PUBLIC.
@@ -143,8 +142,7 @@ CLASS zcl_app_alv IMPLEMENTATION.
143142
ENDCLASS.
144143
```
145144

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.
148146

149147
### Classic Popups, Modern Events
150148

@@ -213,36 +211,31 @@ Beyond the code snippets shown above, the Over-the-Wire approach of abap2UI5 —
213211
##### Zero-Setup Deployment
214212

215213
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-
217214
- No separate frontend build or deployment pipelines
218215
- 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
220217

221218
##### No Caching Issues
222219

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:
225221
- No need to clear browser or server caches
226222
- Fast development iteration — edit the code, refresh the browser, see results
227223

228224
##### Develop in Any ABAP IDE
229225

230226
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-
232227
- No additional setup required — works in any IDE
233228
- Ideal for teams with different tooling preferences
234229

235230
##### Pure ABAP Debugging
236231

237232
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-
239233
- Backend-only debugging with the classic SE80 debugger or ADT
240234
- No need for browser debugging tools
241235

242236
##### Easy Code Sharing
243237

244238
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:
245-
246239
- Easy to clone and test other apps
247240
- Great for collaboration and code reviews
248241
- Encourages modular, reusable components

0 commit comments

Comments
 (0)