スカラシップスポンサー枠でiOSDCに参加してきた

8/30(金)~9/2(日)の4日間、早稲田大学で開催されたiOSDC Japan 2018に参加してきました。今回は、そのレポート記事となります。

f:id:culumn:20180905111752j:plain

今回は、Wantedlyさんが募集していた学生応援プログラムに採択して頂き、スカラシップスポンサー枠で参加させていただきました。チケット代、宿泊費・交通費を支援して頂き、本当にありがとうございました!

www.wantedly.com

iOSDCとは

iOS Developers Conference Japanの略称で、iOS関連技術をコアのテーマとした技術者のためのカンファレンスです。今年は、3日+前夜祭の3.5日間での開催でした。

iosdc.jp

タイムテーブルは、こちらから閲覧することが出来ます。
この記事では、特に面白いと感じたトークや会場の様子を紹介します。

前夜祭

標準アプリから学ぶ、HIGが教えてくれないiOSデザインのこと

speakerdeck.com
日常的に使うドアを例に、デザインが持つべき役割の話から始まり、標準アプリの歴史から新しいUIが登場する背景などを考察するという内容でした。日常で特に意識することなく使う標準アプリも、意味を持ってデザインされていると知ることが出来ました。 デザイナーの方は偉大と感じると共に、自分もデザインについて学びたいと思う発表でした。

ツールとして利用するUIテスト

speakerdeck.com
各画面サイズやOS, 言語等により膨大になる画面数の確認を、UIテストを用いて解決しようという内容でした。発表者の方が自作したLunchを使った特定画面の起動、そのスクショの撮影方法などを話されていました。また、Xcode 10から追加されるテストの並列実行を使用した場合の計測をしていました。 このトークを参考に今後UIテストを導入し、画面レイアウトのチェックの自動化をしたいと思いました!

Day1

MicroViewControllerで無限にスケールするiOS開発

www.icloud.com
MicroViewControllerという新しい考えを提案し、その概念や実装の仕方、導入によって得られた効果を紹介する内容でした。MicroViewControllerは、ファットになりやすいViewControllerViewの部品一つ一つに割り当てることで、責務を分割・隠蔽でき、多人数で開発する時に起こるコンフリクトやオーバーヘッドを軽減するという概念でした。
MicroViewControllerを導入したことで、開発速度が2倍、画面の描画が最大で3倍速くなったことを知った時は、衝撃を受けました。個人的にも、ベストトーク賞1位が納得な内容でした。

差分アルゴリズムの原理について

speakerdeck.com
差分計算アルゴリズムの紹介や、そのアルゴリズムを適用したUITableViewの描画の計測などをするという内容でした。自分は、大量のデータをUITableViewで描画したことが無かったため、今後パフォーマンスを考慮するならば、この発表を参考にしようと思いました。

Day2

Depth in Depth

speakerdeck.com
Depth In Depth(深度 詳解)というタイトルで、深度や視差の説明から始まり、深度を使ったアプリのデモや、深度データ取得等の実装方法を紹介していました。自分は、ハードウェアの実装に弱いため、iPhoneのセンサから背景の合成など実装出来ることに感動しました。トークのタイトル通り、深度の深い内容を知ることが出来る面白い内容でした!

Day3

Swiftのジェネリクスはどうやって動いているのかコンパイラのソースから探る

speakerdeck.com
サイズが違う値型と参照型を持つSwiftが、どのようにジェネリクスを実現しているかをコンパイラのソースから読み解くという内容でした。後半は、正直理解が追いつきませんでしたが、今までコンパイラのソースを読んだことがない自分にとっては、新鮮な内容でした。
コンパイルされたSILLLVM-IRから読み解くことは予想でしかなく、コンパイラの実装から読み解くことが正確であるという発表の流れが、論理的で好きでした。

LLDBを最大限活用してみる。

speakerdeck.com LLDBのカスタムコマンドを作り、もっと便利にデバッグをしてみようという内容でした。LLDBデバッグをほとんどしたことがない自分にとっては、知見の塊でした。Swiftの定数(let)は、リビルドしないと値を書き換えることが出来ない欠点があると言って、LLDBで直接メモリの値を操作した時は、思わず笑ってしまいましたw。

会場の様子

LT

ビールやお弁当が用意され、とてもカジュアルな雰囲気で楽しめました。

ランチ

Day1-Day3の3日間は、ランチが提供されていました。 f:id:culumn:20180906151825j:plain Day2のランチタイムには、WantedlyさんによるReactorKitのライブコーディングが実施されていました。ReactorKitは、RxSwiftを使ったFluxフレームワークで、Wantedly Visitで採用されているらしいです。

企業ブース&提供

各スポンサー企業さんによる催しや提供がありました。

f:id:culumn:20180906154731j:plainf:id:culumn:20180906154734j:plain

懇親会

ビールや食事が用意され、すごい賑わいでした。 f:id:culumn:20180906151139j:plain f:id:culumn:20180906151255j:plain

まとめ

iOSDCの公式サイトにも記述されていますが、まさにエンジニアの祭典でした。レベルの高いiOS関連技術の話を聞くだけの場ではなく、飲食物の提供や催し等のおかげで、本当に祭りのような雰囲気で楽しむことが出来ます。

感想

このiOSDCは、人生初のカンファレンスの参加でした。自分が地方に住んでいることもあり、東京開催のカンファレンスに行くことがありませんでした。今まで、カンファレンスは、後日投稿されるスライドを見て、勉強出来れば良いだろうと考えていました。しかし、カンファレンスでは、現地でしか楽しめないものがあると知ることが出来ました。
また、iOSDCに参加することで、iOS開発者コミュニティの大きさを知ることが出来ました。私の身の回りでは、iOSアプリの開発者が自分しかいませんでした。しかし、iOSDCに参加することで、同じiOSアプリを開発する学生やエンジニアが大勢いることを実感することが出来ました。

今回、スカラップスポンサー枠でiOSDCに行く機会を提供して下さったWantedlyさん、iOSDCの開催を支えて下さったスタッフやスポンサー企業さん、本当にありがとうございました!🙏🙏🙏