Monzo は Compose を使用して堅牢で高品質のアプリを構築

Monzo は、デジタル金融サービスを提供する銀行とアプリです。同社の使命は、すべての人のためにお金を役立てることです。Monzo のデザイン システムはマテリアル デザインから逸脱し始めていたため、常に進化するカスタム コンポーネントを簡単に作成、維持する方法を必要としており、Jetpack Compose を選択しました。

Ultimate Guitar の取り組み

Compose では、マテリアル デザイン コンポーネントは、デザイン システムに依存しない基盤 API のレイヤとして提供されます。Monzo は、マテリアル コンポーネントをリファレンスとして使用し、基盤 API を使用して独自のコンポーネント ライブラリを構築しました。最初は 1 つの画面ずつ移行し、現在はすべての新しい画面で Compose を使用しています。現在、Compose はすべての Android エンジニアによって本番環境で使用されています。「大きな問題は発生しなかったため、一部の新機能に、最終的にはすべての新機能に Compose を使用する自信がつきました。」

結果

Monzo チームは、新しい画面を簡単に作成できるコンポーネントを作成しました。「Google が提供するコンポーネントにより、Compose を学びながら画面を作成することがよりスムーズなエクスペリエンスになります。スロットベースの API は、多数の小さな構成要素から大きなコンポーネントを簡単に構築できる素晴らしいパターンです。」

Compose を使用することで、Monzo のチームはスプリントでは実現できなかった魅力的な機能を追加して、高品質のアプリを構築することができました。「その一例がアニメーションです。Compose ではとても簡単に追加できるため、色/サイズ/高度の変更など、アニメーション化しない理由はほとんどありません。このような「あったら便利」なアニメーションは、ビューシステムで労力と複雑さをかけて実装する価値がない場合が多い。」

コードが短くなり、読みやすく、理解しやすく、メンテナンスしやすくなりました。「宣言型コードは、変更可能な UI 階層を操作するコードよりも推論がはるかに簡単です。また、すべてのコードが同じ言語で記述され、多くの場合は同じファイルに格納されるので、Kotlin と XML の間を行ったり来たりするより、コードをトレースするのがはるかに簡単になります。XML のテーマとスタイルについては、言及するまでもありません。Compose ではテーマ設定がはるかに理解しやすくなりました。当社のテーマは、定義したプロパティのみで構成されており、値はデバイス間で一貫しています。Kotlin なので、IDE 内での検索と追跡が非常に簡単です。」

Compose により、Monzo チームはアプリを簡単にテストし、アプリがアクセス可能であることを確認できました。「Compose は、アプリがユーザーの手元で実際に動作することを脆弱性が少なく、信頼性の高いテストを作成して、大きな信頼を得るのに役立ちました。セマンティクス システムでテストすることで、画面が少なくともデフォルトでアクセス可能であることも確認できます。」

始める

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