91958の技術の話
https://gyazo.com/3f636b156f2d7d0ab0d7d9786305e9c2
iOS 開発者向けの話。91958 をどうやって作ったかを書いておきたくなったので。
設計
RxSwift で MVVM-C (Coordinator) を採用しています。今だったら Combine にするか、FRP を使わず SwiftUI を使うと思う。
Coordinator パターンは Coordinatorパターンの実践 // Speaker Deck  と同じものを使ってます。MVVM なところがちょっと違うかもしれないけど。
使っているライブラリ
RxSwift、RxDataSources、Action
上で書いた通り。Action は最初使っていたけど、ほとんど使ってないはず。
DZNEmptyDataSet
Empty State の実装に欠かせない。プロジェクトが一つもない時に表示する画面で使ってます。たまに画像やテキストの位置がずれている気がする…
AttributedLabel
フォントサイズのサンプル表示に使っている。
Nuke
Gyazo の画像のキャッシュに。RxSwift で使うために RxNuke も使ってます。
APIKit
Gyazo API の処理で使ってます。
PKHUD
ぐるぐる
その他
1 画面 1 storyboard で管理している。
Coordinator で画面遷移を管理しているので、Segue は使っていない。
アイコンは Sketch で作った。
リポジトリは GitHub で管理している。