9月15, 16, 17日にiOSDCが行われました!
iOSエンジニアとして気になる発表がたくさんあったので、筋肉エンジニアの私もジムに行くのを惜しんで早稲田大学理工キャンパスに行って来ました!(母校)
今回、注意して聞いた発表はエラー処理、Architectureに関わるもの、そしてRxSwiftです。自分が現在News Digestのリニューアルをしていて、主にその3つにハマっているからです。
ということで、この記事では、筋肉エンジニアの私が選ぶiOSDCベストスピーカー賞を3つ紹介します。
筋肉エンジニアが選ぶベストベストスピーカー賞3選
第一位: RxSwiftのObservableとは何か
こちらはiOSDCの投票でも第一位に選ばれたトークです。
最近使い始めたRxSwiftの説明をとてもわかりやすく解説してくれました。もともと私がよくRxSwiftを使わずにdelegateのprotocolを自分で定義してViewControllerにnotifyする方法をとっていたので、その延長でRxSwiftのやっていることを表現していて、とてもわかりやすかったです。
発表資料は以下です。
第二位: 節子、それViewControllerやない...、FatViewControllerや...。
僕たちが業務で作っているNews Digestにおいても、FatViewController問題は存在していて、それを解決するために今CleanArchitectureでリニューアルしています。しかし油断するとすぐに自分もFatViewControllerを作りそうになります。
そんなiOSエンジニアなら誰でも経験したことのあることの解決策をわかりすく面白く表現していた発表でした!
資料は以下。
第3位: 具体例とクイズで学ぶ、Swiftの4種類のエラーの使い分け
ちょっと狭いBルームが3人がけのテーブルの真ん中も埋まってしまうくらいう満員でした!エラーの話、みんな気になるようです。
4種類のエラーの解説をされた後、5問のクイズを出して、このパターンはどのエラーを出すコードを書くべきかという話をしていました。
クイズ1問目のオセロの8*8のマスをはみ出た箇所を取ろうとした時にどう処理するかという話は、賛否両論な感じでした。みなさんはどう思うでしょうか?
問題を以下に貼ります。
https://gist.github.com/koher/683c00ad7afc490438315b3c8c834573#file-q1-md
発表資料は以下
エラーの処理を書く時に、assertionすべきなのか、force unwrapすべきなのか、guardすべきかなど、業務ですぐにでも使えそうな実践的な内容です。業務でアプリを作る人は必見の資料だと思います。
その他発表でメモったことと感想
1日目(前夜祭)
SiriKit and Me
- SiriKitというフレームワークはなくて、AppExtensionでIntentsを追加する
- SIriKitは同じコードでも同じように動かないほど、ハマるらしい
- 全国タクシーやLINEアプリで使える
- 10年iOSやっていて、デバッグで最もハマった。
-> 感想: SIriKit 辛そう。。。w
Swaggerで始めるAPI定義管理とコードジェネレート
-> 感想: 今業務で使っているGraphQLと比較せねば。。。
2日目
Auto Layoutのアルゴリズム
-> 感想: 数学の授業みたいでした。。。w
個人情報を扱うアプリと暗号化について
* 可能であれば個人情報はローカルに保存しないことが望ましい
* IOSアプリはサンドぼっくす構造、基本的に他のアプリから保存したファイルを参照されることはない
* Data protectionをXcodeで設定できる。厳しくするとデバイスロックかかったら勝手に暗号化がかかる
* UserDefaultsに個人情報を保存するのはやめたほうがいい
* 暗号化しても総当たりにすると、いつかは溶けちゃうから、時間稼ぎにしかならない。なので、有効期限をつける。
短期間でやり遂げるための、大規模リニューアルの進め方
* テストしやすくなるように、Redux、SDKを使う、Viewのテストは切っている
3日目
実は前日の夜にハッカソンで作ったアプリのリリースパーティーがありまして、
そのままオールしてしまったので3日目のiOSDCはリモートでの参加となりました。
以下の資料は自分としてもタイムリーな内容で、とても勉強になりました。
コード生成による静的なDependency Injection
まとめ
以上、私の選ぶベストスピーカー賞と、参加レポでした。
iOSDC、とても楽しかったです。実は自分も応募していたのですが、残念ながら不採択でした。
しかし!!
俺コンというiOSDCで不採択になったスピーカーのためのイベントがありまして、そこでお話させて行く予定です!
とても楽しみです。
今後とも筋肉とエンジニアリングを極めつつ、エンジニア界を盛り上げます。
では!