こんにちは。 Gunosy で iOS アプリ開発している小野と吉岡です。 try! Swift Tokyo 2026 に参加してきたのでレポートを書きます。
はじめに
try! Swift Tokyo は Swift をはじめとする iOS アプリ開発などを取り扱う技術カンファレンスです。今回は立川ステージガーデンにて 2026 年 4 月 12 日 ( 日 ) ~ 4 月 14 日 ( 火 ) に開催されました。
try Swift について
去年に引き続き参加させていただき、今回で 2 回目の参加となりました。 今年は記念すべき 10 周年です。初日にワークショップ、 2 ・ 3 日目にカンファレンスという日程でした。 try! Swift Tokyo は英語での登壇が多い傾向にありますが、公式アプリによるリアルタイム翻訳や、プロジェクター下部への翻訳テキスト表示など、非英語話者への配慮が充実しており、昨年よりもトークの内容を理解しやすくなっていました。 カンファレンス 1 日目の夜にはパーティが開催され、参加者の方々と開発に関する話をしたり、各トークについて語り合ったりと、とても充実した時間でした。 スポンサーブースでは各企業の方々と交流できたほか、スタンプラリーをすると景品がもらえるといった催しもあり、こちらも楽しめました。
ワークショップ
私が参加したワークショップのテーマは 「 iOS Private Playgrounds 」で Private API の活用でした。 Private API とは Apple が公式ドキュメントで公開していない、iOS や macOS のシステム内部で機能する非公開の API です。 本来当然ながらリリースビルドへの組み込みは NG ですが、デバッグ目的であれば活用できる場面があるとご説明いただきました。 デバッグ中に Private API を探索しながら動作を確認できるのは非常に興味深く、Key-Value Coding を用いて UIAlertController の中に SwiftUI の View を埋め込みカスタムするといった面白い試みもハンズオンで体験できました。 また、「 Private API を公式に公開してほしい」という要望を Apple に送ることもでき、実際に半数ほどは実装フェーズに進むこともあるそうです。 セッション内で紹介された Apple からのメッセージは思わず笑ってしまうほど面白かったです。
小野が気になったトーク
思いやりという技術
Apple Design Award を受賞した「 Art of Fauna 」の開発者 Klemens さんが、アクセシビリティへの徹底した取り組み、ユーザーサポートとの真摯な向き合い方、そして自分自身とユーザーに対する caring (思いやり)というテーマで語ったトークとなります。 最後にまとめとして話された「 if you care a bit more, you might not only find success, but also be happy doing so. 」というメッセージが印象的でした。
今カンファレンスで最も印象に残ったトークのひとつです。
まず純粋にアプリとして気持ちよさそうだと感じました。パズルのピースを動かすたびに音が鳴り、完成すると鳥の鳴き声が流れる。そういった細部のサウンドデザインへのこだわりが、アプリ全体の体験を豊かにしているのだと思います。
そのうえでアクセシビリティへの取り組みが特によかったです。視覚障害のあるユーザーにも体験を楽しめるように、パズルデザインの裏側にある文字列を使って語彙の順番でピースを操作できるようにしている点は、音声読み上げ機能とアプリのコンセプトを融合させた発想で感心しました。またパズルデザインで蛇や蜘蛛等の恐怖を感じるデザインが苦手なユーザーは非表示にできる恐怖症設定まで用意されているのも、全員が楽しめるアプリにするという開発思想の一貫性として伝わってきました。
特に参考にしたいと思ったのが、アクセシビリティ設定をアプリの最初の画面に置いているという点です。多くのアプリでは設定画面の奥深くに追いやられがちで、存在自体に気づかれないことも少なくありません。起動直後に選択肢として提示することで、必要なユーザーに確実に届く設計になっていました。アプリ開発においても、アクセシビリティ設定を後で追加するものではなく、最初から設計に組み込む習慣をつけていきたいと感じました。
吉岡が気になったトーク
SwiftUIってなんでこうなるの?
普段書いている SwiftUI のコードからだけでは見えにくい「内部の動作」を解説するトークで、非常に興味深い内容でした。
特に印象的だったのは、frame や padding のような Modifier を利用した際の挙動です。特定の Modifier を適用すると元の View の親として別の View が生成され、型自体が変わってしまいます。それを some View という形式で抽象化することで、コードの可読性を保ちながら SwiftUI 内部の設計をシンプルに保つ工夫が垣間見えました。
また、if でケースに応じて生成する View を切り替える記述においても、内部的には「 if を表現する View 」が作られ、その子要素として分岐対象の View が保持されるという構造は、これまであまり意識していなかったため新鮮でした。
SwiftUI では「 if で分岐して表示内容を切り替えるのは必要最低限にし、できる限り View にわたすパラメータを切り替える方が良い」というプラクティスをなんとなくの知識として持っていました。今回、その理由となる背景を構造的に理解できたことは、今後の SwiftUI での実装において大きな武器になると感じています。
イベントを終えて
try! Swift Tokyo は年々ブラッシュアップされており、今年も発見の多いカンファレンスでした。どのトークも新鮮で刺激的で、改めて iOS 開発の面白さを実感できました。また、 iOS 開発者の方々と直接お話しする機会もあり、日々の開発の話や AI 時代の開発体制について語り合えたことも、とても有意義でした。
最後に、try! Swift Tokyo に関わるすべてのスタッフ・スピーカー・スポンサーの皆さん、そして参加を支援してくださった会社に心から感謝します。