「FRPを使いはじめて3年が過ぎました。」を発表してきました


第一回スタートアップiOS/Android勉強会の主催であるLang-8社のiOSアプリ開発担当として「FRPを使いはじめて3年が過ぎました。」というタイトルで発表してきました。

スライド: FRPを使いはじめて3年が過ぎました。 // Speaker Deck
スライド中で出てくるアプリのソースコード: Tasks - GitHub

発表内容

FRP/MVVMを利用しはじめたのはおそらくiOS界隈では早い方ではないかと思います。RAC2から使っています。使い込んできましたが、ふとアプリ全体を眺めるとFRPライブラリに依存するのは怖くなりました。ですのでアーキテクチャにVIPERを採用してFRP/MVVMの利用をやめた、という内容です。
その他、RxSwiftをがっつり使って簡易なアプリを作成してみた(前述のソースコード)が、エラー型が明示できないのでクソだ、使うならReactiveCocoaだと思った、などです。

びびったこと

私がFRPとMVVMの世界に連れ込んだ方が参加されていたり、画面遷移をVC外で管理するパターンの参考資料 - Qiitaが発表されるなど、「ケンカ売ってんの?」と思われても仕方がない内容でしたw。

意外だったこと

FRP/MVVM花盛りの現在、賛同してくださる方はいらっしゃらないのでは?と思っていたのですが、意外にも同じように感じているとおっしゃってくださる方が現れました。VIPERにも興味を持ってくださる方もいて、嬉しかったです。

問題点

APIアクセスなどの複雑な非同期処理を記述するにはFRPが最適なので今のところ完全には排除できない状態です。Actorモデルフレームワークがあれば使ってみたいと思ってはいるのですが、良いフレームワークが無いようです。

今後の発表予定

次回開催は11月の予定です。次回はiOSとAndroidを分けて開催する予定です(Androidの発表を聞くのも楽しかったのですが…)。
VIPERに興味を持たれている方がいらっしゃるようなので、VIPERの紹介や実際の実装方法について発表したいと考えています。
またそれ以降の回ではFunctional/ReactiveなDDD設計の書籍を読みはじめたので、Swiftでの実装を考えてうまくまとまれば発表したいと思います。
次回開催でも多くの方の参加をお待ちしております。発表者も募集しますのでよろしくお願いします。

お知らせ

Lang-8社ではiOSやAndroidのプログラマなどの求人を行っております。
詳しくは株式会社Lang-8の採用/求人一覧 - Wantedlyをごらんください。