RIZAPテクノロジーズ株式会社

採用サイト

2025.04.24
技術・カンファレンス

技術と好奇心に火をつける場所──try! Swift 2025参加レポート

#swift #tryswift #iOS #カンファレンス #イベントレポート
技術と好奇心に火をつける場所──try! Swift 2025参加レポート

try! Swift Tokyo とは?

try! Swift Tokyoは、Appleのプログラミング言語「Swift」に特化した、国際的な開発者向けカンファレンスです。

毎年東京で開催され、世界中から開発者が集まる最新技術の共有やエンジニア同士の交流が行われる貴重な機会となっています。

今回は2025年4月9日(水)~ 11日(金)に立川ステージガーデンで行われました。

会場の立川ステージガーデン

Swiftは誕生して10年。会場でも祝われました!

レポート執筆者

山野井 陽一:chocoZAPのiOSアプリ開発を担当。
並木 一晃:2024年にRIZAPテクノロジーズに入社した新卒2年目のiOSエンジニア。

メインオーガナイザーの松館さんとRIZAPメンバー

今回の記事は「参加レポート」と「スタッフ参加レポート」の2部構成になります。

↓↓↓ 弊社田中の「スタッフ参加レポート」はこちら ↓↓↓

作り手として見たtry! Swift──当日スタッフとして関わるということ

 

セッション紹介

この記事ではまず印象的だったセッションをレポートします。

「Swift WTF - 奇妙な挙動、落とし穴、そして修正策」(レポート:山野井)

登壇者:Sophie Hudson さん(15歳の学生) 

奇妙な挙動、落とし穴、そして修正策というセッションタイトル通り「えっ、Swiftってこんな挙動するの!?」という驚きの事例が次々と紹介されました。

登壇者のSophieさんは後述するPaul Hudsonさんの娘さんで、15歳ながら堂々とした発表が印象的でした。

このセッションの中で、印象に残ったSwiftの挙動はふたつあります。

ひとつめは-10.squared() の結果が100ではなく、実際には - (10.squared()) となるため -100 になる、という例。

国の絵文字をreplacingOccurrences(of:with:)で置換すると、別の国の国旗に変わるという意外な挙動。(ニカラグア知らなかったので勉強になりました。)

後者については、Objective-CのNSString実装に起因しており、国旗絵文字は内部的に「国コード」として扱われているそうです。

ふだん意識することの少ない部分ですが、SwiftとObjective-Cの橋渡し部分にはまだまだ“落とし穴”があると改めて認識……。

型や演算子の挙動もわかったつもりにならずに、意図的にテストコードを書くことの重要性を再認識しました!

 

 

「SwiftUIで特殊な文字表現を作るには?」(レポート:山野井)

登壇者:Paul Hudson さん(Hacking for Swift の運営者)

こちらはSwiftUIの描画能力をフルに活かしたリッチな文字表現に関するセッションです。

昔よく見た“WordArt”のような装飾文字をSwiftUIで再現できるか?という挑戦的な内容でした。

学びになった特殊な文字表現はこちら。

TextRenderer APIを使うことで、テキストの構成要素(Line / Run / Glyph)にアクセスし、細かなカスタマイズが可能(Run、Glyphという要素があるのを今回知りました!)。

さらに複雑な表現(PerspectiveTiltや曲線など)は、Metal Shader を組み合わせることで実現可能。

 

/assets/n7411b2f019a8_d4d8a720bc9f3b2111acfeb338a148a1.mov

 

/assets/n7411b2f019a8_63a40730b1a19896eeb0d3a90b0816a7.mov

コードはこちらで公開されています。
https://github.com/twostraws/Inferno

https://github.com/twostraws/Prismic

補足:
try! Swiftの公式Webサイトも、Paulさんが開発したIgniteを使ってSwiftで構築されているとのことです。

とにかくぜひ触ってみてください。私もIgnite を使ってWebページを作成しようと思います。

