Web とアプリの違い

Draft

Web(ブラウザ)とネイティブアプリは別の実装基盤の上にあり、同じコンポーネントの実体を共有できない。ボタン一つとっても別々に実装された別の部品になる。

したがって「共通のコードで同じ見た目になる」ことは期待できない。揃えるのは値と意味であって、実装ではない。 何が同じであるべきかを言葉で決めておかないと、片方だけが更新されて静かにずれていく。

揃えるもの・揃えないもの

項目Webネイティブアプリ揃える / 揃えない
ブランドカラー同一の値同一の値揃える
フォーカス / 選択状態の色同一の値同一の値揃える
余白の刻み4px 基準4px 基準揃える
コンポーネントの意味と状態同じ名前・同じ状態同じ名前・同じ状態揃える
言葉づかい・用語同一同一揃える
ライト / ダークの対応両対応両対応揃える
書体OS 標準OS 標準結果は環境ごとに異なる(タイポグラフィ)
画面の切り替え方ページ遷移・ブラウザの戻る画面のスタック・スワイプで戻る揃えない
ナビゲーションの位置上部・サイド下部タブなど OS の作法に従う揃えない
主要操作の呼び出し方ボタン・メニュー長押し・スワイプなどのジェスチャーを併用揃えない
システム UI との接続ブラウザの UI に従うステータスバー・セーフエリア・共有シートに対応揃えない
入力手段キーボード操作を必ず担保タッチを主、外部キーボードは補助揃えない

プラットフォームの作法に逆らってまで見た目を揃えることはしない。ただし色は作法ではなくブランドの領域なので、プラットフォームの既定色(ブラウザ・OS のフォーカスリングなど)はブランド側の色で上書きする(アクセシビリティ)。

この表のアプリ側の列は「揃えるべき目標」を書いた規範であり、現状の実装がすべて満たしているとは限らない。

画面の作り分け方

  • Web は 1 つの実装が画面幅に応じて姿を変える(画面幅)
  • アプリは端末に合わせた実装をそれぞれ持つ
  • 「Web のモバイル表示」と「アプリの画面」は別物で、見た目を一致させる対象ではない
Copied!