Technology Radar
Server-driven UI is returning to the Trial ring as we see more teams successfully shortening their path to production. By separating rendering into a generic container while providing structure and data via the server, mobile teams can bypass lengthy app store review cycles for every iteration. We’ve seen this significantly improve time to market, with JSON-based formats enabling real-time updates. While we previously cautioned against the "horrendous, overly configurable messes" that proprietary frameworks can create, the emergence of more stable patterns from companies such as Airbnb and Lyft has helped reduce complexity.
Our experience shows that the substantial investment required for a proprietary framework is now easier to justify for large-scale applications. However, it still requires a strong business case and disciplined engineering to avoid creating a "god-protocol" that becomes difficult to maintain. For teams looking to reduce client-side complexity, this approach provides a powerful way to scale across teams and synchronize logic across platforms. We recommend applying it to highly dynamic areas of an application rather than as a blanket replacement for all UI development.
服务器端驱动 UI 仍然是移动开发圈的一个热议话题,因为这项技术允许移动端开发者利用更快的变更周期,而不违反应用商店关于重新验证移动应用的任何政策。服务器端驱动 UI 将渲染分离到移动应用程序的一个通用容器中,而每个视图的结构和数据由服务器提供。这意味着对于过去那些需要经历一次应用商店发布之旅的修改,现在只需要简单改变服务器发送的响应数据即可实现。虽然一些非常大的移动应用团队已经利用这种技术取得了巨大的成功,但它也需要大量的投入来建立和维护一个复杂的私有框架。这样的投入需要一个令人信服的商业案例。在此之前,最好谨慎行事。我们的确陷入过某种过度配置的可怕困境,并没有真的获得预期的收益。但在 Airbnb 和 Lyft 等巨头的背书下,我们很可能会看到一些有用的框架出现,有助于降低这种复杂度。这一领域值得关注。
当汇总新一期技术雷达的时候,我们时常被一种似曾相识的感觉所倾倒。随着开发框架的涌现, 服务器端驱动 UI 技术引发了一个热议话题。这项技术允许移动端开发者利用更快的变更周期,而不违反应用商店关于重新验证移动应用的任何政策。我们在之前的雷达中从赋能移动开发跨团队扩展的角度介绍过这项技术。服务器端驱动 UI 将渲染分离到移动应用程序的一个通用容器中,而每个视图的结构和数据由服务器提供。这意味着对于过去那些需要经历一次应用商店发布之旅的修改,现在只需要简单改变服务器发送的响应数据即可实现。需要说明的是,我们不推荐对所有 UI 开发都使用这种方式。我们的确陷入过一些可怕的过度配置的困境,但是在 AirBnB 和 Lyft 这样巨头的背书下,我们怀疑不只是我们 Thoughtworks 厌倦了一切交给客户端。这一领域值得关注。