🎉

iOSDC Japan 2025 に バックエンド エンジニアが参加してみた

に公開

こんな人向け

  • iOSDC について知らない人。
  • iOSDC について知っているが、参加したことが無い人。
  • iOS関連の技術 に興味があるが、触ったことが無い人
  • バックエンドエンジニアで、モバイル側を実装する人達が、どういったアーキテクチャを考えているのかを知りたい人。

この記事のゴール

  • iOSDC の雰囲気を知ることができる。
  • iOSDC で発表された内容について概要を知ることができる。
  • iOSDC で議論されていたアーキテクチャについて知ることができる。
  • iOSDC に行ってみたくなる。

記事の概要

  • iOSDC Japan 2025 のイベントに、オフラインで参加した時の感想や得た知見を記載してます。
  • バックエンドエンジニアの目線からどう写ったのか(そして何が楽しかったのか)を記載します。

iOSDC とは

iOSDC Japan 2025はiOS関連技術をコアのテーマとした、ソフトウェア技術者のためのカンファレンスです。会場は有明セントラルタワーホール&カンファレンスですが、トークセッションについてはオンライン配信も予定しています。
日本中、世界中から公募した知的好奇心を刺激するトークの他にも、パンフレットに掲載された技術記事、懇親会など、初心者から上級者まで楽しめるコンテンツがみなさんを待っています。

  • 実際には、私と同じバックエンドエンジニア や 「前はバックエンドだったけど、転職でiOSをやることになった」といった方など、かなり少数ではあるものの、バックエンドエンジニアや元バックエンドエンジニアの方もいらっしゃってました!

  • 「iOSのアプリちょっと触ってみたいな~」とか「業務でiOSアプリを少しだけ触ったことはあるけど、ガッツリ iOSアプリやってる人たちが注力している技術って何だろう?」とかって思っている人でも気軽に参加できると思います。

Ask the Speaker

  • セッション発表後に、登壇者へ質問や会話ができるスペースです。
    (個人的にこのコーナがあったのが1番良かった…。)

  • この後のセッションの感想には Ask the Speaker でお話した内容も含めます。

参加したセッションと感想

ハイパフォーマンスにGIFを再生する技術

登壇者のSpeakerDeck
※ まだ上がっていないようなので、その内 上がると思いやす。

  • 登壇者が作成されたアプリDAWN for mastodon by Nightfox の開発で直面した課題を解決するために、Gifを表示する仕組みを解説しながら、どうチューニングしていったかの話。
    ※ Zennでも同様の記事を投稿しているようです。

  • Gifがどういったものかは知っていたけど、そもそもGifをアニメーションする時の仕組みについては全く知らなかったので、面白かった…。

  • パフォーマンスチューニングの話だけでなく、「そもそもパフォーマンスのチューニングが必要かどうか?どういった基準で考えるか?」についても話があったので、この考え方も非常に参考になりました。

ウォンテッドリーのAI活用:開発現場での取り組み

プロポーサル

  • 複数のAIエージェントを組み合わせて、ウォンテッドリーの開発プロセスの中のどこで、どんなタスクについてAIを活用しているかについての話

  • Deprecated となったコードの修正 に AIを活用して修正してもらうのは良いなと思いました。 (iOS アプリを触った経験がある人は誰しも直面する問題ですしね…。)

  • 「テストコードとかってどうするんだろ?」と思いましたが、まずは 設計 をしっかり考えて作り、それを元にAIにテストコードを書かせる、実装をさせる、といったようにして、AIの出力品質が落ちないように工夫されていました。(やっぱ 設計 って大事っすよね…。)

Ask the Speaker

  • 実際にAndroid、iOS の設計では どのようなレイヤー分けやパターンを採用しているのかを聞いてみました。
  • 一部の共通処理については、オブザーバーパターンなどで自作されたライブラリを活用していて、それを元にアプリ開発を進めてるとのことでした。(うらやましい。)
  • (テストコードを書くにもモックとか必要だから DI とかどうしてるんだろ?みたいな話もしてました。)

テストコードすら書けなかったレガシーアプリがAIと上手に協働できるようになるまでの軌跡 by 吉田誠

プロポーサル

  • レガシーなアプリのリニューアルプロジェクトにアサインされたAndroidエンジニア が どうリアーキテクチャを進めてきたかの話

  • Googleが推奨するアーキテクチャを参考に、iOSアプリの開発でも同様のアーキテクチャを導入した

  • 開発、リファクタ を進めるにあたっての指針として、とにかくテストが書ければOK(ただし、DataSourceの差し替えのみで動くようにする)

    • この明確で分かりやすいルールはかなり参考になった。がっつりテストしようとすると頓挫するケースが良くあるので…。

