CAMPFIREアプリの2021年

概要

- これはCAMPFIRE Advent Calendar 2021の9日目の記事です。
- 2021年のCAMPFIRE iOSアプリの開発を振り返ります。


お気に入り、支援したプロジェクトなどの画面実装

1年前のCAMPFIREアプリはトップ・検索・プロジェクト詳細画面など支援までの導線に必要な画面のネイティブ化は終わっていましたが、お気に入り一覧、支援一覧のような画面はまだWebに飛ばして表示していました。
今年の前半あたりにはこの辺のまだネイティブ化していなかった画面を1つずつアプリに実装を移していき、6月頃には利用者の多い主要画面のネイティブ化が無事終わりました。

支援したプロジェクト

これまでCAMPFIREアプリでは支援したプロジェクトの詳細情報を確認することは出来ず、Webに飛ばす実装になっていました。
これをアプリに最適化されたUIで見やすくしようという開発です。

この頃からSwiftUIを本格的に使い始めました。
本画面はさまざまな表示パターンが存在し、その表示確認にXcodePreviewを使いたいモチベーションがありました。
また、あるパターンのみ非表示するなどの判定もSwiftUIであれば直感的に書けるので、SwiftUIを使用することにしました。

SwiftUIの使用方法としてはViewのみSwiftUIを使用し画面遷移などはVIPERのRouterに任せる手法で実装しました。

主にこちらの記事を参考にしました🙇‍♂️
- SwiftUI を活用した「レシピ」×「買い物」の新機能開発
- Kyash iOS アプリの履歴画面を SwiftUI でリファクタリングした話

お知らせタブ

Webではお気に入りしたプロジェクトの進捗情報などが確認できるお知らせ画面があるのですが、これをアプリにも実装しました。
これにより支援したプロジェクトの活動報告やプロジェクトオーナーさんからのメッセージなどがアプリ内で確認しやすくなりました。

また、このタイミングでTabBarを実装しました。

この段階ではお知らせの一覧を表示するだけでPush通知などはまだ未開発でした。

ユーザー毎のPush通知

Push通知自体はアプリリリース当初からあった機能ですが全体に送る通知のみで、ユーザーさん毎に通知を送る機能がなかったのでその開発をしました。
お気に入りしたプロジェクトの達成状況や支援したプロジェクトのその後の活動報告などのPush通知がこの開発により届くようになりました。

Push通知で送られてくるデータの作り方が少し悪く、アプリ内での画面遷移ハンドリングの実装がしんどくなってしまったので、今後修正・改善したい点です。

トップのリニューアル

アプリリリース当初からトップ画面のデザインはずっと変更を加えていなかったのですが、リニューアルを行いました。
リニューアルを行うにあたって、旧デザインとリニューアルデザインのABテストも実施しました。

リニューアルデザインはスワイプメニューで実装しており、そのメニューを表示する順をアプリのアップデートなしに外から入れ替えなどが行えるような仕組みづくりもしました。

SwiftPackage

下記のような記事を参考にSwiftPackageを活用し機能毎にFeature moduleを作り開発を進めてます。
新規で作成する画面のみFeature moduleで作っているためすべての機能をモジュール化出来ていませんが、少しずつアプリ本体からの移行をしています。

- 大規模なマルチモジュール開発をSwiftPackageに移行して運用してみた
- isowordsに学ぶプロジェクト構成

最後に

CAMPFIREでは
- マルチモジュール開発を進めたい方!
- GraphQL, BFF, SwiftUI, Flutterを使って開発したい方!
- アプリパフォーマンスを改善をしたい方!

などなど募集しています!

https://www.wantedly.com/projects/698723

この記事が気に入ったらサポートをしてみませんか?