Web とアプリの違い
Web(ブラウザ)とネイティブアプリは別の実装基盤の上にあり、同じコンポーネントの実体を共有できない。ボタン一つとっても別々に実装された別の部品になる。
したがって「共通のコードで同じ見た目になる」ことは期待できない。揃えるのは値と意味であって、実装ではない。 何が同じであるべきかを言葉で決めておかないと、片方だけが更新されて静かにずれていく。
揃えるもの・揃えないもの
| 項目 | Web | ネイティブアプリ | 揃える / 揃えない |
|---|---|---|---|
| ブランドカラー | 同一の値 | 同一の値 | 揃える |
| フォーカス / 選択状態の色 | 同一の値 | 同一の値 | 揃える |
| 余白の刻み | 4px 基準 | 4px 基準 | 揃える |
| コンポーネントの意味と状態 | 同じ名前・同じ状態 | 同じ名前・同じ状態 | 揃える |
| 言葉づかい・用語 | 同一 | 同一 | 揃える |
| ライト / ダークの対応 | 両対応 | 両対応 | 揃える |
| 書体 | OS 標準 | OS 標準 | 結果は環境ごとに異なる(タイポグラフィ) |
| 画面の切り替え方 | ページ遷移・ブラウザの戻る | 画面のスタック・スワイプで戻る | 揃えない |
| ナビゲーションの位置 | 上部・サイド | 下部タブなど OS の作法に従う | 揃えない |
| 主要操作の呼び出し方 | ボタン・メニュー | 長押し・スワイプなどのジェスチャーを併用 | 揃えない |
| システム UI との接続 | ブラウザの UI に従う | ステータスバー・セーフエリア・共有シートに対応 | 揃えない |
| 入力手段 | キーボード操作を必ず担保 | タッチを主、外部キーボードは補助 | 揃えない |
プラットフォームの作法に逆らってまで見た目を揃えることはしない。ただし色は作法ではなくブランドの領域なので、プラットフォームの既定色(ブラウザ・OS のフォーカスリングなど)はブランド側の色で上書きする(アクセシビリティ)。
この表のアプリ側の列は「揃えるべき目標」を書いた規範であり、現状の実装がすべて満たしているとは限らない。
画面の作り分け方
- Web は 1 つの実装が画面幅に応じて姿を変える(画面幅)
- アプリは端末に合わせた実装をそれぞれ持つ
- 「Web のモバイル表示」と「アプリの画面」は別物で、見た目を一致させる対象ではない