こんにちは!iOSエンジニアのmuneです。
今回は、2024年8月22日(木)〜8月24日(土)に開催されました iOSDC Japan 2024 について、セッション内容を振り返る勉強会を社内で開催いたしましたので、その様子をご紹介します!
ミラティブはiOSDC Japan 2024をスポンサーとして協賛しております。
勉強会の前に:会場でのエピソード
今年のiOSDCからはスポンサーブースを楽しく回れるようスタンプ形式のビンゴの取り組みが行われていました。 弊社メンバーもスタンプを押してもらいながら気軽にスポンサーブースに立ち寄れるのでとても良い取り組みだと感じたようです! いつか弊社でもブースを出してみたいと話していました。
また弊社インターンのメンバーは初めての現地参加だったそうで、
「実際にiOS界隈で有名な方と直接話すことができたり、SNSやGitHub上のみの繋がりで共に開発をしていた方にリアルで初対面できたりと、大変楽しいひとときでした。 参加をきっかけとして、これからはもっとOSS開発や日頃の開発を頑張ろうとモチベーションが大きく向上しました。」
とオフラインならではの刺激を受けていました!
iOSチームでの勉強会運営について
iOSチームでは、週に一回のペースで社内勉強会を開催しています。 内容はさまざまで、最新の技術ニュースをキャッチアップしたり、AppleのHuman Interface Guidelinesを輪読したりしています。 技術カンファレンスがあった際には、今回のようにセッションをみんなで振り返りを行うこともよくあります。
またiOSエンジニアだけでなく、AndroidやUnityエンジニア、デザイナーも自由に参加して意見交換をするなど、チームを跨いだ交流も活発的です。
先日はiOSとAndroidの合同LT会を行いました。記事になっていますのでぜひご覧ください!
iOSDC Japan 2024セッション社内勉強会の進め方
iOSチームでは、イベントの開催前から気になるCfPを共有しあったり、タイムテーブルを見て気になるセッションについて話していました。
そして実際にオフラインやオンラインでセッションを視聴し、勉強会の時間で振り返りたいセッションを各々ピックアップし発表しました。
ここから、メンバーが注目したポイントとともにセッションを振り返っていきます。
iOSアプリらしさを紐解く by Natsuho Ide
さまざまなアプリを観察し、Human Interface Guidelinesを読み込むことでiOSアプリらしいデザインを分析し言語化した、Natsuho Ide さんのセッションです。
ピックアップした背景:
先述の通り、iOSチームは勉強会でHuman Interface Guidelinesの輪読をデザイナーさんやAndroid、 Unityエンジニアを招いて行なっています。その中でiOSらしさを言語化する課題を感じていたため、ピッタリの発表だと思い共有しました。
特に興味深かったのは、直感的なデザインの実践例として挙げられていたアニメーションです。お気に入りアイコンをタップするとランドマークの写真が浮き上がり、お気に入りタブに入っていくようなアニメーションを解説されていました。ユーザーの操作と結果の連続性を説明するアニメーションとしてとても分かりやすいと感じました。
詳解UIWindow by atsuyan
UISceneやUIViewとの関係性を踏まえて、UIWindowがどういうものかや、表示に関する挙動、利用する際の注意点について紹介した、atsuyan さんのセッションです。
ピックアップした背景:
UIWindowの知識はViewの階層構造を知る上で大事ですが、Mirrativプラットフォームでの使用は限定的で人によってはあまり触る機会がない場合もあるのでチームで一緒に見てみたいと考え選びました。
特に興味深かったのは、UIViewとUIWindowでローディングを出す際の違いが明確に説明されている点です。体系的にまとめて解説されていたためとてもわかりやすく、今後もSwiftUIでのUIWindowを扱う必要が出てきたときなど、再度見て学びたいと思います。
MV State PatternでSwiftUIを受け入れる by Hiroma Tsuchiya
MV State Patternというアーキテクチャについて、採用利用と実装方法について紹介した、Hiroma Tsuchiya さんのセッションです。
ピックアップした背景:
ミラティブのiOSチームでは継続的にSwiftUIの適用を行っています。 過去にご紹介した記事はこちら↓ tech.mirrativ.stream
SwiftUIを最大限活用するための構成に関して模索中の状態であり、基盤となるアーキテクチャをどうするべきか議論の題材になるのではないかと思い選びました。
MVVMと比較した上で、SwiftUIのバインディング機能を最大限活用したシンプルな構成が魅力的と感じました。 コミュニティでは下記にご紹介するような、定期的に宣言的UI開発をサポートするSwiftUIにおいて最適なアーキテクチャとは何かといった話が話題となっていますし、共感できる点が多いと感じました。
StoreKit2 によるアプリ内課金についてのセッション x 3
① StoreKit2によるiOSのアプリ内課金リニューアル by 康 建斌
② アプリ内課金と自社の認証認可基盤を連携する複雑な課金ネットワークを構築する by shimastripe
③ StoreKit 2によるモダンなアプリ内課金 by 蔀
ピックアップした背景:
今年StoreKit1が非推奨になったこともあり、ミラティブでも今後StoreKit2への移行を検討しています。 iOSDC2024でStoreKit関連のプロポーザルが3つ出ており、その全て採択されていたためコミュニティ的にも注目度が高いと感じました。
StoreKit2のトランザクション検証やAPI I/Fの知識はクライアント側の話として触れる機会が多かったですが、AppStoreServerAPIやAppStoreServerNotificationV2の役割や実際の運用プラクティスの発表は新鮮で、非常に勉強になりました。
バックエンドを絡めた統合的な設計や、実際のユースケースやはまりどころに至るまで、今回の3つのセッションを通じて移行戦略における課題がより明確化になりました。
終わりに
ここまで、iOSDC Japan 2024の振り返り勉強会についてご紹介してきました。日々の開発に最新技術を活かすためには、こうしたインプットの機会が重要であり、今回の勉強会も大きな成果を得られる場となりました。
セッションごとに30分から1時間をかけ、他の関連セッションとも照らし合わせながら深く学び合うことで、iOSDCで得た知見をチーム全体で共有できました。
このような学びの場を通して、チームのスキルアップやモチベーション向上に貢献し、未来に向けたサービス改善に繋げていければと考えています。今後も引き続き、さらなる挑戦を重ねていきたいと思います。
🙌 We are hiring!
ミラティブではMirrativをより良いプロダクトにし、「好きでつながり自分の物語が生まれる居場所」をつくるエンジニアを募集中です!
https://mirrativ.notion.site/Mirrativ-Engineering-1d9bdc9f438241859b7267f1453880c1mirrativ.notion.site