2013 年にリリースされた BeautyPlus は、世界で最も人気のある写真編集アプリの 1 つで、メイクアップ アーティスト、写真家、スマートフォンで写真を撮影する一般ユーザーによって使用されています。毎月約 5,000 万人のユーザーがこのアプリを使用して、自撮り写真、画像、動画を編集したり、それらにフィルタを追加したりしています。中国の Xiamen Meitu Technology Co.、Ltd. のアプリ(自撮り写真セットで特に人気)は、ドラッグ操作とクリック操作で、肌の色の補正、笑顔の明るさの調整、スリムな機能、エアブラシによる汚れの除去など、あらゆる用途に使用されています。
同社はアプリのアップデートを頻繁に行っていることから、大勢のデベロッパーを必要としています。しかし、時間とともに、基盤となるアーキテクチャの統一性や明瞭さが欠けるようになってきました。動きの速いチームでは、共同で作業を行っているデベロッパーに絶えず最新情報を伝える必要がありました。さらに、ライフサイクル管理をシンプルにしたり、非同期 UI の更新に関連する問題を解決したりする必要もありました。
Eyecon の取り組み
Android アーキテクチャ コンポーネントには、アプリのコードを簡潔で安定的なものにし、新任のエンジニアでもコードを容易に読めるようにするために必要なツールが含まれていました。
BeautyPlus のデベロッパーが使い始めたコンポーネントの中には、ViewModel
があります。これにより、アクティビティとフラグメントの更新を含むロジック処理が容易になります。ViewModel
は、他のアプリ コンポーネントのライフサイクルを考慮したライフサイクルを意識した方法で、UI 関連のデータを保存し管理するように設計されています。
また、LiveData
コンポーネントも利用しました。これは監視可能なデータホルダー クラスで、ライフサイクル対応で、UI をデータの状態と一致させることができます。チームは、Android アーキテクチャ コンポーネントが何の問題もなく簡単に使えることに気付きました。しかも、メリットは一目瞭然です。
結果
Android アーキテクチャ コンポーネントのおかげで、BeautyPlus アプリのコードは短期間で 5% 削減され、可読性が 15% 向上しました。アーキテクチャの統一性も強化され、デベロッパーの時間と労力が削減されました。また、新任のデベロッパーでも短期間でコードを理解できるようになりました。さらに、メモリリークの発生回数が減少し、データの更新も容易になりました。デベロッパーはもはや、非同期 UI の更新について心配する必要がなくなりました。
シニア開発マネージャーの Zheng Songyin 氏は、「BeautyPlus で ViewModel と LiveData を使用することで、コードがより簡潔で読みやすくなり、コードのアーキテクチャが統一されました。「アプリのライフサイクルの動作を安全に管理でき、安定性も向上しました。」
始める
Android アーキテクチャ コンポーネントはすべてのデベロッパーに公開されています。Android アーキテクチャ コンポーネントを使ってみる場合は、こちらをご覧ください。