iOSDC Japan 2023 Report Day 1
iOSDC Japan 2023 Day 1のレポート記事です。
iOSDC Japan 2023 Day 1のレポート記事です。
今回のiOSDC Japan 2023への参加は、iOSDC Japan 2023のプラチナスポンサーを務める、株式会社CyberAgentのスカラシップ制度によって実現することができました。
ご支援をいただき、誠にありがとうございました。
参加したセッション
発表内容や発表資料をもとに、セッションの内容を自分なりにまとめます。
まとめるにあたり、参考にした資料は、各章に記載します。
TextKit 2 時代の iOS のキーボードとテキスト入力と表示のすべて
このセッションは、世界で最も優れたiOSデベロッパーの一人と言われる @niw さんによるセッションでした。
@niw さんは、もともとTwitterのiOSエンジニアであり、先日放送された、Backspace.fmのDanbo-side#074 に出演されました。
ちょうどそのエピソードを聞いた後だったので、このセッションを聴くことができて、非常に嬉しかったです。
TextKit 1の説明、TextKit 2でどう変化したかということをお話しされていました。
TextKitについてあそこまで詳細に見る機会がなかったので、個人的に興味深いお話しでした。
日本語にとどまらず、文字の構成が異なる他の言語についても言及されていて、面白かったです。
Mastering SwiftSyntax
実は、このセッション、間に合わず、聞けませんでした...
もっとも楽しみにしていたセッションの1つなので、後日、アーカイブを視聴次第、追記しようと思います!
旅行アプリでより正確にパスポートを読み込む技術 ~ MLKit / Vision / CoreNFC
このセッションは、令和トラベルが開発するNEWTという旅行アプリで、パスポートを正確に読み込むためのプロセスや技術についてお話ししていました。
CoreNFCに興味があったので、このセッションを聞こうと思っていたのですが、パスポートの構造なども知ることができたので、面白かったです。
SwiftUI + KMM 開発で見えたそれぞれの長所と短所
こちらは、Wantedly株式会社のスポンサーセッションです。
SwiftUI + KMP といえばWantedlyというイメージを勝手に持っていたので、このセッションを聴くことができてよかったです。
メインはUIKitで、あくまでSwiftUIは部分的というプロジェクトで、どのようにSwiftUIとKMPを導入していったかというお話しでした。
KMPを使うことで、ビジネスロジックの共通化を行うことができますが、Kotlinで定義されたクラスであることから、ObservableObjectに準拠していないなどの問題があり、それをどのように解決するかということについても言及がありました。
また、UIKitとSwiftUIで差異がでる部分についても言及していました。
最後に、KMPをSwiftで扱う際のデメリットについても解説がありました。
僕自身、KMPについての知識・知見がないので、もうすこし学習をしてからもう一度見直してみようと思います!
アプリ内課金におけるトラブルを劇的に減らすための取り組み
こちらは、AbemaTVのiOSエンジニア、Koki Hirokawaさんの発表でした。
ABEMAで実際にあったApp内課金におけるトラブルを題材に、どのような問題があり、どのように解決したのかをステップbyステップで説明されていました。
加えて、課金処理中のユーザへのフィードバック、ログと公式ドキュメントの重要性を認識しました。
現状、ABEMAでは、OriginalAPIを利用しているようで、StoreKit2を使うとどうなるのかが気になります。
ソーシャルログイン機能のデバッグ地獄をくぐり抜けてリファクタリングした話
出前館のiOSアプリのUI改善のお話や、ログイン周りのリファクタリング、テストの増強のお話がありました。
ソーシャルログインならではの苦労や改善のためのアクションについて聴くことができました。
一般的な通信でも使えるバックグランドURLSessionの活用方法
バックグラウンドで通信したい場面があっても、アプリのプロセスと共にサスペンドされたり、フォアグラウンドに戻った際にタイムアウトになっている可能性があります。
また、メモリ不足等の理由により、バックグラウンドのプロセスが強制終了される可能性もあります。
URLSessionをバックグラウンドで使うことにより、別プロセスで実行されるようになるため、以上の問題を回避することができます。
また、システムの状態を監視し、最適な行動をしてくれるというメリットもあります。
このようなメリットのもと、どのように活用できるかという話もありました。
中でも興味深かったのは、Background App Refresh Taskの代わりとして使うということです。
SwiftUIでの非同期処理データの状態管理を考える
非同期処理データの状態管理にenumを上手に使うというテーマで、いくつかのケースについて詳細に説明されていました。
そうか、こういう使い方もできるのか!ということがそれぞれのケースにあって、非常に面白かったです。
enumは、Swiftの強みの1つだと思うので、これからさらに使いこなしていきたいと思います。
オープニングパーティー
iOSDCの恒例らしい (2019年以来最初の) オープニングパーティーに参加しました。
すごい盛り上がりでした...笑
全然話せる感じじゃないので、みなさん各々おもいっきり楽しんでいましたね。
念願の@tomozohさんとの2ショットが撮れて、とても嬉しかったです。
↓ 明日はリアル@hakさんに会えるのかと思って、ドキドキしている僕です。
Day 1 まとめ
いろいろなテーマのセッションがあって、ついていくのがかなり大変でしたが、それぞれのセッションの内容が濃く、聞いていてとても楽しかったです。
また、常に、新たな視点が増えていく感覚があって、これからの学習に役立てたいという気持ちが強く残りました。
Comments ()