服务器驱动的UI如何保持我们的商店新鲜

In a world where app updates can be a lengthy process, Duolingo's new usage of server-driven UI (SDUI) is a game-changer. By handling UI from the backend, we've sped up development and opened doors for quick experiments and consistent user experiences. Keep reading to find out how we did it. And if you want to work at a place that takes engineering innovation seriously, we’re hiring.  

在一个应用程序更新可能是一个漫长过程的世界里,Duolingo 新使用的服务器驱动 UI (SDUI) 是一个改变游戏规则的创新。通过从后端处理 UI,我们加快了开发速度,并为快速实验和一致的用户体验打开了大门。继续阅读以了解我们是如何做到的。如果你想在一个重视工程创新的地方工作,我们正在招聘。

Background and motivation

背景和动机

A GIF of scrolling through the shop and clicking on different items.

At first glance, this screenshot of the shop may look like a typical Duolingo screen. However rather than being rendered by standard client code, it’s delivered via server driven UI from the backend, which allows us to streamline the development process.

乍一看,这张商店的截图可能看起来像一个典型的Duolingo屏幕。然而,它不是由标准客户端代码渲染的,而是通过后端的服务器驱动UI交付的,这使我们能够简化开发过程。

Testing assumptions is a key operating principle at Duolingo. Consider our shop interface: we hypothesized that transforming the inventory section into a scrollable carousel would enhance user interaction by offering a cleaner UX with more spacious items and flexibility for introducing new items.

在Duolingo,测试假设是一个关键的操作原则。考虑我们的商店界面:我们假设将库存部分转换为可滚动的轮播图将通过提供更清晰的用户体验、更宽敞的项目和引入新项目的灵活性来增强用户互动。

Images of two versions of the shop, "control" and "experiment." In the control version, it's an inventory with three items side-by-side in a row. In the experiment version, it's an inventory of three items in a scrollable carousel.

Traditionally, UI updates involve a lengthy process: a developer implements changes, the app is submitted to the App/Play Store, and upon approval, the new version is released. Even minor updates can take a week minimum for users to see. If a bug, like incorrect item width in the carousel inventory example, is found post-release, the fix requires another full week. Dealing with the release cycle is two-fold because of separate implementations on each client. 

传统上,UI 更新涉及一个漫长的过程:开发人员实施更改,应用程序提交到 App/Play Store,并在批准后发布新版本。即使是小的更新,用户也需要至少一周的时间才能看到。如果在发布后发现了一个错误,比如在轮播库存示例中项目宽度不正确,那么修复需要再花费一整周的时间。处理发布周期是双重的,因为每个客户端都有单独的实现。 

This standard process has pain points: the release cycle slows experimentation, users on different versions have varied ex...

开通本站会员,查看完整译文。

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.139.0. UTC+08:00, 2024-12-23 03:20
浙ICP备14020137号-1 $Map of visitor$