iOSエンジニアの祭典「iOSDC Japan 2024」カンファレンスレポート

iOSDC Japan 2024とは?

iOSDC Japanは、iOS関連技術をコアのテーマとしたソフトウェア技術者のためのカンファレンスです。日本中、世界中から公募した知的好奇心を刺激するトークの他にも、パンフレットに掲載された技術記事、自分のペースでゆっくり参加できるポスターセッションがあります。さらに気持ちを盛り上げるネイルアートやフェイスペインティング、オープニングパーティ&懇親会など、初心者から上級者まで楽しめる盛りだくさんのコンテンツが用意されています。

今回で第9回目となるiOSDC Japan 2024は、2024年8月22日(木)〜8月24日(土)の3日間、東京・早稲田大学理工学部 西早稲田キャンパスにて開催されました。

今回のレポートでは昨年初めてオフラインでの参加、今年初めて当日スタッフとしても参加した私が、iOSDC Japan 2024のコンテンツについていくつかピックアップしてお届けします!

DAY1終了時に撮影した集合写真

Swiftコードバトル

今回初めて実施されたのが「Swiftコードバトル」です。問題として出題された動作をするコードを、Swiftでより短く、より早く書けたほうが勝ちという1対1の対戦バトルです。事前に予選会を開催し、予選を勝ち抜いたプレイヤー8名が、iOSDC Japan 2024当日に開催された「Swiftコードバトル本戦」で戦いました。

本戦ではプレイヤーが実際に試行錯誤しながらコードの文字数を削っている様子がスクリーンに投影されており、観客はリアルタイムでコードをみて応援できました。

コードバトルの会場の様子

実際の問題や回答、解説に関しては公式ブログに掲載されています。あわわせてご覧ください。

スポンサーブース

今年は82社がスポンサーとして協賛し、うち40社(過去最高)がスポンサーブースを出展しました。各社様々な嗜好を凝らしたブースを展開しており、クイズを出題しているブースや、実際にプロダクトを触りながら担当の方と交流できるブースなど、双方向のコミュニケーションを楽しめるブースになっていました。

スポンサーブースの様子

さらに今回はスポンサーブースを回ってスタンプを集めて賞品をゲットできる「スポンサーブースビンゴ」が開催されました。ビンゴカードをきっかけにブースへ訪れ、コミュニケーションをする良いきっかけになった人も多かったのではないでしょうか。

スポンサーブース ビンゴカード

アートブース

オフライン会場では初の試みとしてアートブースが設置されました。

アートブースではカンファレンスロゴを爪に描いてもらえるネイルアートや、カンファレンスロゴはもちろん好きなロゴを顔や腕に描いてもらえるボディペインティングを無料で体験できました。私を含め、普段ネイルをしたことのない人も「せっかくの機会だから」とネイルをしたりして、みなさんとてもテンションが上がっていました!

アートブース

トークセッション

今回はトラックA〜Dの4つの会場に分かれ、レギュラートーク・LT・ルーキーズLT合わせて全93本のトークセッションが実施され、どのトークも盛り上がりを見せていました。

その中でも私が個人的に気になった企画やトークについて、いくつか紹介します。

座談会「Strict ConcurrencyとSwift 6が開く新時代: 私たちはどう生きるか?」

iOSDC Japan 2024では初めての座談会形式のトークが開催されました。ファシリテーターをshiz氏@stzn3が務め、kntk氏@kntkymt⁠、koher氏@koher⁠、まつじ氏@mtj_j⁠、omochimetaru氏@omochimetaruの計5名が参加しました。

座談会の様子

来たるSwift 6に向けて私たちはどうすれば良いのかをテーマにした座談会で、私も業務でSwift Concurrencyへの対応を進めている状態だったため大変参考になる話でした。

話題の一つに「SwiftチームもすべてActorに置き換えられるとは考えていない」ことが取り上げれました。基本はActorの使用が推奨されていますが、レガシーコードや同期アクセスが必要な場面ではMutexやAtomicというロックのための型を使用できます。この方法はiOS 18(Swift 6)以上が対象ですが、対象未満のバージョンでもOSAllocatedUnfairLockを用いて対応できることを紹介しました。

基本はActor

具体的な移行の進め方にも話が広がりました。全体をConcurrency対応させるか、@preconcurrencyなどで暫定対応をするかという悩みに関しては、エンジニアとして後者に抵抗があることは私も同じ思いでした。しかし、まずはSwift 6の環境下でビルドが通りConcurrencyのチェックができる状態にしてから安全なリファクタリングを優先するために暫定対応でも良いというのは貴重な意見でした。

事前アンケートの結果(難しそうだと思う点)

「App Clipの魔法: iOSデザイン開発の新時代」

