8/31 Track A 17:40~ 「レガシーなアプリケーションの60fps化を目指す為にやっていること」というタイトルで発表します

こんばんは!ついにこの日が来てしまいました。iOSDC2018が本日より早稲田大学の西早稲田キャンパスにて開催されています。私も1日目(実質2日目)の8/31、 17:40から登壇します。

CfPを出したきっかけ

今回提出したCfPはこちらです!

私は普段は株式会社エウレカにてiOSエンジニアとしてPairsの日本版の開発に携わっています。

いわゆるオンラインデーティングサービスとして、サービス開始からすでに6年を経過しようとしています。2014年に一度0ベースで作り変えているのですが、やはりネイティブアプリ、あっという間にトレンドは代わり、今では技術負債がたまりパフォーマンスが徐々に低下してしまっております・・。

計測してみた所、古い端末(iPhone 5)では40fpsを下回り、平均して36fps程度まで落ちていました。もちろん現在主流の端末スペックに助けられ、それほど顕著ではないですが、これからもプロダクトの成長を行っていくためにはパフォーマンスの改善が急務であると判断し、今現在もパフォーマンス改善の真っ最中です。

今回は効果があったパフォーマンス改善について一つの画面を例に共有し、また参加しているグレートなiOSエンジニアたちとよりよい改善方法を話すきっかけになればと思い、CfPを出しました。

当日話す内容

当日は以下の流れでお話しようと思います!

  1. Pairsの紹介と課題

現在のPairsの現状と、我々が感じているプロダクトの課題をまとめます。

2. 処理フローを追いやすいアーキテクチャの導入

60fps化を目指す為のベースとなるアーキテクチャを今回実験的に導入してみました。ReSwiftを使ってReduxライクな処理フローについてざっくりとお話します。

3. レスポンスの最適化 & 読み込み速度高速化

現在サーバサイドとのやり取りにはスタンダードなREST APIでJSONをやりとりしています。いろいろな無駄を削減したことによって読み込みの高速化をしました。さらに画像取得から反映までのフローも見直した為、そちらについてもお話します。

4.目指せ60fps ~CollectionViewチューニング-

上記を踏まえ、UIKit周りでfpsを改善する為に行った細かい施策、及び改善についてまとめました!多くの内容をギュッと凝縮したので、時間が足りなくならないように気をつけます・・。

果たして平均36FPSだった画面が、果たしてどれほど改善したのか・・?当日結果をお見せします!8/31 17:40からTrack Aにてお話しますので、是非ともお越しください🙇‍♂️

弊社ブースも是非ともお越しください!USB type-a to type-c変換アダプタもお配りしています〜。