https://twitter.com/tryswiftconf/status/1896781430191174070

「Vision Pro × Text to 3D Model: Swiftと生成型AIが切り拓く新時代の空間コンピューティング」(レポート:並木)

登壇者: Ryo Igarashi さん( newmo, Inc. )

 

このセッションでは、 Vision Pro (visionOS)と生成型AIを組み合わせて、テキストプロンプトからリアルタイムで3Dオブジェクトを生成する手法が紹介されました。

ここでvisionOSの基礎からテキストから3Dモデルを生成するAI技術の概要、そしてIgarashiさん自身が開発された「Model Maker App」の事例までが、ていねいに解説されます。

Swiftと最先端のAI技術が融合し、従来のアプリケーションの枠を超えた没入型ユーザー体験が可能になるようです。

空間コンピューティングの未来像がリアルに伝わってきました。

https://youtu.be/v5Kbgprvvio?feature=shared

空間コンピューティングの未来を見た!(並木)

今年のtry! Swift 2日目はVision Pro関連のセッションが集中していました。私も過去にVision Proを体験したこともあって、特に楽しみにしていたテーマのひとつです。

ChatGPTの画像生成を使ったことがある人もいらっしゃると思います。今後3Dモデルを生成できるようになれば、誰もが手軽に3Dコンテンツを制作できる時代が来ると感じました。

空間コンピューティングはまだ黎明期です。今後SwiftやvisionOSの開発ツールが進化しAIとの連携がより深まることになったとき、私たちのデジタル体験を大きく変わるだろうと感じさせるセッションでした。

 

「J1プロサッカーチームFC町田ゼルビアのImmersive動画を撮影しSwiftでViewerを実装し体験会実施した」(レポート:山野井)

登壇者:服部智さん(CyberAgent / VisionOS Expert)

Vision Pro関連のセッションの中でも個人的に注目していたのがこちらです。

J1プロサッカーチーム「FC町田ゼルビア」の立体的な映像を使ったImmersive Videoの制作&視聴体験の事例紹介でした。

https://www.youtube.com/watch?v=uuBpbHIcTDc

本セッションではプランニングから、撮影、編集、Vision Pro向けViewerのSwift実装まで、一貫した制作フローが紹介されました。

Viewerはシンプルな操作性を重視して実装されており、初心者でも迷わず体験できるよう設計されているのが特徴。

没入感のあるUX設計、体験のしやすさを意識したUI構成は、アプリ開発においても応用できそうです。

今回学んだ新しい体験の制作フローは、これからの自分の新しい体験開発にも役立つと思います。

 

実際に体験しました!

「通知に彩りを加えよう」(レポート:並木)

登壇者:noppe さん( DeNA Co., Ltd. )

 

このセッションではiOSアプリの通知にカスタム絵文字を表示する試みが紹介されました。

iOSはバージョン18からは通知にGenmojiを表示できるようになっています。

そこでnoppeさんは自身のアプリでカスタム絵文字を通知に表示させるためにGenmojiのリバースエンジニアリングに取り組みました。

カスタム絵文字をGenmojiとして認識させるためにNSAdaptiveImageGlyphを活用する方法を模索。

結果としてHImageのメタデータ内にあるt document nameキーにUUIDを設定することで、通知にカスタム絵文字を表示する方法を実現したそうです。

https://youtu.be/h1iUAJqJBiw?feature=shared

解決策を導くアプローチに驚き(並木)

いままでGenmojiはiOS18リリース時に使ったことはありましたが、通知に表示できることは知りませんでした。

デフォルトで用意された絵文字以外を通知に活用できれば表現の幅が広がり、他のアプリとの差別化にもつながりますね。

また特に興味深かったのはGenmojiを“ハック”するような形でカスタム絵文字を表示するという手法です。

