iOSDC Japan 2022 に参加しました #iosdc

こんにちは、仙台オフィスのはんだです。 今年もiOSDCに参加しましたので、その感想を記事にまとめたいと思います。

iOSDC Japanについて

iosdc.jp

iOSDC JapanはiOS関連技術をコアのテーマとしたソフトウェア技術者のためのカンファレンスで、iOS関連では日本で最大級のイベントです。iOSDC Japan 2022 は9月10日(土)から9月12日(月)まで開催されました。

昨年、一昨年はコロナウイルスの影響でオンライン開催となっていましたが、今年はリアル会場とオンライン配信のハイブリッド開催となりました。

なお、私は東北在住のためオンラインで参加しました。会場には行けませんでしたが、ニコニコ生放送でコメントを多めに流させていただきました!

素敵なTシャツの入ったノベルティボックスが届きました

ここからは、特に印象に残ったセッションをいくつか紹介させていただきます。

施策基盤としてのディープリンク 〜なめらかにアプリが開く体験のために〜

iOSDC Japan 2022 DeepLink - Speaker Deck

URIからアプリ画面へ直接遷移する、ディープリンクについてのセッションです。

私が開発に携わっている「ミレール」アプリでもFirebaseを使ってディープリンク機能を提供していますが、私が開発に入った時点で既に導入されていたこともあり、私自身、何となくの理解でディープリンク機能を触っていました。

このセッションではそもそもディープリンクとは何か?というところからディープリンクの種類・効果など、さまざまな角度からお話しされていて、ディープリンクへの理解が深まりました。特に「ユーザーに文脈を理解してもらう」ということはあまり考えたことがなかったので、とても参考になりました。

アニメーションAPIのすべて

GitHub - kishikawakatsumi/UltimateGuideToAnimations

こちらはiOSが提供するアニメーションについてのセッションです。

iOSでアニメーションさせる際、私はUIView.animate(withDuration:animations:completion:)の方法以外ほとんど使ったことがないのですが、必要に応じて他の方法でのアニメーションも使いたいなと思いました。また、UIViewとCALayerの関係をあまり理解できていなかったので、その点についても詳しく説明されていて勉強になりました。

そして、このセッションのスライド資料はXcodeProjectで作成されているということで、上記のGitHubページからプロジェクトをクローンしてビルドすると、スライドが見られるだけでなく、手元で実際にアニメーションを確認することができます。。。すごい。

UIKit ベースの大規模なプロジェクトへの SwiftUI 導入

UIKit ベースの大規模なプロジェクトへの SwiftUI 導入 - Speaker Deck

SwiftUIとUIKitを仲良くさせる

SwiftUIとUIKitを仲良くさせる - Speaker Deck

SwiftUI in UIKit で開発する世界

iOSDC2022 - SwiftUI in UIKit で開発する世界 - Speaker Deck

上記3つのセッションについては、UIKitとSwiftUIを共存させるという点で共通する点があるのでまとめて紹介させていただきます。

SwiftUIを使うメリットや、導入するためのハードル、UIKitベースのアプリにSwiftUIを組み込む場合にどのようにすればいいのかなどが、詳しく説明されていました。SwiftUIではまだ一部で実装が難しい機能もあるようですし、既にUIKitで作成しているものを全てSwiftUIで書き直すというのはとてもコストがかかるでしょうから、共存させるというのはとても現実的な選択肢だと感じます。

中でも、「SwiftUI in UIKit で開発する世界」でSwiftUIを導入した事例として、MVPアーキテクチャからSwiftUIを使ったMVVMアーキテクチャに移行している、という話が述べられていました。実は先述の「ミレール」アプリでもMVPアーキテクチャを採用しているので、とても参考になりそうだなと思いながらセッションを見させていただきました。

まとめ

以上、印象に残ったセッションをいくつか紹介させていただきました。

前夜祭も含めて3日に渡るイベントでしたが、iOS16の新機能の話から過去の振り返りのようなセッションもあり、全く飽きずに試聴させていただきました。

全体を通しての感想としては、「こんなことができるんだ」という発見もありましたが、それ以上に「今までもこの機能使っていたけど、実はあんまりわかっていなかったな」ということがあり、気づきの多い3日間でした。

最後になりますが、このような学びの機会を提供してくれた登壇者の方や開催者の方に感謝いたします。ありがとうございました。