【iOSDC Japan 2023 レポート】「UIのブラックボックスを探る」を聞いてきた。

2023.09.04

はじめに

年に一度のiOSエンジニアの為のお祭り iOSDC Japan 2023に参加しています。

せっかくなので、参加したセッションのレポートを書きたいと思います。

UIのブラックボックスを探る

登壇者

概要

昨今、iOSの標準アプリではUIKitで提供されていないUIコンポーネントが多く使われ、それらを再現することは難しいと言えます。

さらにSwiftUIは実際のビューを隠してしまうため、我々は与えられたUIに囚われています。

本トークでは、美しいUIを再現するために必要なリバースエンジニアリングの基礎知識について解説します。

まず、画面から分かることについて説明し、UIの階層構造を覗く方法を紹介します。

また、プライベートAPIを使うことでUIの内部情報を取得する方法についても触れます。

これらのテクニックをマスターすることで、美しいUIを再現するだけでなく、UIの設計思想や技術的な側面を理解することができます。

引用: fortee

資料

感想

非常に面白いUIの仕様を発掘するお話でした。

標準AppleのUIは暗黙の仕様があり、何も考えないでカスタムUIを作ってしまうとその仕様を満たしていなかったり、品質が悪かったりするとのこと。

カスタムNavigationを作ると、スワイプで前の画面に戻ってくれないとかありますよね、、。

Apple標準アプリや標準コンポーネントが一つの品質のベンチマークになり、今一度、そのカスタムUIは本当に必要なの?標準でなぜダメなのか?カスタムUIにしてしまうことで出来なくなってしまうことを考えてみるのが大事。

どうやって、その仕様を知るかについてもセッション内で詳しく説明があり、非常に参考になりました。でも、やはり標準コンポーネントと同じような品質のものを作るのは非常に難しいので、トレードオフを意識して無駄にカスタムUIを作らない強い気持ちを持ちましょう。

また、AppleのアプリではOSアップデートによってデザインが変わることも多々あるので、カスタムUIを作るとそこに追従していかなければならず、ほっておくと古臭いデザインのままになる。そこに発生するコストのことも頭に入れておきましょう。

SwiftUIだとまだ機能が満たないコンポーネントがあったりして自作しがちですか、「無いから作る」ではなく、「無いなら使わない」という選択肢を持っておくことも大事そうです。

下記のオープンソースのものはとても品質が高いのでUIについて参考になるそうです。

おわりに

標準アプリやコンポーネントをもっと沢山触って行きます。

iOSDC 2023 レポート関連

Day0

Day1