SwiftUI時代のスクショ保護〜セキュアなViewの作り方〜 by ビスター

登壇資料

  • 標準APIが対応していない中で、どのようにスクショ保護機能を実装するかの話
  • PrivateAPI (Appleから公開されていないAPI)を使って保護機能を実現してました。
  • まさか PrivateAPI なるもの存在するとは知っていなかった…。( XCode で ステップ実行した時に途中から変なバイトコードみたいなところへ飛ぶのは Private API の中身に行こうとしてたからか…。)
  • 登壇者の PrivateAPI に対する研究熱意がすごかった…。詳しすぎる…。

Ask the Speaker

  • PrivateAPIの中身を見る(あるいはメソッド名だけでも見て予測を立てる)のはどうしているのかを聞きました。ヘッダファイル(メソッド定義だけ記述がある)を見て、どんなPrivateAPIがあるかを調査しているそうです。すご…。
  • PrivateAPIを使う方法についても話題に上がりました。

少人数体制を実現するモバイルアプリ開発のDevEx改善 by 417.72KI

プロポーサル

  • ウェルスナビの方が、iOS,Android エンジニアが少ないなかで、どう開発体験を改善していったかの話
  • できるだけ自動化出来る所は自動化して、開発者やレビューの負担、工数を削減されてました。
    • CI/CD、テスト自動化はよく聞きましたが、まさか開発環境の構築まで自動化されてるとは驚き…。
    • バックエンド勢だけど、ここは実際にマネできそうだなぁ…。
  • アプリのアーキテクチャとしては TCA(間違ってたらすみません…。)を採用しており、自動テストの際は、テスト時は テスト用のStateを入れて動作させ、表示を SnapshotTesting を使って レイアウト崩れが無いかを確認しているそうです。
    • (SnapshotTestingを初めて知りました…。こんなツールあるんや…。)

Ask the Speaker

  • めっちゃ iOSアプリ デプロイあるあるなどで盛り上がりました…w 超楽しかったです。
    • (私も ちょこっとだけ iOSアプリをデプロイすることがあったので…。)
    • デプロイにまつわるの失敗談や、その時にどうしたか、といった 話をさせて頂きました。
  • セッションではアーキテクチャの部分や実際にテストをどう行っているかを詳しくお聞きすることができなかったので、ここで詳しくお話させて頂きました。

懇親会

  • ビールおいしい!
  • お肉おいしい!
  • たまたまテーブルを囲んだ方とSwiftの書きやすさやキャリアのちょっとした話などを聞かせて頂きました。
    • カンファレンスだと、皆 技術者なので、ちょっとした言語の書き心地からキャリアの話とかをざっくばらんに会話できるのは貴重なので、良かったです…。

まとめ

  • 私は 今までバックエンド(Spring, Java)メインでやってきてまして、フロントやモバイル側はホントに少しだけしか触ったことが無く、最初は「話についていけるかな~」と思っていました。
  • 実際には テストのやり方や、AIの活用方法といった、バックエンド側としても参考になる話をたくさん知ることができたと思います。
    • (特にWebのフロント側を触ったことがある方なら、かなり共通の話題があって楽しいと思います。)
  • 元々の参加目的としては、「自分のアーキテクチャの勉強がWebアプリを想定することしかできないので、iOSアプリとかの世界ではどうなってるんだろ?」といったものでしたが、iOSアプリのアーキテクチャはもちろん、iOSアプリの深い話を覗き見ることができて良かったです…!

個人的な感想

  • みんな Mac + iPhone 勢 だったので、一人だけ Android + Windows でメモを取っていて 心細かった…。でも実際には他の人はそんな気にしてなかったですが。
  • 毎回セッションの発表の時に声優さんがタイトルと登壇者を読み上げるのびっくり…。お金…。
  • 毎朝 数量限定のドーナツが無料で配られていました。夕方くらいからはビールも配られてました…。えぇ…。
  • スポンサーも参加者も、とにかくテンションが高くてお祭りみたいな雰囲気でした…。(でも、ちょっと気軽にアーキテクチャとかの話を聞くと突っ込んだ話が出てくるので、ずっと面白い…。)
  • 企業ブースでいくつかの方へお話をお伺いしていましたが、KMPを取りいれている所がいくつかと、逆に採用を見送っている所もいくつかありました。
    • 実際に開発/運用している人が「なぜそのアーキテクチャを選択したか/選択しなかった」を聞けるのは かなり貴重だったので、とても良かったです…。

Discussion