iOSDC2023に参加してきたレポート(前夜祭編)
iOS関連の技術カンファレンスであるiOSDCに参加してきたので、その様子を簡単にレポートしていきます。
まずは前夜祭から!
目次
はじめに
こんにちは。クラウドソリューショングループのtakinami.sです。
毎年参加しているiOSDCですが、今年は社内ブログに参加レポートも残していこうと思います。
iOSDCとは
冒頭にも書いた通り、iOSDCはその名の通りiOS関連の技術カンファレンスです。
主に日頃iOSエンジニアとして活動されている方々が集まって、発表を見たり聞いたりする場となります。
私自身がiOSエンジニアからキャリアをスタートしたこともあり、こうした場でたくさんの方々のお話を聞けるのはとても刺激になっています。
また、発表だけでなく企業ブースも充実しており、どんなサービスが世の中に出されているのかキャッチアップを行える場にもなっています。
ちなみに iOSDCには”I will blog”というスローガンがあり、参加した感想などを発信する動きを熱烈に推奨しています。
ブログだけでなく、当日はX(旧Twitter)をトレンド入りを狙う勢いでバンバン動かして、参加者が発信を行っています。
こうした動きがあるのもこのカンファレンスの面白い点ですね。
今まで開催されてきた分のブログは公式でまとめられていますので、覗いてみてはいかがでしょうか。
例えば昨年開催分は以下のような形になっています。
https://fortee.jp/iosdc-japan-2022/blog-link
公式のホームページはこちらからどうぞ。
発表のレポート
自分が聞いた発表のうちいくつかピックアップして感想と内容の紹介をしていきたいと思います。
モーダルの遷移を理解する
八十嶋祐樹さんの発表です。
SwiftUIでのモーダル表示の問題点と、そこに対してどのようなアプローチをすれば良いかをまとめられていました。
モーダルに限らず私もSwiftUIでの画面遷移に苦しめられた経験があり、今回共有いただいた内容は今後活かす機会があるだろうなと考えながら聞いていました。
基本的に遷移中にモーダルを閉じようとしたり別のモーダルに切り替えようとしたりすると、クラッシュしたりフリーズしたりといった動作上の問題が生じるようです。
こうしたことへの対策として同じViewの階層にあるデータソースは1つにまとめてしまおうという解決方法を示されていました。
enumを用いてどういった形のモーダルを出すかをまとめて定義しておくイメージですね。
前のモーダルが閉じられた後に次のモーダルを開くというように、遷移中にさらに遷移させるようなことを避ける実装をすれば問題発生は避けられそうです。
発表のスライドはこちらに公開されていました。
Swift Packageを使った巨大な依存グラフのキャッシュ戦略
giginetさんの発表です。
社内で開発されているアプリのビルドツールをBazelからgiginetさんが作成されたScipioに移行したお話と、Scipioの紹介をされていました。
パッケージ管理をどのようにするかというのは、Appleデバイス向けのアプリ開発を行うときの1つの課題だと思います。
パッケージ管理ツールとして例えばCocoaPodsやCarthageなどが挙げられますが、そうしたツールによってビルド時間は変わってきます。
プロジェクトの規模が大きくなって導入されるパッケージが多くなればなるほど、ビルド時間も長くなっていくことになります。
Bazelによってそうした課題を解消されていたようですが、Bazel独自の書き方が求められたりパッケージ同士のバージョンの依存関係を人力で解決しなくてはいけなかったりとメンテナンス面での課題が生じていたそうです。
そこでApple純正のパッケージ管理ツールであるSwift Package Manager(Swift PM)を利用したScipioを作成したというお話でした。
ビルドをする際のキャッシュの扱い方やSwift PMを使うことによるメリットなどが学びになりました。
私が初学者だった頃にSwift PMが使えるようになり「Cocoapodsより楽じゃん」くらいの温度感で当時はいたのですが、こうして改めてメリットを示されたことでSwift PMを積極的に使っていこうと思えました。
発表で使用されていたスライドはこちらです。
最後に
前夜祭はまだスタート前の助走段階(だと思っています)ですが、いきなり濃い内容のお話を聞くことができました。
では、次は1日目編でお会いしましょう。