Twitter: Compose によりデベロッパーの効率性と速度が向上
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
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 をご覧ください。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2021-07-28 UTC。
[null,null,["最終更新日 2021-07-28 UTC。"],[],[],null,["[Twitter](https://twitter.com) is one of the most widely used social\nmedia platforms where users can see what's happening in the world at any given\nmoment. The engineering team started using Jetpack Compose to **modernise their\ndesign system.**\n\nWhat they did\n\nBecause the Twitter app's UI components and theming system was developed around\n10 years ago and was comprised of legacy components that required tremendous\nmaintenance efforts, the engineering team wanted to build a new, scalable\ndesign system; with stateless UI components that were easy to use and maintain;\nand intuitive to implement, extend and customize, so they decided to use\nCompose.\n\nThe team started a component-by-component replacement through their internal\ndesign system and by introducing Compose into new screens that don't depend on\ntheir legacy setup.\n\nResults\n\nCompose provided a solid answer to their goal of improving developer velocity,\ndeveloper happiness, and UI code/component maintainability. After starting to\nuse Compose, Twitter engineers say that it's *\"In a word: incredible.\nInternally we refer to it as Android UI 2.0, and it makes it very difficult to\ndelve back into our legacy view system. It has **increased our efficiency and\nvelocity** for things we've developed specifically in Compose.\"*\n\nThey've seen improvements in the speed of development and experimentation: *\"The\n**turn-around on design changes** for anything we've adopted in Compose **is much\nfaster** than we would have experienced previously. Additionally, we experiment\nvery heavily within our product changes, and this is facilitated much better\nand quicker when written in Compose and Kotlin.\"*\n\nThe code they write is not only more intuitive, but also faster to write, and easier to\nread: *\"Additionally, **our theming layer is vastly more intuitive and legible**\nand we've been able to accomplish within a single Kotlin file what otherwise\nextended across multiple XML files that were responsible for attribute\ndefinitions and assignments via multiple layered theme overlays. Reimplementing\nour entire theming structure within the context of Compose took only a matter\nof days to weeks, and has already proven to be much **more robust and intuitive**\nthan our legacy theme system ever has been.\"*\n\nGet started\n\nLearn more about [Compose](/jetpack/compose)."]]