Mobile · SAP identity & connectivity

Flutter & React Native on SAP — cross-platform mobile that respects SAP identity

8 min readFlutter / React NativeXSUAA + IASBTP Connectivity
TL;DR

The question is rarely “Flutter or React Native or the SAP iOS SDK?” in the abstract. It is “given our team and our backend, what ships, stays shipped, and stays secure?” For many organizations, the answer is a cross-platform framework on the device and an opinionated BTP spine on the server side. Done right, cross-platform apps on SAP are first-class citizens of the landscape — not second-class clients bolted on with custom shortcuts.

Why this question keeps coming up

SAP’s native mobile tooling — the iOS SDK, the Mobile Development Kit — is mature and purpose-built for certain kinds of teams and certain kinds of apps. It is an excellent answer when it fits. It does not always fit.

There are three recurring reasons organizations look at Flutter or React Native for SAP-backed apps instead:

None of these are arguments against SAP’s native mobile tools. They are arguments for taking the “framework” decision seriously instead of inheriting it from a vendor brochure.

The real question is on the server, not the client

Most debate about mobile on SAP focuses on the device. That is the wrong place to spend the argument. A cross-platform app works well with SAP when the server-side architecture respects SAP’s identity, trust, and connectivity model. If the backend is right, the framework on the device is almost an implementation detail.

1. Authentication through IAS, authorization through XSUAA

The mobile app should authenticate against SAP Identity Authentication Service (IAS), using the same identities and MFA policies the rest of the SAP landscape uses. The tokens that backend services actually validate are issued by XSUAA. The flow is standard OAuth2 Authorization Code with PKCE — no bespoke shortcuts, no static secrets on the device, no custom webviews that break as platforms tighten their rules.

This is framework-agnostic. Both Flutter and React Native have mature libraries for exactly this flow. What matters is not which library — it is that the trust chain (IAS as IdP, XSUAA as resource-server authorizer, role collections as the authorization model) is respected end-to-end.

2. A thin BFF on CAP between the app and SAP

The single highest-leverage decision in this architecture is to put a small backend-for-frontend, usually on CAP, between the mobile app and SAP’s internal services. The BFF’s only job is to expose a clean, mobile-shaped API.

Skipping the BFF is the most common mistake in cross-platform SAP mobile projects. Without it, the app ends up speaking directly to half a dozen OData services, each with their own shape, versioning, and failure modes. Every mobile release becomes tightly coupled to every SAP backend change. With a BFF, the mobile app talks to one versioned, documented API.

3. On-premise reachability through BTP Connectivity and Cloud Connector

In most landscapes, not every backend service lives on BTP. Some services remain on-premise behind the corporate firewall. The correct answer is not to expose those services publicly to make the mobile path shorter. It is to route the BFF’s calls through SAP BTP Destinations and Cloud Connector.

4. Integration Suite in front of external systems

When the app needs data from non-SAP systems — CRM, scheduling, partner APIs — those flows should go through Integration Suite rather than the BFF calling external systems directly. When a backend system is swapped out two years later, the mobile app does not even notice.

5. Offline that is honest about being offline

Offline is where most mobile-SAP projects quietly fail. Real offline is not “we sync when you open the app on good wifi.” It is: a user completes work with no signal, captures photos, signs forms, and the data appears correctly in SAP when connectivity returns — including when multiple devices edited overlapping data.

The practical shape: a local queue on the device for outbound changes, a conflict strategy that is server-authoritative for structural fields and client-authoritative for user-edited content, and — most importantly — a UI that is transparent with users about what has synced, what has not, and what conflicted. The best offline UX is honest offline UX.

Where Flutter and React Native each fit

Either way, the SAP-side architecture is the same. The framework choice changes the device-side code. It does not change how the app authenticates, how it talks to SAP, or how it behaves offline.

Why this approach is underrated

There is a narrative that “mobile on SAP” implies using SAP’s mobile tools. That narrative is healthy when those tools fit the team and the use case. It is unhealthy when it blocks organizations from shipping, or forces a hiring cycle around a stack the team does not already own.

The architecture above does not route around SAP. It routes through SAP correctly. The device-side framework becomes a consumer of a first-class SAP backend, which is how enterprise mobile should work regardless of who wrote the framework.

Frameworkfollows team, not brochure
BFFis the highest-leverage decision
Honest offlinebeats magic offline, every time

Key takeaways

Flutter and React Native can be excellent citizens of an SAP landscape — cleanly, securely, at enterprise scale. What makes that true is not the framework. It is the BTP spine you build behind it.

Planning a cross-platform app on SAP?

We run short architecture reviews that tell you what belongs on the device, what belongs in a BFF, and where Integration Suite fits.

Book an architecture review

Schedule a free call