こんにちは。モバイル開発課の吉田です。
2024/8/22(木)~8/24(土)の3日間に渡り「iOSDC Japan 2024」(以下iOSDC)が開催されました。
そして今年度は弊社歴史上でも初のiOSDC登壇者として、当課メンバーが登壇しました!
応援も兼ねて当課メンバーもイベントに参加しました。
本ブログでは、当日の雰囲気やメンバーの印象に残ったセッションをお届けいたします。
iOSDCとは?
iOSDCはiOS関連技術をコアのテーマとしたソフトウェア技術者のためのカンファレンスです。
2016年の初開催から今年で9回目を迎えましたが、年々規模も大きくなり全国のiOSエンジニアからの注目度も非常に高いイベントとなっています。
当日コンテンツもメインとなるトークセッションの他、ルーキーズLT大会、スポンサー企業ブースでのユニークな展示企画、交流を深める懇親会、果てにはネイルアートやフェイスペインティングなど初心者から熟練者問わず楽しめるコンテンツが準備されています。
今年度も引き続きオンライン(ニコニコ生放送)+オフライン(早稲田大学西早稲田キャンパス)でのハイブリッド開催でしたが、現地は今年の猛暑に負けないほどの熱気にあふれていました。
前夜祭
iOSDCの初日である8/22は、前夜祭としていくつかのトークセッションが行われました。
その中でも今年の注目イベントは指示された動作をするSwiftコードをより短く書けた方が勝ち、という1対1の対戦コンテンツである「Swiftコードバトル」!
予選から熱い戦いが繰り広げられ、前夜祭では決勝の優勝者決定までが配信されました。
内容はシンプルですが、ライブコーディング特有の難しさを感じられる臨場感がありました。
また、優劣が一目で分かるようにリアルタイムでバイト数が表示されたり、決勝では観覧者も急遽同じ問題に挑戦できるようシステムが整備されるなど、運営側の工夫も光り、非常に見ごたえがあり盛り上がりました。
現地の様子
翌日8/23からはいよいよ、朝からiOSDC本編の幕開けです!
当日も厳しい暑さでしたが、多くの方が足を運んでおり、お祭りのような賑わいを見せていました。
スポンサー企業ブースではiOSやSwiftにちなんだ趣向をこらした企画が催されており、和気あいあいと交流している姿が素敵でした。
また会場には色々なエリアに軽食やフリードリンクが提供され、キッチンカーも設営されるなど参加者への気遣いが感じられました。
改めて運営の方々がイベントを成功させるために毎年努力を重ねられているんだな、というのが伝わりました。
トークセッション
メインとなるトークセッションは、会場4か所のブースでルーキーズLTも含めると合計91ともなる多種多様なトークが行われました。
日頃オフラインイベントに参加する事は少ないのですが、やはり現地で直接聴講するとスピーカーの方や会場の熱量も分かりやすく、立て続けの移動で1日の終わりにはクタクタになりましたが、とても濃厚な時間を過ごすことができました。
ここからは、当課メンバーが特に印象に残ったトークセッションをご紹介させていただきます。
メモリ最適化を究める!iOSアプリ開発における5つの重要なポイント
概要
- 当課メンバーの発表
- 昨今は機種性能向上により、ほとんど意識する機会が減ったアプリメモリ管理ですが、改めてそのテクニックを紹介
感想
- そこまで意識しないでいいととはいえ、このようなハードに近い領域を前提知識として知っているかどうかでクオリティに差が出る事を再認識した
- セッション自体ではないが5分という枠の中で、終わりに近づくとサイリウムを振って合図するなど会場の一体感が伝わるようなルーキーズLTの雰囲気が楽しかった
詳解UIWindow
概要
- UIWindowについて、UIScreen、UIWindowScene、UIViewとの関係と各クラスの役割、またこれらのクラスが動作するときの細かい挙動を解説
感想
- 基礎的な内容だが、開発者として知っておいた方がいいセッションと感じた
- 開発で触れることのあるUIWindowと関連するクラスについて、どういった概念で作られたものなのかわかりやすい図とともに解説しているところが良かった
- 画面要素の表示順序が設定される仕様、全画面表示にしたとき特有の仕様など知っておいた方がいいことやSwiftUIからウィンドウサイズを取得する場合など学びの多いセッションだった
座談会 「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」
概要
- Swift 6におけるStrict Concurrencyの導入が、ソフトウェア開発にどのような影響を与えるかについて、座談会形式で議論
感想
- Data raceとRace conditionの違いについて図で説明されていて分かり易かった
- Data IsorationについてIsoration Domainごとの具体的なコード事例など交えながら説明があり分かり易かった
- Concurrencyへの移行を始めるのにおすすめのレイヤーとData raceの原因ごとの具体的な手法について言及されており学びが多かった
ゼロから始めるiOSセキュリティ ~ OWASP Mobile Top10から学ぶ脆弱性対策
概要
- モバイル開発を行うにあたって、よく遭遇するセキュリティリスクを例に、その内容と対策を紹介
感想
- モバイルアプリ開発におけるセキュリティの重要性を改めて認識できた。特に、クライアント側の端末で動作するアプリにおいて、センシティブな情報(パスワードや個人情報など)の取り扱いには、細心の注意が求められることが強調されていた点が印象的だった
- アプリごとに作成されたサンドボックス領域へのアクセスも決して不可能ではないという点、リリースビルドであってもコード解析は可能であるという事実から、セキュリティ診断を行う際に Appleの仕組みに頼り切った判断は危険だと認識できた
- これらの点から、そもそもセンシティブなデータはアプリ側に置かない方が良いという結論に自然と至った。できるだけクライアント側ではなく、サーバー側でデータを管理し、必要に応じて最低限の情報のみを端末に保存するというアプローチが、より安全なのだと強く思った
iOSアプリらしさを紐解く
概要
感想
- デザインがユーザへ与える情報量は多く、適切なアニメーションやUIの採用がユーザー体験の向上に与える影響は大きいと感じた
- Appleにおける「直感的」というワードは切っても切れないもので、現実世界の挙動を模倣したデザインの採用もその役割を担っていると感じた
- ハーフモーダルを引っ張って項目を探すという動作は、引き出しから物を探す動作に似ているというように、現実世界の動作と照らし合わせてみることは「直感的」な使用感につながるデザインを選定するヒントになりそうだと感じた
Kotlin MultiplatformでSaaS大規模アプリの生産性を向上させる技術的意思決定と導入効果を最大化するための取り組み
概要
- Kotlin Multiplatform(以降KMP)導入までの意思決定と導入する際の取り組みを紹介
感想
- 私自身がAndroidアプリエンジニアのためKMPを学習する際ハードルとして意識していなかったAndroidではお馴染みのGradleなどのツールやライブラリやKotlin学習などをiOSエンジニアがしっかりキャッチアップできるような取り組みがなされているのが印象的だった
- 学習コスト以外では、Objective-C変換される点はSwift変換がロードマップ上にはあるそうなので、解消されることを期待
ここで紹介した以外にも、本当に興味が惹かれるセッションばかりで、技術的モチベーションの刺激にもなりました。
登壇メンバーも終わった後の解放感がすごかったと言っていたので、登壇者の方々は当日まで入念に準備を重ね、重責に耐えて挑まれたものと思います。
登壇者の皆様、本当にお疲れ様でした&ありがとうございました!
さいごに
以上、3日間に渡る「iOSDC Japan 2024」の模様をお伝えしましたがいかがだったでしょうか。
iOSDC自体はこれまでも断片的には楽しませていただいていましたが、今年度はメンバーも登壇し初の現地参加ということでまた特別な体験でした。
リモートでは得られない現地の熱気や交流を通じて、チームとしてもお互いに更に理解を深めたり、トークセッションを受けて早くも創作意欲が湧き上がったりと有意義な経験を得る事ができました。
そして最後にはなりますが運営いただいたスタッフの皆様、登壇者の皆様、参加者の皆様、本当にお疲れ様でした。