abap2UI5 mobile shell
A generic native iOS and Android shell that loads one abap2UI5 endpoint in a WebView and hands the ABAP app the phone's scanner, push token and biometric check through a JavaScript bridge.
An abap2UI5abap2UI5One ABAP class implementing z2ui5_if_app is the whole app: the browser loads a generic UI5 shell once, and every interaction after that is an HTTP roundtrip back into ABAP.community org, abap app runs in a browser, which puts the device features of a phone out of reach. This repository holds two shells, Android in Kotlin and iOS in SwiftUI with WKWebView, that load one configured URL, render it with the regular abap2UI5 frontendabap2UI5 frontendThe abap2UI5 frontend as installable ABAP artefacts: per system type one generated branch carrying the BSP or HTTP service with its handler, pulled into the system with abapGit.community org, abap and inject bridge/native-bridge.js, the shim both bundle byte-identical, so an ABAP app calls window.abap2ui5Native for getDeviceInfo, showToast, scanBarcode, getPushToken and biometricConfirm, each returning a promise. The shell holds no app-specific code and knows only the endpoint, so a change to an app never needs an app-store release, and the bridge answers the main frame of the configured origin alone. Beside the shells sit the sample app zcl_test_mobile_poc, which scans through the framework control z2ui5.cc.NativeBridgeScan, and a push client for SAP Mobile ServicesSAP Mobile ServicesThe SAP BTP service behind native and cross-platform mobile apps over enterprise data: authentication and security policies, offline OData sync, push, MDK app updates and usage reporting.sap official, btp that is copied into an ABAP Cloud system by hand.
Facts
Where it sits
Who is behind it
In the atlas: maintains 18@abap2UI5maintaineroblomov-devContributes to this
In the atlas: maintains 4, contributes to 44@oblomov-dev1 contributor
What it declares
Every artifact
- Type
- Desktop app
- Origin
- By a community org
As a desktop app
- Runs on
- does not say
- Distributed through
- does not say
Connections
Native iOS or Android apps over business data
UI5 apps written as one ABAP class, rendered by a generic shell
SAP BTP service for native and cross-platform mobile apps
UI5 apps written as one ABAP class, rendered by a generic shell
Git client written in ABAP that runs inside the system
SAP BTP service for native and cross-platform mobile apps
UI5 apps written as one ABAP class, rendered by a generic shell
Download
README
quoted from abap2UI5/mobile-shell under MIT, readmobile-shell
PoC: running abap2UI5 apps on iOS and Android in a generic native shell built for the SAP mobile stack (SAP Mobile Services + SAP BTP SDK), with the UI rendered by the regular abap2UI5 frontend in a WebView and native device features exposed through a small JS bridge. This is a source repository in the abap2UI5 ecosystem, for developers who want to try abap2UI5 apps on a phone. The code is edited here and checked by CI. It is a proof of concept with no releases, not a product.
Start here: PLAN.md — goals, architecture, phases, risks.
| Directory | Content |
|---|---|
bridge/ | Bridge contract v1 + shared JS shim (source of truth) + contract tests |
android/ | Android shell — WebView, ZXing scan, QR onboarding, app lock, FCM push, managed config |
ios/ | iOS shell — WKWebView, VisionKit scan, app lock, APNs push, managed config (XcodeGen) |
abap/ | src/: sample app (abapGit-installable, scans through z2ui5.cc.NativeBridgeScan); push/: Mobile Services push client, installed by hand (ABAP Cloud only) |
docs/ | Distribution & hardening, device test runbook, detailed open-work plan |
Status: Phases 0–4 implemented in PoC scope (see the status table in PLAN.md). What still needs external accounts: the BTP SDK onboarding flow (SAP repositories), and push activation (Firebase project, APNs key, Mobile Services credentials). Online-only by design: abap2UI5 is a server-roundtrip architecture, offline sync is explicitly out of scope.
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
Contributors
History in the atlas
- First seen.
For your agent
- Ref
artifact:abap2ui5-mobile-shell- JSON
- /artifacts/abap2ui5-mobile-shell.json
- MCP
- Connecting an agent