CA.swift #8 に参加しました


先日参加してきたサイバーエージェントさんのイベントの簡単なまとめです。

イベント概要

サイバーエージェントのiOSエンジニアによる勉強会。
RxSwift、ReactiveSwift関連内容を中心とした特集回とのことでした。

イベント名

CA.swift #8

Twitter ハッシュタグ

ca_swift

発表テーマ/登壇者

  • 『ViewModel設計パターンの比較と分類』/yimajo
  • 『RxSwiftのDisposable達をご紹介!』/matsuokah_
  • 『Introduction to RIBs』/dekatotoro
  • 『RxSwift・ReactiveSwiftの比較や動向』/shin8484
  • 『RxSwift を用いた設計で、配信コンテンツを不正利用から守る』/AkkeyLab

詳細

『ViewModel設計パターンの比較と分類』

RxSwift研究読本

ゲストスピーカーの今城氏のは「RxSwift研究読本」を執筆されている方。
最近はnoteの有料記事も書き始めたとか。

イベントのハッシュタグca_swiftでつぶやかれた内容を画面の右に表示させており、リアルタイムで随時コメントを受けつつ進めるというスタイル。
音声読み上げされていて全てスルーせずやり取りしていて面白いです。

内容的にはRxSwiftのざっくりした歴史と、4つのViewModelのパターンを紹介していました。

4つ目はアンチパターンとして紹介され、「逆こんまり状態」と表現されてました。
つぶやき状況から察するに「RxSwift研究読本」を読むとより理解できそうです。

『RxSwiftのDisposable達をご紹介!』

RxSwiftのDisposable達をご紹介!

Disposable の種類・特徴を紹介されていました。
正直なところこのあたりはあまり気にしたことがなかったですが、実行順や効率などはなるほどと思いました。
最近追加されたRxAtomicについても触れられており、Cのラッパーでinline関数になっているというのは興味深かったです。

『Introduction to RIBs』

Introduction to RIBs

Uberが公開しているアーキテクチャのフレームワーク「RIBs」の紹介です。
Router、Interactor、Builderの集合体ということで、
View、Presenter、Componentもオプションとして加わる場合があります。
特徴として、大規模なモバイルアプリ用、テスト容易性、責務と依存関係が明確、
OCPの原則などが挙げられるそう。

RIBを一つの塊としてツリー構造で捉えられていて、UI層とは一致しなくて良いためUIKitに依存しないライフサイクルの管理ができるとのこと。

今回はじめて知ったのですが、試してみたことのある方は会場に結構いて、試してみたいと思いました。

『RxSwift・ReactiveSwiftの比較や動向』

RxSwift・ReactiveSwiftの比較や動向

RxSwiftとReactiveSwiftの両方を使ったことのある方による発表でした。
それぞれ別のプロダクトでこの両者を使うというのはなかなか貴重ですね。

印象としては、ReactiveSwiftの方が良い意味で「固い」感じがしましたが、RxSwiftの方が資料が多くシェアも多いので苦労しそうに感じました。

『RxSwift を用いた設計で、配信コンテンツを不正利用から守る』

RxSwift を用いた設計で、配信コンテンツを不正利用から守る

VueFluxベースで個人開発している動画視聴アプリについて、RxSwiftを用いて動画の不正利用を防ぐアプローチを考えたというもの。
URL変更を購読する、IPアドレス変更を購読するというアプローチを紹介しつつ、やはり暗号化かな、、と。

おわりに

いままで勉強会には参加してこなかったのですが、外に出るのは刺激もあり学びもあるので、今後は少しでも時間を見つけて足を運んでみようかとおもいました。