Twitter は世界で最も広く使われているソーシャル メディア プラットフォームのひとつです。ユーザーは Twitter を通して、世界で起こっている出来事をいつでも把握できます。エンジニアリング チームは、Jetpack Compose を使用してデザイン システムを最新化しました。
Ultimate Guitar の取り組み
Twitter アプリの UI コンポーネントとテーマ設定システムは 10 年ほど前に開発されたもので、メンテナンスに多大な労力を要するレガシー コンポーネントで構成されていました。そのため、エンジニアリング チームは、使いやすく保守が容易なステートレス UI コンポーネントを備え、直感的に実装、拡張、カスタマイズできる、新しいスケーラブルなデザイン システムを構築したいと考え、Compose を使用することにしました。
チームは、内部設計システムを通じてコンポーネントごとに置き換えを開始し、以前のセットアップに依存しない新しい画面に Compose を導入しました。
結果
Compose は、デベロッパーの速度、デベロッパーの満足度、UI コード/コンポーネントの保守性を向上させるという目標に対して、確実な答えを提供しました。Compose の使用を開始した後、Twitter のエンジニアは「一言で言うと、信じられないほど素晴らしい」と述べています。内部では Android UI 2.0 と呼んでおり、以前のビューシステムに戻ることは非常に困難です。Compose で特に開発したものの効率と速度が向上しました。」
開発とテストのスピードが向上したという声も寄せられています。「Compose で採用した機能のデザイン変更のターンアラウンドは、以前よりもはるかに速くなりました。また、プロダクトの変更では多くのテストを行っていますが、Compose と Kotlin で記述することで、テストをより迅速かつ効率的に実施できるようになりました。」
記述するコードは直感的になるだけでなく、記述も読み取りも簡単になります。「また、テーマレイヤは非常に直感的で判読が容易です。通常であれば複数のレイヤで構成されるテーマ オーバーレイを介して属性の定義と割り当てを処理する複数の XML ファイルにまたがる機能を、単一の Kotlin ファイル内で実現できるようになりました。Compose のコンテキスト内でテーマ構造全体を再実装するのにかかったのは数日から数週間程度で、すでに従来のテーマ システムよりもはるかに堅牢で直感的なシステムであることが証明されています。」
始める
詳しくは、Compose をご覧ください。