2024年8月22日~8月24日の3日間に渡り「iOSDC Japan 2024」が開催されました。参加されたみなさま、カンファレンス運営に携わったみなさまお疲れさまでした。
今回はiOSDC Japan 2024において印象に残った内容や、当日の様子を交えてイベント内容をお伝えしたいと思います。
▼ 昨年の参加レポートはこちら
iOSDC Japan 2024について
カンファレンス概要
iOSDC Japan 2024はiOS関連技術をコアのテーマとしたソフトウェア技術者のためのカンファレンスです。今年もリアル会場とオンライン配信のハイブリッド開催を予定しています。
日本中、世界中から公募した知的好奇心を刺激するトークの他にも、パンフレットに掲載された技術記事、自分のペースでゆっくり参加できるポスターセッション、気持ちを盛り上げるネイルアートやフェイスペインティング、オープニングパーティ & 懇親会などなど、初心者から上級者まで楽しめるコンテンツがみなさんを待っています。
8月22日(木)〜 8月24日(土)はお祭りです!お楽しみに!!
※ iOSDC Japan 2024 (イベントサイト) より
タイムテーブル
イベントは合計3日間にわたって開催され、Day0は午後から、Day1, 2は午前から午後まで4つの会場で多くのセッションが行われました。
それと並行してスポンサーブースの出展がありました。
▼ タイムテーブルの詳細はこちら
スポンサーとしての参加
今回令和トラベルは、シルバースポンサーとして iOSDC Japan 2024 に協賛しました。今後も弊社としては、コミュニティ活動に積極的に貢献していきたいと考えています。
▼ イベントサイトのスポンサー一覧はこちら
イベント当日の様子
今年も入口には大きなパネルがあり、みなさん記念撮影をされていました。
当日は4つの会場でのセッション以外にも40社のスポンサーブースが展開され、各企業が嗜好を凝らした企画を実施されており、どのブースもたくさんの人で賑わっていました。
例年通り、ドリンクやフードの提供、お昼にはキッチンカーの営業などイベントを楽しむための配慮が多くなされており、1日中楽しみながらセッションやブースを回ることができました。
また、今回はブースを回るきっかけづくりとして、スポンサーブースビンゴ企画があり、ビンゴ達成でクレープやたこ焼き、ノベルティがもらえました。
我々も40社すべてのブースを回り、様々な企業の方々と交流することができました。
昨年に引き続き、オープニングパーティーや懇親会もあり、iOSエンジニアが交流し知見を深め合う場が多く用意されていました。
印象に残ったセッション
#1 座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
NEWTアプリでSwift Concurrencyの対応を進める過程でも、どの関数がどのContextに隔離されているのか分かりずらいと感じる場面が少なくありませんでした。こういった状況を軽減する手段の一つとして、Closureに対して明示的にnonisolatedキーワードを指定する方法が提案されているそうです。(参考)
また、基本的にはActorの利用が推奨されていますが、全ての状況下で使えるとは限らないので、Swift6・iOS18以上ではMutex・Atomicを利用する方法が良いと紹介されていました。それ以前の環境においては、自身でThread safetyを提供するラッパーを作ると良いと思います。
Swift Concurrencyの本質的な課題についても言及しており、StrictConcurrency対応の意義が感じられる内容でした。
Proposal
#2 Swift 6のTyped throwsとSwiftにおけるエラーハンドリングの全体像を学ぶ
Typed throwsの使い所・エラーハンドリングの分類について紹介されていました。SE-0413でも言及されている通り、Typed throwsを使えば良いというわけではなく、Untyped throwsの方が優れている場面もあるので使い分けが重要となります。
NEWTアプリでもTyped throwsを導入していますが、エラー種別の変動性が低いかつそれぞれでハンドリングの仕方を分けたい箇所に対してのみに適応しています。
Proposal
#3 Mastering AsyncSequence - 使う・作る・他のデザインパターン(クロージャ、Delegate など)から移行する
AsyncSequenceについて紹介されていました。時系列上の複数時点で値を受けとる場合に、Closureを利用して実現していたものを、AsyncStream・AsyncThrowingStreamを使ったAsyncSequenceのパターンに置き換える方法は、NEWTアプリでもやってみようと思います。
AsyncSequenceから流れてくる値は、Task内で
for await
を使って受け取る場合が多いです。その際に起こり得る強参照の問題を、 @_ImplicitSelfCapture
のトレードオフも説明しつつ丁寧に解説されていました。Proposal
#4 めざせ!WKWebViewマスター!
トークのタイトルにある通り、WKWebViewをマスターするためにWKWebViewの主要なコンポーネントの網羅的な解説がありました。
NEWT AppはUXにこだわり、基本的にネイティブで構成していますが、各コンテンツの寿命が短いLPやスポットでのグロース施策においては、WebViewを採用することが多いです。このときWeb内のコンテンツとAppのUIをシームレスに統合するような設計があるため、SFSafariViewControllerではなく、WKWebViewを利用しています。
特にグロース施策においては都度やりたいことが変化しやすいので、汎用的だが過剰すぎないWebViewクラスを設計する必要があり、日々試行錯誤をしています。
そんな我々の状況下において、リファレンスになるようなセッションでした。
Proposal
他にも開催期間中にたくさんのセッションが企画されていました。詳しくはこちらをご覧ください!
おわりに
上記でピックアップさせていただいたものは一部ですが、どのセッションも勉強になる内容が非常に多く、今後のプロダクト開発に活用していきたい内容もありました。また、個人的にもモチベーションにつながる良い機会になりました。
登壇者のみなさま、たくさんの貴重なセッションありがとうございました!
GO・note・令和トラベル 3社合同で『Mobile LT Night』を開催します!
そして、今回の「iOSDC Japan 2024」と9/11~13に開催される「DroidKaigi 2024」のアフターイベントとして、GO株式会社とnote株式会社と株式会社令和トラベルの3社合同で『Mobile LT Night』を開催します!
当日は、各社よりiOS/Androidエンジニア1名ずつ、合計6名がLTに登壇します。今年の国内最大の2つのカンファレンスを振り返りつつ、モバイルアプリ開発に関する知見を共有しあえるコンテンツをご用意しています。オフライン・オンラインの同時開催なのでぜひご参加ください!
令和トラベルでは一緒に働く仲間を募集しています
この記事を読んで会社やプロダクトについて興味を持ってくれた方は、ぜひご連絡お待ちしています!お気軽にお問い合わせください!
フランクに話だけでも聞きたいという方は、カジュアル面談も実施できますので、お気軽にお声がけください。
さらに、定期的に令和トラベルの技術や組織に関する情報発信を開催予定です。connpass にてメンバー登録して最新情報をお見逃しなく!
それでは次回のブログもお楽しみに!Have a nice trip ✈️