「やりたいことはあるけど、どうやって実現すればいいのか分からない」といった場面で、類似事例を調査しつつ、そこからリバースエンジニアリングによって解決策を導くというアプローチは非常に勉強になりました。改めて技術を深掘りする姿勢の大切さを感じます。

たとえば、chocoZAP には「ちょこちゃん」というかわいいキャラクターがいます。このちょこちゃんの絵文字を通知欄に表示できたら、より親しみやすく、ユーザーとの接点として活用できるのではないでしょうか。

 

会場のようす・各ブースのようす(レポート: 並木)

スポンサーブースには人がたくさん!

セッションの合間の様子

スポンサーブースを全て周ると、 try! Swift のマスコットキャラクター「Rikoちゃん」のグッズが当たるガチャガチャを回すことができ、私(並木)も挑戦しました!

今年のイメージカラーの筐体

ガチャガチャを回す私(並木)のようす

ボックスティッシュが当たりました

セッションの内容はもちろんのこと、イベント全体を通して随所に工夫が感じられ、まさに”細部まで仕掛けが詰まった”カンファレンスでした。

特に印象的だったのがノベルティを入れる紙袋です。もらったときに「どこかで見たことあるな……」と思ったところ、Appleのショッパー(紙袋)からインスピレーションを得たようです。

持ち手にはAppleと同じ紙ファイバーの素材が使用されており、こうした遊び心やディテールのこだわりもtry! Swiftらしさのひとつだと感じました。

左がtry! Swiftの紙袋、右がAppleの紙袋

また、try! Swiftは国際カンファレンスということで英語のセッションがほとんどです。

そこでレシーバーを使用した同時通訳サービスや公式アプリを通じて提供されていた「Flitto」によるリアルタイム翻訳機能といったサポートが充実していました。

海外の情報に触れるハードルをグッと下げてくれて、英語が得意でない人でも内容を理解しながら楽しむことができたようです。

Flitto が動作しているアプリのようす

いままでの経験が、驚きの広がりを見せた。(並木)

今回はじめてtry! Swiftに参加してSwiftが持つ技術的な広がりと可能性を改めて実感しました。

アプリ開発に限らず、3D表現やグラフィックなどにも応用できる柔軟性の高さに加えて「このAPIってこんな使い方もできるんだ」と驚くようなセッションの連続でした。

中には、私が実際の研修で使用したAPIについてのトークがあり、これまでの経験と繋がる内容だったのでより深く学ぶことができました。

一方、英語の重要性も改めて痛感することも。

実際に海外の方とコミュニケーションを取る機会がありましたが、英語が苦手な私は、うまく言葉や単語が出てこなくて翻訳アプリを使ってやり取りをしました。

テクノロジーの力で言語の壁を越えることができるのはとても良いことでありつつも「自分の言葉で」コミュニケーションを取ることができたらもっと深く繋がることができたのではないかと思いました。

そして、何より印象に残っているのは「Swift」という言語に対する会場全体の熱量です。参加者やブースの方々と話す中で「みんな本当に Swiftが好きなんだな」と感じました。

私ももっとSwiftを好きになって、もっと成長して、来年もこの場に戻って来られるように、ひとりのエンジニアとしての力をさらに高めていきます!

try! Swift のノベルティたち

カンファレンスに足を運んで新しい刺激に出会おう!(山野井)

以前はオンラインでの参加が中心だったカンファレンスも、ここ1~2年で徐々にオフラインに足を運ぶようになりました。

実際に参加してみると、現地ならではの空気感や開発者同士の熱量をダイレクトに感じられ、やはり貴重な体験だと感じます。

try! Swiftでは技術的なインプットはもちろん、「自分も何か作りたい」と思えるようなモチベーションも得られました。実際、私は2日目の夜から個人開発のゲームを始めています。

もしこれまでオンラインでの参加が中心だった方は、ぜひ一度オフライン参加をしてください。技術だけでなく人とのつながりや新しい刺激に出会えるはずです。

関連する求人情報

ENTRY