カメラメーカーのスマートデバイス向けアプリの開発
# 概要 カメラメーカーのスマートデバイス(Android, iOS)向けのアプリを開発した。 カメラとはNFC, BLEによってペアリングし、Bluetooth Classic, Wi-Fiで接続して通信する仕組みとなっている。 # 技術スタック Android, Java, RxJava, Dagger2 # 詳細 カメラと接続する既存アプリが存在していたが、品質の低さがお客様内で問題となり、作り直すための本プロジェクトが開始された。プロジェクト開始当初は既存アプリを改修する想定であったが、設計レベルで破綻しており改修にかかるコストに対してリターンがあまりに少ないため、既存のコードをすべて捨てて作り直すことを提案し、採用された。 本プロジェクトではUIとロジック(主にカメラ通信)が別会社に委託されており、私はロジック部分を担当した。 お客様との仕様調整やアーキテクチャ設計、技術選定、開発メンバの管理、Android版の実装を担当した。開発はAndroid版を先行する形で行い、iOSチームにAndroid版のコードを提供して同様に実装していただいた。チームメンバはAndroid, iOSを合わせて10名程度。 Clean Architectureを採用してロジックとカメラ通信を分離することにより、テスタビリティを高める設計とした。カメラとの結合テストでカメラ機種による動作の違いが頻発したが、レイヤを適切に分離していたため少ないコストで対応することができた。