概要
ポケモンは今や 1000 体を超える勢いで増え続けています。
私自身もポケモン初代から遊んでいますが 2024 年もまだまだその勢いが衰えず新作が出るたびに大ヒットとなっています。
そんなポケモンですが、今回 Android 用アプリとしてポケモン図鑑をとても見やすく操作性も良いアプリが OSS として出ていたので、今回はこちらについてご紹介したいと思います。
今回ご紹介する OSS は、Hilt、Coroutines、Flow、Jetpack (Room、ViewModel)、および MVVM アーキテクチャに基づいて開発され、見た目・操作性・機能性を追求した Android 向けポケモン図鑑「Pokedex」になります。
それでは早速詳細についてみていきましょう。
目次
特徴
「Pokedex」の特徴としては以下の点が挙げられていました。
- Kotlin ベース、コルーチン+非同期フローでの動作
- ジェットパックとして以下を採用
- アーキテクチャーとして以下を採用
- Retrofit2 & OkHttp3 を使用した REST API とページングネットワークデータを構築
- Sandwich という、Android のネットワークペイロードを処理する軽量で最新の応答インターフェースを構築
- Moshi という、Kotlin および Java 用の最新の JSON ライブラリを採用
- Whatlf という、null 許容オブジェクトとからのコレクションをよりスムーズにチェックできるモジュールを採用
- Bundler という、Android インテントおよびバンドル拡張機能を使用し、値をエレガントに挿入及び取得
- ksp という、Kotlin シンボル処理 API を採用
- Tunbine という、kotlinx.coroutines フロー用の小さなテスト ライブラリを使用
- アニメーションと CardView を構築するためのマテリアルデザインコンポーネントを使用
- Glide、GlidePalette を使用してネットワークから画像を読み込む
- TransformationLayout を採用し、変形モーションアニメーションを実装
- カスタムビューとして以下を採用
- Timber という、小規模で拡張可能な API を備えたロガーを使用
その他、Android アプリ開発にこだわっていてアーキテクチャーの紹介などもされていますので、気になる方はこちらも確認してみるとよいでしょう。
アーキテクチャー
アーキテクチャー概要
UI レイヤー
データレイヤー
利用手順
「Pokedex」の利用方法としては、GitHub のリリースページから apk ファイルを Android 端末にインストールすることで利用可能ということでした。
使用感
筆者は Android 端末を保持していないため、今回は実際に使用することはできなかったのですが、GitHub ページにデモ動画がったのでこちらを確認してみまました。
実際のアプリの挙動を見てみると、アニメーションがぬるぬる動いていることがわかり、画面サイズに応じたサイズで指定した画像がぴったり収まるような挙動だったり、アニメーションがいい感じに動いているのがわかりますね!
Android のアーキテクチャーにこだわって作成されていることがわかります。
また、マテリアルデザインで構築されているということだけあって、UI としてもとてもきれいでまとまっており、非常に見やすく操作性もよさそうです。
まとめ
今回は、Hilt、Coroutines、Flow、Jetpack (Room、ViewModel)、および MVVM アーキテクチャに基づいて開発され、見た目・操作性・機能性を追求した Android 向けポケモン図鑑「Pokedex」についてご紹介いたしました。
Android 端末を所持している方はぜひ一度こちらの OSS をインストールしてみて、動作を見てみてはいかがでしょうか。