メルカリ、Jetpack Compose で UI 開発の生産性が 56% 向上
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
メルカリは、何百万人もの人々がほぼあらゆる商品をショッピング、販売できるサービスを提供しています。同社は 2013 年に日本で設立され、今やスマートフォンに特化した C2C マーケットプレイスは日本最大級です。メルカリのクライアント アーキテクト チームは、長期的にスケールできる最新のソリューションとテクノロジーを使用して、新しいアプリケーション向けの技術スタックを構築することを目標として、2020 年に Jetpack Compose の利用を開始しました。
Eyecon の取り組み
メルカリのチームは、Android ビューで複雑な状態管理とスタイル設定を備えたデザイン システムを実装する必要がありましたが、これは非常に複雑なタスクでした。Jetpack Compose を使用することで、この複雑なシステムを実装できただけでなく、各画面の開発に費やす時間を削減できました。
また、Jetpack Compose は、デザイン システムを利用して新しいアプリの UI コードを記述し、UI コードを簡潔で理解しやすいものにしました。その結果、チームは、ダークモードの実践的なサポートなど、画面やビジネス ロジックの作成により多くの時間を費やせるようになります。
さらに、メルカリのチームは、Figma をデザイン システムと統合するための概念実証ツールを作成しました。このツールを使用すると、コンポーネント デザインから UI コードを自動生成できます。開発チームは、このツールは宣言型の性質を持つ Compose の方が開発しやすいと述べています。
「Android デベロッパーが Jetpack Compose コードの記述に慣れたら、もう戻りたくなくなります。」 - メルカリ Android テクニカル リーダー Anthony Allan Conda 氏
結果
Jetpack Compose と新しいデザイン システムにより、メルカリは画面を作成するためのコードを大幅に減らすことができました。一般的なユースケースである無限スクロール可能なコンテンツが表示された画面では、実際にコードを約 56% 削減できました。その結果、同じ時間でより多くの画面を作成できるようになり、ビジネス ロジックなどのコードの記述により多くの時間をかけられるようになりました。
また、アニメーションを組み込むことや、AnimatedVisibility や Crossfade や Animatable などの直感的な API を使用するなど、UI 自体でできることが増えました。
メルカリは、リリースまで新しいアプリで Jetpack Compose の使用を継続する予定です。また、Jetpack Compose で記述された Android SDK を備えたデザイン システムも、メルカリ内の複数のアプリと連携するように設計されています。
始める
Jetpack Compose の詳細を確認する。
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2021-05-19 UTC。
[null,null,["最終更新日 2021-05-19 UTC。"],[],[],null,["# Mercari improves UI development productivity by 56% with Jetpack Compose\n\n[Mercari](https://play.google.com/store/apps/details?id=com.kouzoh.mercari) allows millions of people to shop and sell almost anything. The company was founded in 2013 in Japan, and it now is the largest smartphone-focused C2C marketplace in Japan. Mercari's Client Architect Team started using [Jetpack Compose](https://developer.android.com/jetpack/compose) in 2020 with the goal of using modern solutions and technologies that can scale for the long term to build their tech stack for new applications.\n\nWhat they did\n-------------\n\nThe Mercari team needed to implement a design system with complex state management and styling on Android Views --- a very complex task. Using Jetpack Compose, they were not only able to implement this complex system, it helped them spend less time developing each screen.\n\nJetpack Compose also helped the team write UI code for their new app utilizing the design system, making their UI code concise and easy to understand. As a result, the team can spend more time writing screens and business logic, such as practical support for the dark theme.\n\nIn addition, the Mercari team wrote a proof-of-concept tool for integrating Figma with the design system, which automatically generates UI code from the component designs. The team said that developing this tool was easier with Compose due to its declarative nature.\n\n*\"Once Android developers get used to writing Jetpack Compose code, they wouldn't wish to go back.\" - Anthony Allan Conda, Android Tech Lead at Mercari*\n\nResults\n-------\n\nBetween Jetpack Compose and their new design system, Mercari was able to use far less code to write screens. On screens with infinitely-scrollable content --- a common use case --- they actually reduced their code by about 56%. As a result, they were able to write more screens in the same amount of time, giving them more time to write business logic and other parts of the code.\n\nAlso, they were able to do more with the UI itself, such as incorporating animations and using intuitive APIs such as *AnimatedVisibility* , *Crossfade* , and *Animatable*.\n\nMercari is planning to continue using Jetpack Compose in their new application until its release. Their design system, with the Android SDK written in Jetpack Compose, is also designed to work with multiple applications within Mercari.\n\nGet started\n-----------\n\nLearn more about [Jetpack Compose](https://developer.android.com/jetpack/compose)."]]