RSS Etsy Engineering | 技術としての芸術

マクラメ:Etsy Android リスト画面の結び目を解く

Follow
EtsyのAndroidアプリのリスト画面は、製品を展示するために不可欠だが、急速なコードの変更によって複雑で維持が困難になっていた。この問題に対処するために、チームは、新しいアーキテクチャー「Macramé」を導入し、不変のデータと反応的なUIに基づくものとした。このアーキテクチャーの核心は、データモデルを表す不変のStateオブジェクトで、StateFlowを介してUIに渡される。データの更新は、イベントによって処理され、ハンドラーがこれらの更新をStateかサイドエフェクトに適用する。ListAdapterとRecyclerViewが非同期的なUIの変更を処理する。単体テストのカバレッジが大幅に向上し、ビジネスロジックのための単純なハンドラーの使用を検証した。簡単な画面でのボイラープレートや複雑さがあるにもかかわらず、このアーキテクチャーはコードの維持性とパフォーマンスを向上させている。コンテンツが最初に表示されるまでの時間が18%減少し、ユーザーとのエンゲージメントが向上した。Androidチームは、Macraméの使用を他のアプリ画面、例えばカートやショップ、Jetpack Composeで書かれたものにも拡大させている。
favicon
etsy.com
Macramé: Untangling the Knot on the Etsy Android Listing Screen
Create attached notes ...