はじめに
こんにちは、24卒内定者の yamauchi です!
2023/9/1 ~ 9/3 の3日間、早稲田大学西早稲田キャンパスとオンライン配信のハイブリッドでiOSDC Japan 2023が開催されました。
そこで、非iOSエンジニアの私がiOSDC Japan 2023に現地参加して、見たもの、感じたことをレポートします!
私は普段サーバーサイドやインフラの開発をメインで行っていて、個人開発でFlutterでアプリを書いていたりします。 そのため、非iOSエンジニアというのは、SwiftなどでiOSアプリを書いたことはないという意味です。
会場の様子
会場では1階がスポンサーブース、2階がスポンサーブースとトーク会場、ポスターの展示会場となっていました。 Day1, Day2では朝からドーナツが配られていました。 私は、Day1ではドーナツを持っている人を見かけるのですがどこにあるかわからず、Day2になってようやく見つけることができました!
また、ランチは近くに出店されていたキッチンカーでいただきました。
結構混んでいて、次に見たかったトークに遅れそうになりましたが、なんとか間に合いました、、、
スポンサーブース
次にスポンサーブースについてです。
スポンサーブースでは、たくさんの企業がブースを出しており、それぞれの企業さんの個性が出ていて周るのがとても楽しかったです!
また、ノベルティをたくさんもらえたのも嬉しかったです。
LINEさん
LINEさんのブースではコードレビューをするという企画が開催されていました。 後半の方に行ったのですでに他の方がたくさんコメントされていてコメントするところを探すのにとても苦労しました。 コメントができればノベルティがもらえるというものだったのですが、なんとかもらえて良かったです。
WEDさん
WEDさんは、レシート買取のアプリなどを開発されているのですが、画像右下のレシートで埋め尽くされた作品の中に「WED」という文字が隠れていたり、モニターに写っている犬のキャラクターがブレイクダンスのようにクルクル回っていたりと、とてもユニークで面白かったです。 また、ブースにはRubyコミッターの武者さんもいらっしゃって、お話しすることができ、嬉しかったです。
DeNA
DeNAのブースでは「SwiftUI脳内プレビュー大会」が開催されていました。 簡単に概要をご紹介するとSwiftUIのコードからプレビュー画面がどのようになるかを想像して書くという内容です。 ありがたいことに、この企画は大変人気で、たくさんの方にお越しいただきました。 問題や回答など詳細に関しては こちらの記事 でご紹介しています!!
また、ノベルティは、チョコや色鉛筆、Pocochaのチラシでした。 チョコは5種類あったのですが、uhooiさんのチョコの減りが一番早かったです。
トーク
iOSDC Japan 2023ではたくさんのトークセッションが開催されていました。 私が聞いた中でも興味深かったものをご紹介します。
Appleにおけるプライバシーの全容を把握する
まずはじめに、@akatsuki174 さんによる「Appleにおけるプライバシーの全容を把握する」というトークです。 このトークでは、Appleにおけるプライバシーに対する考え方の概要から、具体的な例と簡単な実装例・審査ガイドラインなどについて述べられていました。
Appleにおけるプライバシー保護の4原則として、以下が挙げられていました。
- データの最小化
- オンデバイス処理
- 透明性と管理
- 機密保持
このような原則の例として様々なものが挙げられていましたが、その中でも特に興味深かった内容として、「Privacy Manifests」について取り上げさせていただきます。
Privacy ManifestsはアプリまたはサードパーティーSDKによって収集されるデータの種類やRequired Reason APIを記録するプロパティリストになっています。
「Required Reason API」は利用をするのに理由が必要なAPIとなっており、利用する場合はその理由をPrivacy Manifests上で1つ以上選択する必要があります。
個人的に衝撃的だったのは、このRequired Reasonが2024年以降、新規・既存に関わらず選択が義務付けられるということです。 このRequired Reason APIにはUser defaults APIsが含まれており、影響が大きそうです。
Infra App としての取り組み
次に Hama さんによる「Infra Appとしての取り組み」というトークです。
このトークではPayPayアプリでの取り組みについて述べられていました。 様々な事例が取り上げられていましたが、その中でも興味深かったものとして、「フォントサイズ」、「多言語対応」について取り上げさせていただきます。
まず、フォントサイズについてです。
PayPayアプリでは大・中・小と3種類のフォントサイズをサポートしているようです。 しかし、フォントサイズが変わるとUIが崩れるという問題に直面します。 そこで、独自のデザインライブラリをカスタムビューで管理して、それぞれのフォントサイズによるUIの変更を隠蔽できているようです。
次に多言語対応についてです。
多言語対応をする際、ローカルファイルでそれぞれの文言の管理を行うという場合が多いと思います。 しかし、PayPayアプリでは言語の設定ファイルをリモートファイルとして別で管理することで、アプリのリリースなしで文言の修正が可能になっているようです。
その他にも問題が起きた際に即時に旧機能にロールバックが行えるように独自のRemote Configを使用しているなど、決済機能を備えており、1つの不具合が大きな影響を与えるアプリだからこその対応の素早さへのこだわりのようなものが見えて興味深かったです。
アンカンファレンス
次に、アンカンファレンスについての紹介です。 アンカンファレンスとは、参加者が当日に即興で行うトークコンテンツのことです。
このアンカンファレンスでは、DeNAのエンジニアがDay1, Day2の2日間トークをしていました。
Day1ではSwift5.9での所有権の話、Day2ではkencomでの独自アーキテクチャの話がされており、社内外のエンジニアと活発な議論が交わされていました。
LT会
最後にLT会についての紹介です。
LT会では今年からペンライトが導入され、まるでフェスのような盛り上がりを見せていました。
残り時間が迫ってくると会場の全員でペンライトを振り、一体感があって、とても楽しかったです。
まとめ
はじめはiOSエンジニアでない私が参加をして楽しめるのかなという不安もありました。 もちろん、トークの中にはSwiftに関する話などiOSエンジニアでないと理解できない深い話も多くありましたが、私がご紹介したように、Appleに関する話やアプリ開発全般における話など、iOSエンジニアでなくても楽しめるようなものも多くありました。 トーク以外にも、社内外のエンジニアの方とお話できる機会になり、とても楽しむことができました! ただ、エンジニアの方とお話する際に、Swiftなどの深い話が出てきた時にわからないことも多く、「もっと勉強して、Swiftも書けるようになりたい!」という気持ちも生まれました。
また、社内のエンジニアの方とお話したり、登壇を見ていたりする中で、DeNAにはすごいエンジニアの方がたくさんいるんだなということを改めて肌で感じることができました。
トーク以外にも様々な企画があり、3日間では足りないくらい充実していて楽しい時間でした。 ありがとうございました!
最後まで読んでいただき、ありがとうございます!
この記事をシェアしていただける方はこちらからお願いします。