次に、log5氏@log5によるApp Clipについてのトークを紹介します。

log5氏

App Clipとは、WWDC 20にて発表された「アプリをインストールしていないユーザー向けにアプリの一部機能を素早く提供するための仕組み」で、iOS 14以上の環境で利用できます。使い方もQRコードにカメラをかざすだけなので、ユーザーも簡単にApp Clip経由でアプリを使用できます。

App Clipとは

App ClipはXcode上では1つのターゲットという扱いに過ぎないため、1から新しいアプリを作るわけではなく大きく以下の3ステップで作成できます。

  1. ターゲットを新しく追加
  2. AssetsをAppとApp Clip間で共有
  3. Active Compilation Conditionで条件付きコンパイル

既にアプリケーションが存在すれば、既存のリソース内にif APPCLIPの分岐を追加していくことでApp Clipに対応できます。

トーク後半は「App Clipをデザイン開発へ利活用する方法」として、開発中のアプリをチーム内で共有する際にApp Clipを使う方法を取り上げました。しかし、実現可能性を改めて洗い出すと現時点では様々な制限から実用は難しいようです。

実現可能性

「健康第一!MetricKitで始めるアプリの健康診断」

次に、nekowen氏@n3k0w3nによるMetricKitを用いたアプリのパフォーマンス改善についてのトークを紹介します。

nekowen氏

アプリのパフォーマンスとは応答性、アプリの起動時間、メモリの使用量、バッテリー効率の4つを主な指標としています。これらのパフォーマンスが悪くなることでアプリの安定性や使い勝手が悪くなってしまうため、パフォーマンスを良い状態に維持することが必要とされています。

このパフォーマンス情報の収集手段は主にXcode Organizer、MetricKit + API、外部サービス(Firebase Performance Monitoring)の3手法があります。

現状リリースされているアプリのパフォーマンスであれば、まずXcode Organizerを眺めることである程度の情報を得ることができます。その上で既に監視サービスを利用している場合はデータを一箇所に集約するほうが運用の都合上良いケースがあるため、MetricKitを用いることを検討すると良いとまとめていました。

パフォーマンス情報の収集手段

MetricKitは自分で用意したサーバーや外部の監視サービスに対してメトリクスや診断データをアプリ側から送ることができる仕組みです。他の2種類の方法と異なり、より細かい情報を収集できるためさらに詳しい分析ができるようになります。

トーク後半に、nekowen氏が開発に携わっている「STORES レジ」での活用事例を取り上げました。CrashlyticsやTestFlightにクラッシュログが出力されないクラッシュをMetricKitを活用することで原因の特定と改修を実現したそうです。

まとめ

LT大会

iOSDC Japanの醍醐味でもあるLT大会が今年も開催されました。DAY1の「ルーキーズLT大会」は初めてiOSDC Japanに登壇するスピーカー限定、DAY2の「LT大会」は誰でも登壇できるルールで、どちらも盛り上がりを見せました。

会場は昨年と同様、入場時に配布されたペンライトを持った観客で埋まっていました。残り時間が1分を切ったタイミングで、緊迫した音楽とともにスクリーンに「残り時間わずか ペンライトを振れ!!」という文字が表示されるのを合図に、会場がスピーカーの推し色に染まっていてとても面白かったです。

残り時間わずかになった時の会場

おわりに

今年のiOSDC Japanは、昨年以上にオフライン会場での施策や取り組みが増え、大変盛り上がった年になりました。それも様々な形で参加していただいた、みなさんのおかげです。

今年は約5年ぶりのSwiftのメジャーアップデートである「Swift 6」や、Appleの新デバイス「Apple Vision Pro」など新しいトピックの多い年でした。もちろんそのようなテーマのトークも多くありましたが、93本もセッションがあるiOSDC Japan 2024では幅広いジャンルのトークが繰り広げられました。

もし「カンファレンスは自分にはまだ難しそう、まだ早い」と思って参加タイミングを見計らっている方は、ぜひ一歩踏み出してみてください。初めて参加した時には内容が難しく理解しきれなかったことでも、いつか「そういえばiOSDCでこんなトークがあったな」という引き出しの1つになり、改めてトークを見返すきっかけになります。また毎年参加することで理解できる内容のトークが増え、自分に知識が増えていることを確認できるのもカンファレンスの楽しみ方の1つだと私は考えています。

改めて、iOSDC Japan 2024に参加者、スピーカー、パンフレット寄稿者、スポンサー、スタッフなど様々な形でご参加いただいたみなさん、ありがとうございました。

来年もまた皆さんと一緒にiOSDC Japanを作り上げられることを心から楽しみにしています!

また来年!!(?)

おすすめ記事

記事・ニュース一覧