SYSTEM Cited by 1 source
Zalando Mobile Framework SDK¶
The Zalando Mobile Framework SDK is Zalando's native library/package (iOS + Android) that wraps the entire React Native stack behind a simple-to-use interface and is consumed by Zalando's legacy native app — the mobile-side half of Zalando's React Native as a package architecture (Source: sources/2025-10-02-zalando-accelerating-mobile-app-development-with-rendering-engine-and-react-native).
What it exposes¶
On iOS (Swift):
public class ReactNativeViewFactory {
public func initialize()
public func loadView(
_ deepLinkProps: DeepLinkProperties,
launchOptions: [AnyHashable: Any]? = nil,
) -> UIView
}
On Android (Kotlin):
public interface ReactNativeViewFactory {
public fun initialize()
public fun createViewHostedInActivity(
activity: FragmentActivity,
screenParameters: ReactNativeScreenParameters,
): View
public fun createViewHostedInFragment(
fragment: Fragment,
screenParameters: ReactNativeScreenParameters,
): View
}
The legacy app calls initialize() at startup and
loadView / createViewHostedIn... to mount an RN screen as
a native UIView / View — the same way it consumes any
other native framework. It does not link RN at source; it
links the SDK.
Role in the integration architecture¶
┌─────────────────────────────┐
│ Entry Point (npm package) │
│ React Root + init logic │
└───────────────┬─────────────┘
│ consumed by
┌──────────┴──────────┐
▼ ▼
┌──────────────┐ ┌─────────────────────┐
│ Developer │ │ Framework SDK │
│ App (RN, │ │ (native iOS/Android)│
│ standalone) │ │ hides RN stack │
└──────────────┘ └──────────┬──────────┘
│ linked by
▼
┌────────────────────┐
│ Legacy Native App │
│ (iOS + Android) │
└────────────────────┘
Consumer apps get a native-framework-shaped API, not an RN-shaped API — they don't need to know RN exists behind it. This is the isolation property Zalando's integration depends on:
- Legacy native devs can integrate RN screens without learning RN.
- RN team can swap the JS bundle, change the Entry Point, or adjust the RN runtime version behind the SDK's facade without changing consumer code.
Interop with the legacy app¶
Bidirectional communication (e.g. RN wishlist-add must update the native app's badge counter) uses the Turbo Module + DI contract pattern: TypeScript Spec + Swift protocol + Kotlin interface + DI injection point.
Seen in¶
- sources/2025-10-02-zalando-accelerating-mobile-app-development-with-rendering-engine-and-react-native — canonical first and only source. Zalando's native-side wrapper for the RN stack, consumed by the legacy Zalando mobile app to progressively mount RN-based screens (Discovery Feed and others) alongside legacy native screens.
Related¶
- systems/react-native
- systems/callstack-react-native-brownfield — the open-source generalisation.
- systems/zalando-mobile-developer-app — paired greenfield RN consumer of the same Entry Point.
- concepts/react-native-as-a-package
- patterns/rn-as-consumable-npm-entry-point
- patterns/turbo-module-plus-di-contract-for-native-interop