abap2UI5 Playground starting…

abap2UI5 Playground

ABAP on the left, the app it produces on the right, and nothing in between but the browser. No server, no SAP system, no backend of any kind — the page you are looking at is a static file, and everything below happens in this tab.

How it works

  1. The abap2UI5 sources are downported and translated to JavaScript at build time, and bundled with the ABAP standard library into one module this page loads.
  2. An in-memory SQLite, compiled to WebAssembly, takes the place of the database abap2UI5 keeps its drafts in.
  3. abaplint parses the real framework sources so the editor can check your class against them, and compiles only your classes when you press Run — about twenty milliseconds. The abap2UI5 linter checks the view your builder chain produces against a UI5 release, which is how an icon that does not exist gets reported at all.
  4. The abap2UI5 frontend runs in an iframe and talks to its backend over a plain fetch. The playground answers that one request from the framework running in this page, so from the framework's point of view nothing changed.

Where the apps come from

The Sample dropdown above carries a handful to start from. Three sibling repositories carry the rest: Examples browses the catalogues of the first two without leaving this page, every card on their own pages has a button that opens the class right here, and what needs a real system stays where the system is:

Credits

The playground is mostly wiring. Kudos goes to the projects it is wired out of — and they are worth a look on their own:

Read their code, star them, open the issue you ran into, send the pull request. That is the thanks that reaches an open source project. Thank you.

Where it stops

A few classes, not a package: no tables of your own, no message classes, no CDS. Nothing reaches outside the browser — no RFC, no files. Only what the transpiler implements, and only the UI5 libraries built in. Your code is kept in this browser; the app's data is not.

· source and issues · MIT

Examples