Studyplus Engineering Blog

スタディプラスの開発者が発信するブログ

iOSDC Japan 2022に参加しました

こんにちは、モバイルクライアントチームの上原です。

2022/9/10~12に開催されたiOSDC Japan 2022へ参加しました。 今回、弊社としてはシルバースポンサーとしてスポンサードしており、メンバーは勉強会・カンファレンス参加補助で参加しました。

iosdc.jp

はじめに

弊社スタディプラス株式会社はシルバースポンサーとして、ノベルティボックスに特製グッズを提供させていただきました。もし、機会がありましたら活用してもらえればと思います。

tech.studyplus.co.jp

感想

今回は弊社モバイルクライアントチームのエンジニアが業務扱いで参加しました。 モバイルクライアントチームは、Flutterをメインに開発をしており、Swiftを利用したiOSネイティブの開発は少なくなっていますが、iOSの最新の知見をキャッチアップするために参加しています。

それでは各メンバーの感想です。

上原

iOSエンジニア兼Flutterエンジニアの上原です。去年は、iOSをメインでSwiftを書いていましたが、最近はFlutterを主に書いています。iOSDCは、毎年参加していて今回は久しぶりに一日だけオフライン参加をしてきました。以前参加したオフライン開催の時の雰囲気そのままで日常が帰ってきた感じがして楽しかったです。

大規模イベントアプリを支える技術〜長岡花火公式アプリを作った話〜

fortee.jp

普段日常使いするアプリではない、二日間だけ利用されるイベントアプリならではの話が聞けるセッションでした。 当日の利用では、大人数がアクセスしインターネットの利用が困難になるため、オフライン利用を前提で開発し、当日リアルタイムで更新したい内容は、Firebaseで更新を行いデータの取得周りを管理するなど面白い内容でした。

Feature Flagを使った開発で高速でストレスフリーなデリバリーを実現する

fortee.jp

speakerdeck.com

Feature Flagを利用してブランチ式のブランチ運用からストレスフリーにしていこうというセッションでした。 弊社では、ブランチ式のブランチ運用を取っていて、発表で出ていたブランチ運用の問題は時々出る課題ではありました。 Feature Flagを利用しても、それについて一気に解決できるものではなく、その時のプロジェクトの状態に応じて適切に開発の方法を変えていくしかないなと話を聞いていて感じました。

モバイルアプリのオブザーバビリティを向上させるプラクティス

fortee.jp

speakerdeck.com

モバイルアプリの信頼性を向上させるために、信頼性とは何か、どういう取り組みを行なっているかを確認でき非常にためになるセッションでした。 サーバー側と比較して、モバイルアプリ側で可用性や品質を確認するのが難しいが、きちんと定義することでどういう指標を見るべきかが分かりユーザーへの信頼性を高めることが出来そうと思いました。 ユーザーの問い合わせ調査のトレーサビリティ向上では、問い合わせ対応でのどういう状況かの把握やエラーログとの紐付けをしやすくしたりする取り組みについては参考にしたいと感じました。

若宮

テックリードの若宮です。 最近、iOSというとSwiftPMやfastlaneばかりいじっているので、iOSのことを思い出しながらの試聴でした。

オフラインとオンラインのハイブリッドということもあり、会場事情で配信が遅れるなどありましたが、ライブ感があってやっぱり楽しいなと思います。

令和時代のXML処理を考える 〜もしあなたが巨大なXMLと相見える(あいまみえる)ことになったら〜

fortee.jp

speakerdeck.com

以前、Android Lint関連でXMLを扱ったことがあり、関心の高かったセッションでした。 iOSのヘルスキットからXMLが取得できるなど、いつも触るものではないものの、ふと思い立った時に触ることになるトピックだと思います。

XMLを全展開してしまうと、ファイルのサイズ依存でメモリを使い切ってしまうなど、確かにとなる話ばかりでした。 大半の場合はJSONでやり取りすると思われるのですが、XMLを触る必要が生じた時、忘れずに確認したいなと思います。

ウーニャ、しってる。みんなふんいきでSwiftUIをつかってる。

fortee.jp

speakerdeck.com

日々Flutterで宣言的UIを使っていることもあり、気になって試聴しました。 宣言的UIを実装するようになり、気軽にViewの要素を設定できるようになった結果、こういった視点で議論ができるようになって嬉しいです。

SwiftUIを書き慣れていないため、一部のコードを読むのに手間取りましたが、非常にわかりやすい話だったと思います。 弊社でも、Paddingをどう扱うのが良いか、議論をしています。 どこのチームでも、同じような壁にぶつかり、前進しているんだなと勇気をもらいました。

隅山

Androidエンジニアの隅山です。 最近はFlutterとAndroidの開発がメインでiOSはほとんど書けていません。最近のiOS事情が把握できていないこともあり、今回iOSDCに参加しました。

Xcode が遅い! とにかく遅い!! 遅い Xcode をなんとかする方法

fortee.jp

speakerdeck.com

Xcodeが遅いのタイトルに惹かれ聴講しました。 主にAndroidStudioで開発している身としてはXcodeの重さに苦しめられてきました。 このセッションではXcodeの重くなる原因とその回避策について発表しており、原因部分のインデックス作成とロック機構の説明がわかりやすく勉強になりました。

Swift Concurrency Next Step

fortee.jp

speakerdeck.com

今回のiOSDCで多かったテーマのConcurrencyについて基礎的な部分から説明されていたこのセッションも印象に残りました。 Async/awaitは他の言語でもあるので挙動はわかっていましたが、Swiftだとこのように書くんだと勉強になりました。 このセッションでは実装上の注意点を多く挙げていて、それぞれの事象について詳細に発表していたのでConcurrencyを書くときはまた見返そうと思います。

中島

Android時々Flutterエンジニアの中島です。 iOS開発に関してはあまりきちんと参画していないのですが、情報のキャッチアップなどのためiOSDCを聴講しました。

20分間で振り返るIn-App Purchaseの歴史

fortee.jp

speakerdeck.com

Android課金担当なので、In-App Purchase関連のセッションは見ておきたいと思っていました。 Androidも大体同じですが、サーバ通知機能やお試し/プロモーションオファーなど、改めて見るとさまざまな機能が実装されているなと感じました。 ただSandBoxアカウントの件については、便利になっていつつも微妙に辛みを感じました。 ニコ生のコメントで「SandBoxアカウントは摩耗する」と書かれていたのが妙に印象に残っています。

詳解 Core NFC - NFC を用いた iOS App 開発のてびき

fortee.jp

speakerdeck.com

Near Field Communication(NFC)を用いた開発のHowToが詰まっているセッションでした。 NFCについては着手したことがなく事前知識がなかったのですが、端末やiOSのバージョンでさまざまな制約があるんだなという感想を持ちました。 ただそれらもこのセッションを見ておけば履修できるなという形で、情報がとてもうまくまとめられていました。 「端末とリアルを結びつけるもの」という締めの一言がとても印象に残り、このセッションで夢が広がりました。

iOSDCチャレンジについて

まず、今回弊社が掲載したiOSDCトークンは以下のとおりでした。

iOSDCトークン 掲載場所
#学ぶ喜びをすべての人へ パンフレット内
#口コミで累計700万ユーザー 公式開発者ブログ iOSDCスポンサーブログ内
#FailFoward 公式開発者Twitter 開催1日目のツイート文
#DiveToLearn 公式開発者Twitter 開催2日目のツイート文

いかがでしたか?

iOSDC Japan 2022の感想でした。 運営の皆さん、登壇された皆さん、参加された皆さん、お疲れ様でした!