What is it?
- It is a frontend design pattern where the backend controls what to show and where in the UI.
- It has only one objective: to shift as much business logic to the backend as possible.
- It's a long-term development decision.
- It's not a new way to write.
- gets you out of the release cycle dependency. You iterate faster, you ship faster. You don't have to release cycles for every new feature that you build.
- rollout release cycle: dev testing, testing approval, QA, etc, and then only goes to the Play Store or app store. At least it takes 2 weeks to roll out the feature for all users.
- To build and ship faster, you need to have a server-driven ui.
- Developers decide how much of the business logic they want on the server.
- bring you close to a full-fledged design system.
Granular components: ask your designers what to split. Split things that are used by several different components.
design philosophy:
- atomic design.
- an existing design system and a component library.
- demand-driven schema design approach.
development workflow:
- Synchronisation between the backend and frontend on the component.
- a sliding scale of how much business logic is moved to the server.
- two-phase rendering.
Config-driven ui :
- Config-driven UI is also called a back-end-driven UI or dynamic UI layout.
- Using config-driven UI, you can develop customizable and Dynamic user interfaces.
- Display the Layout & Data based on the data that comes from the server.
- Data is dynamic, which means every user might get different Data.
- The config JSON will decide how my UI should look.
How?
Research:
- What type of app are you building?
- What type of UI layout design do you want?
- UI should sync with the back-end.