Twitter: Compose によりデベロッパーの効率性と速度が向上

Twitter は世界で最も広く使われているソーシャル メディア プラットフォームのひとつです。ユーザーは Twitter を通して、世界で起こっている出来事をいつでも把握できます。エンジニアリング チームは、Jetpack Compose を使用してデザイン システムをモダナイズし始めました。

Ultimate Guitar の取り組み

Twitter アプリの UI コンポーネントとテーマ設定システムは 10 年ほど前に開発されたもので、膨大なメンテナンス作業を必要とするレガシー コンポーネントで構成されていたため、エンジニアリング チームは、使いやすくメンテナンスが容易で、実装、拡張、カスタマイズが直感的にできる、新しいスケーラブルなデザイン システムを構築したいと考え、Compose の使用を決定しました。

チームは、内部デザイン システムを通じてコンポーネントごとに置き換えを開始し、従来の設定に依存しない新しい画面に Compose を導入しました。

結果

Compose は、デベロッパーの開発速度、デベロッパーの満足度、UI コード/コンポーネントの保守性を向上させるという目標に確実に応えてくれました。Twitter のエンジニアは、Compose の使用を開始した後、「一言で言えば、信じられない。Google では内部的に Android UI 2.0 と呼んでいますが、以前のビューシステムに戻ることは非常に困難です。Compose で特に開発したものの効率と速度が向上しました。」

開発とテストの速度が向上しました。「Compose で採用したすべての機能の設計変更のターンアラウンドは、以前よりもはるかに速くなっています。また、プロダクトの変更については、非常に多くのテストを行っています。Compose と Kotlin で記述すると、テストがより迅速かつ容易になります。」

作成するコードは直感的になるだけでなく、記述が速くなり、読みやすくなります。「さらに、テーマレイヤは非常に直感的で判読が容易です。通常であれば複数のレイヤで構成されるテーマ オーバーレイを介して属性の定義と割り当てを処理する複数の XML ファイルにまたがる機能を、単一の Kotlin ファイル内で実現できるようになりました。Compose のコンテキスト内でテーマ設定構造全体を再実装するのに数日から数週間しかかからず、以前のテーマシステムよりもはるかに堅牢で直感的であることがすでに実証されています。」

始める

詳しくは、Compose をご覧ください。