Zalando Jul 15, 2016

Dynamic App Content: An Introduction to Truly Native Apps

Article Summary

Zalando faced an impossible triangle: daily content updates, premium native UX, and distributed teams without native experience. Their solution? Server-driven UI before it was cool.

Back in 2016, Zalando's engineering team built Truly Native Apps (TNA), a custom framework that renders JSON layouts as native components across iOS, Android, and Windows Phone. This predates many modern server-driven UI approaches and solved real production challenges at scale.

Key Takeaways

Critical Insight

Zalando built a lightweight, server-driven UI system that delivers daily content updates through native rendering across three mobile platforms without requiring JavaScript.

The tradeoffs they made versus React Native reveal important considerations for any team evaluating server-driven UI today.

About This Article

Problem

Zalando's home screen needed input from multiple teams who didn't have native development experience. They also wanted to keep a premium look while pushing out updates every week, which wasn't enough time for daily content changes.

Solution

Zalando built a declarative JSON UI language that the Flexible Layout Kit SDK could process on Android, iOS, and Windows Phone. The App Layout Service pulled content from the CMS, ads, and brand shops into different slots.

Impact

Content providers could update home screen elements every day without knowing native development or waiting for app releases. The system rendered everything natively without needing a JavaScript virtual machine.