本文へ移動

スマホアプリのデザインシステム — Apple HIG を主軸に

確認日: 2026-09-05。対象プロファイル: mobile-app。ブランド: Fluxion Partners。

iOS / iPadOS を中心に、文字・意味色・素材・部品・状態・画面遷移・直接操作を一つのシステムとして扱う。Apple の標準部品を選ぶだけでなく、次の基盤とレシピを使って実際の画面を組み立てる。スマホで閲覧する LP・Web アプリには、それぞれの Web プロファイルを使う。

制作時に読む順序

資料 決めること
iOS 基盤 11段階の文字スタイル、意味色、light / dark、Liquid Glass の層、余白・操作領域
iOS 部品・画面レシピ navigation、tab、検索、一覧、ボタン、switch、segment、sheet、alert、progressと状態
iOS の動きと操作 Emil の Apple Design 17節の採用、spring・速度・中断・境界・3種のアクセシビリティ設定、出典とMIT
動かせるiOS見本 案件一覧→詳細、検索、設定、編集・保存を操作して確認
本文末の Android 対応 同じ情報構造を Material 3 へ対応させる

実装は基盤の役割を SwiftUI / UIKit へ割り当て、部品表から必要な状態を選び、画面レシピ A〜D でつなぐ。HTML の見本は .fpm-kit / --fpm-* に分離している。CSS操作実装 はブラウザ参照キットで、ネイティブ SDK ではない。

iOS の基本形

FP採用規約:

Apple公式: 標準コンポーネントは対応 OS の外観・動作に適応する。コンテンツとナビゲーションを階層として分ける。Apple HIGLiquid Glass

公式・独自規約・近似値の区別

区分 このシステムでの扱い
Apple公式 公式出典と適用条件を示す。文字サイズ表は標準の Dynamic Type 条件を明記
上流の参考資料 Emil Kowalski の Apple Design は WWDC の Web 向け翻案。原文・MIT・commitを保存し、Apple公式と分ける
FP採用 ブランド・業務画面向けのルール。例: 主操作一つ、原則44×44 pt、4.5:1の文字コントラスト
HTML近似 表示用の CSS px / rem、近似の色・寸法・blur。実機の pt、SF フォント、Liquid Glass とは区別

優先順位は「OS のアクセシビリティと操作慣習 → 標準コンポーネント → 本プロファイル → ブランド装飾」。旧 Web の白背景、Outfit / Noto、ブルーとライムの同時使用、ダーク背景不採用は旧 Web の表現規約として保持する。iOS のシステム字体や Dark Mode を妨げるルールにはしない。

最低対応 OS と安定版 SDK を案件で記録する。新 API・SF Symbols の availability と代替を用意し、ベータ版や実験 API を共通の必須条件にしない。

共通の受入基準

各案件で実装後に確認・記録する規約であり、この文書だけで実機適合を保証しない。

付録: Android への対応

同じブランド・情報構造を持つ Android アプリは、iOS のバー・戻る操作・書体をそのまま複製せず、Material 3 と Android の慣習へ対応させる。新規実装は Jetpack Compose Material 3 を第一選択とする。既存フレームワークの移行は別途判断する。Google: Material Design 3 in Compose

iOSでの役割 Androidでの対応
Tab bar compactでNavigationBar、広い画面ではrail等へ適応
NavigationStack / split view 標準back挙動を保つnavigation、list-detail等のadaptive layout
system background / label surface / onSurface、grouped surfaceとcontainer roles
brand tint primary / onPrimary を対で検証
補助文字 / separator onSurfaceVariant / outlineVariant等の適切な役割
エラー / destructive role error / onError / error containerと明示ラベル
Dynamic Type / Body font scaleに追従するsp、Material bodyLarge
safe area WindowInsets、system bars、IME、cutoutを扱う
Form / switch / picker Material text field / switch / selection control
Sheet / alert / progress 対応するMaterial部品
SF Symbols Material系アイコンまたは独自ベクター
文脈内の短い通知 必要に応じSnackbar。必須対応の失敗は消える通知だけにしない

Android の navigation bar は同じ階層の3〜5行先に向く。画面が広くなればrail等に適応する。Google: Navigation barLayouts and navigation patterns

操作領域は48×48 dp以上をFP基準にする。Bodyの開始点はMaterial bodyLarge(16 sp / 行高24 sp)。システムの文字・表示サイズとTalkBackで主要な作業を確認する。Google: AccessibilityWindow insets

色は役割名で参照し、light / darkの静的テーマを用意する。Dynamic colorを採用する場合も未対応環境のfallbackを定義する。元のブランドHEXと生成されたprimaryを同一視しない。M3 Expressiveや実験APIは採用する個別機能の安定性を確認する。Google: Android color