Skip to content

Commit a4d7e02

Browse files
rahulbisht25divyanshub024coderabbitai[bot]
authored
docs: Add 'What is SDUI?' documentation page (#380)
* Add SDUI documentation page * add & remove extra lines * Update docs/sdui.mdx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: Divyanshu Bhargava <[email protected]> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
1 parent bb5af9a commit a4d7e02

File tree

3 files changed

+61
-0
lines changed

3 files changed

+61
-0
lines changed

docs/assets/sdui.png

273 KB
Loading

docs/docs.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
"pages": [
2929
"introduction",
3030
"quickstart",
31+
"sdui",
3132
"cli",
3233
"project_structure"
3334
]

docs/sdui.mdx

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
title: "What is SDUI?"
3+
description: "Definition, pros and cons, and companies who have adopted it"
4+
---
5+
6+
Server-Driven UI (SDUI) is an approach where the server decides the layout and behavior of a screen, and the mobile app simply renders it. When a screen loads, the app fetches a description from the server that specifies which components to display, how to arrange them, and what actions they should perform.
7+
8+
## How is SDUI different from traditional approaches?
9+
10+
In a traditional Client-Driven UI model, the app’s UI is tightly coupled to its codebase. The client handles everything; layouts, business logic, and rendering. Any change, whether updating a button style or adding a new feature, requires modifying code, testing, and submitting a new version to the app stores. This leads to slow release cycles, limited flexibility, and poor scalability.
11+
12+
SDUI flips this model. Instead of hardcoding the UI inside the app, the server determines what the UI should look like. The client’s role is simply to render whatever the server sends.
13+
14+
A helpful analogy is how a browser renders a website. The browser doesn’t know ahead of time what the page contains; it just knows how to interpret and display HTML. Similarly, in SDUI, the app knows how to render predefined components, while the server controls which components appear and how they’re structured.
15+
16+
### How SDUI works:
17+
18+
1. The server defines the UI structure in a lightweight format (usually JSON)
19+
2. The app receives this UI schema and renders it dynamically.
20+
3. To update the UI, you simply change it on the server — the app reflects it instantly, with no app-store release required.
21+
22+
<img src="./assets/sdui.png" alt="Diagram showing the SDUI flow: server sends JSON schema, app renders widgets." />
23+
24+
### Pros:
25+
26+
- Rapid deployment without App Store delays
27+
- Reduced app size & complexity
28+
- Platform consistency & faster feature parity
29+
- Accelerated development & cost savings
30+
31+
### Cons:
32+
33+
- Higher implementation complexity (Stac makes this much easier)
34+
- Limited use cases for fully offline applications
35+
36+
## Good Use Cases
37+
38+
- **Home & Explore Sections:** dynamic carousels, promotional modules, editorial stacks
39+
- **Onboarding Flows:** reorder steps, control form elements
40+
- **Paywalls & Offers:** dynamic pricing tables, region-specific plans, time-boxed promotions
41+
- **Feature Flags & Experiments:** real-time A/B testing, targeted rollouts
42+
43+
## Companies actively building with SDUI
44+
45+
Server-Driven UI has gained significant traction in recent years. Both startups and large enterprises now use it extensively.
46+
47+
- **Netflix**
48+
- **Airbnb**
49+
- **Delivery Hero**
50+
- **Uber**
51+
- **Shopify**
52+
- **Meta**
53+
- **Spotify**
54+
- **PhonePe**
55+
56+
## Next steps
57+
58+
- Try the quick start in [Quickstart](./quickstart) to render your first server‑driven screen.
59+
- Read how Stac renders widgets in [Rendering Stac Widgets](./concepts/rendering_stac_widgets).
60+
- Explore the widget catalog under [Widgets](./widgets/).

0 commit comments

Comments
 (0)