mobius Mobius 2019 СПб (22.05.2019 — 23.05.2019)

AppCraft: Faster than a speeding release train


Learn how Zalando is combining GraphQL query generation, server-driven UI, and reactive programming patterns to iterate more quickly on its flagship mobile apps.

Комментарий Программного комитета:

Бодрый докладчик, демонстрирующий интересный подход к созданию динамического UI на стороне сервера. Это позволяет разгрузить мобильных разработчиков от занятия рутинными задачами — а ведь рутину не любит никто. К тому же ребята использовали несколько библиотек (Litho, GraphQL), которые не так часто освещаются на российских мобильных конфах.

At Zalando, we have a fairly small engineering team behind our flagship mobile app, with a constant stream of great ideas coming from product owners. A three-week release train isn’t always fast enough to deploy changes such as UI tweaks, new A/B tests, and partner campaigns. This limitation is exacerbated by the fact that many users don’t install app updates immediately.

We first looked at React Native & CodePush as a way to deploy app updates more quickly. Spoiler alert: integrating React Native with an existing app is hard and you can’t just wave a magic wand to turn any JavaScript engineer into a mobile developer.

Since last summer, we’ve been building AppCraft, the internal name for our server-driven UI platform. AppCraft rethinks the traditional mobile-client-meets-REST-API architecture by moving most of the malleable logic to the server, reducing the client to what is essentially a domain-specific browser. This enables rapid iteration on app features by non-technical business people; freeing up our mobile engineering resources for more strategic (and let’s face it — more interesting) tasks.

How does this even work? What did we learn along the way? In this talk, Andy will tell you and show you.