スカラシップスポンサー枠でiOSDCに参加してきた
8/30(金)~9/2(日)の4日間、早稲田大学で開催されたiOSDC Japan 2018に参加してきました。今回は、そのレポート記事となります。
今回は、Wantedlyさんが募集していた学生応援プログラムに採択して頂き、スカラシップスポンサー枠で参加させていただきました。チケット代、宿泊費・交通費を支援して頂き、本当にありがとうございました!
iOSDCとは
iOS Developers Conference Japanの略称で、iOS関連技術をコアのテーマとした技術者のためのカンファレンスです。今年は、3日+前夜祭の3.5日間での開催でした。
タイムテーブルは、こちらから閲覧することが出来ます。
この記事では、特に面白いと感じたトークや会場の様子を紹介します。
前夜祭
標準アプリから学ぶ、HIGが教えてくれないiOSデザインのこと
speakerdeck.com
日常的に使うドアを例に、デザインが持つべき役割の話から始まり、標準アプリの歴史から新しいUIが登場する背景などを考察するという内容でした。日常で特に意識することなく使う標準アプリも、意味を持ってデザインされていると知ることが出来ました。 デザイナーの方は偉大と感じると共に、自分もデザインについて学びたいと思う発表でした。
ツールとして利用するUIテスト
speakerdeck.com
各画面サイズやOS, 言語等により膨大になる画面数の確認を、UIテストを用いて解決しようという内容でした。発表者の方が自作したLunch
を使った特定画面の起動、そのスクショの撮影方法などを話されていました。また、Xcode 10から追加されるテストの並列実行を使用した場合の計測をしていました。 このトークを参考に今後UIテストを導入し、画面レイアウトのチェックの自動化をしたいと思いました!
Day1
MicroViewControllerで無限にスケールするiOS開発
www.icloud.com
MicroViewController
という新しい考えを提案し、その概念や実装の仕方、導入によって得られた効果を紹介する内容でした。MicroViewController
は、ファットになりやすいViewController
をView
の部品一つ一つに割り当てることで、責務を分割・隠蔽でき、多人数で開発する時に起こるコンフリクトやオーバーヘッドを軽減するという概念でした。
MicroViewController
を導入したことで、開発速度が2倍、画面の描画が最大で3倍速くなったことを知った時は、衝撃を受けました。個人的にも、ベストトーク賞1位が納得な内容でした。
差分アルゴリズムの原理について
speakerdeck.com
差分計算アルゴリズムの紹介や、そのアルゴリズムを適用したUITableView
の描画の計測などをするという内容でした。自分は、大量のデータをUITableView
で描画したことが無かったため、今後パフォーマンスを考慮するならば、この発表を参考にしようと思いました。
Day2
Depth in Depth
speakerdeck.com
Depth In Depth(深度 詳解)というタイトルで、深度や視差の説明から始まり、深度を使ったアプリのデモや、深度データ取得等の実装方法を紹介していました。自分は、ハードウェアの実装に弱いため、iPhoneのセンサから背景の合成など実装出来ることに感動しました。トークのタイトル通り、深度の深い内容を知ることが出来る面白い内容でした!
Day3
Swiftのジェネリクスはどうやって動いているのかコンパイラのソースから探る
speakerdeck.com
サイズが違う値型と参照型を持つSwiftが、どのようにジェネリクスを実現しているかをコンパイラのソースから読み解くという内容でした。後半は、正直理解が追いつきませんでしたが、今までコンパイラのソースを読んだことがない自分にとっては、新鮮な内容でした。
コンパイルされたSIL
やLLVM-IR
から読み解くことは予想でしかなく、コンパイラの実装から読み解くことが正確であるという発表の流れが、論理的で好きでした。
LLDBを最大限活用してみる。
speakerdeck.com
LLDB
のカスタムコマンドを作り、もっと便利にデバッグをしてみようという内容でした。LLDB
デバッグをほとんどしたことがない自分にとっては、知見の塊でした。Swiftの定数(let
)は、リビルドしないと値を書き換えることが出来ない欠点があると言って、LLDB
で直接メモリの値を操作した時は、思わず笑ってしまいましたw。
会場の様子
LT
ビールやお弁当が用意され、とてもカジュアルな雰囲気で楽しめました。
#iosdc pic.twitter.com/dPxFXxBrOm
— culumn (@Yoshi64190101) September 2, 2018
お弁当が来た! #iosdc pic.twitter.com/p6mlQ9gHhY
— culumn (@Yoshi64190101) September 1, 2018
ランチ
Day1-Day3の3日間は、ランチが提供されていました。
Day2のランチタイムには、WantedlyさんによるReactorKit
のライブコーディングが実施されていました。ReactorKit
は、RxSwift
を使ったFlux
フレームワークで、Wantedly Visitで採用されているらしいです。
ライブコーディング #iosdc #a pic.twitter.com/WHREyhALNN
— culumn (@Yoshi64190101) September 1, 2018
企業ブース&提供
各スポンサー企業さんによる催しや提供がありました。
iOSDCの会場で、キーキャップをプレゼントしています🎁企業ブースで会計freeeアプリを体験してくれた方限定😎 #iOSDC pic.twitter.com/TDKulQJRe7
— freee採用チーム (@freee_saiyo) August 31, 2018
#iOSDC 前夜祭お疲れ様でした!皆様にご協力いただいた結果、半日もせずにこれだけ埋まりました!明日からもよろしくお願いします:D pic.twitter.com/rbuhqXZkl7
— DeNA Tech (@DeNAxTech) August 30, 2018
懇親会
ビールや食事が用意され、すごい賑わいでした。
まとめ
iOSDCの公式サイトにも記述されていますが、まさにエンジニアの祭典でした。レベルの高いiOS関連技術の話を聞くだけの場ではなく、飲食物の提供や催し等のおかげで、本当に祭りのような雰囲気で楽しむことが出来ます。
感想
このiOSDCは、人生初のカンファレンスの参加でした。自分が地方に住んでいることもあり、東京開催のカンファレンスに行くことがありませんでした。今まで、カンファレンスは、後日投稿されるスライドを見て、勉強出来れば良いだろうと考えていました。しかし、カンファレンスでは、現地でしか楽しめないものがあると知ることが出来ました。
また、iOSDCに参加することで、iOS開発者コミュニティの大きさを知ることが出来ました。私の身の回りでは、iOSアプリの開発者が自分しかいませんでした。しかし、iOSDCに参加することで、同じiOSアプリを開発する学生やエンジニアが大勢いることを実感することが出来ました。
今回、スカラップスポンサー枠でiOSDCに行く機会を提供して下さったWantedlyさん、iOSDCの開催を支えて下さったスタッフやスポンサー企業さん、本当にありがとうございました!🙏🙏🙏