ããã³ããšã³ããã¶ã€ã³ã·ã¹ãã ã®ããŒã¯ã³ã¢ãŒããã¯ãã£ã«é¢ããå æ¬çã¬ã€ããã°ããŒãã«ãªã¢ããªã±ãŒã·ã§ã³éçºã®ããã®ååãå®è£ ã管çãã¹ã±ãŒãªã³ã°ãç¶²çŸ ã
ããã³ããšã³ããã¶ã€ã³ã·ã¹ãã ïŒã¹ã±ãŒã©ãã«ãªUIã®ããã®ããŒã¯ã³ã¢ãŒããã¯ãã£ããã¹ã¿ãŒãã
仿¥ã®æ¥éã«é²åããããžã¿ã«ç°å¢ã«ãããŠãæ§ã ãªãã©ãããã©ãŒã ã補åã«ããã£ãŠäžè²«æ§ã®ããã¹ã±ãŒã©ãã«ãªãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ïŒUIïŒãç¶æããããšã¯æãéèŠã§ããå ç¢ãªããŒã¯ã³ã¢ãŒããã¯ãã£ã«åºã¥ããŠæ§ç¯ããããããæ§é åãããããã³ããšã³ããã¶ã€ã³ã·ã¹ãã ã¯ããã®ç®æšãéæããããã®åºç€ãæäŸããŸãããã®å æ¬çãªã¬ã€ãã§ã¯ãããŒã¯ã³ã¢ãŒããã¯ãã£ã®è€éããæ·±ãæãäžãããã®ååãå®è£ æŠç¥ã管çæè¡ããããŠã°ããŒãã«ãªã¢ããªã±ãŒã·ã§ã³éçºã®ããã®ã¹ã±ãŒãªã³ã°ã«é¢ããèæ ®äºé ãæ¢æ±ããŸãã
ããã³ããšã³ããã¶ã€ã³ã·ã¹ãã ãšã¯ïŒ
ããã³ããšã³ããã¶ã€ã³ã·ã¹ãã ãšã¯ãçµç¹å ã®ç°ãªãã¢ããªã±ãŒã·ã§ã³ããã©ãããã©ãŒã éã§çµ±äžãããäžè²«æ§ã®ãããŠãŒã¶ãŒäœéšãæäŸããããã®ãåå©çšå¯èœãªã³ã³ããŒãã³ãããã¶ã€ã³ã¬ã€ãã©ã€ã³ãã³ãŒãã£ã³ã°æšæºã®éåäœã§ãããã¶ã€ã³é¢é£ã®ãã¹ãŠã®æ±ºå®äºé ã«å¯Ÿããåäžã®ä¿¡é Œã§ããæ å ±æºïŒsingle source of truthïŒãšããŠæ©èœããå¹çæ§ãã³ã©ãã¬ãŒã·ã§ã³ãä¿å®æ§ãä¿é²ããŸãã
ããŒã¯ã³ã¢ãŒããã¯ãã£ã®åœ¹å²
ããŒã¯ã³ã¢ãŒããã¯ãã£ã¯ãã¶ã€ã³ã·ã¹ãã ã®ããã¯ããŒã³ã圢æããè²ãã¿ã€ãã°ã©ãã£ãã¹ããŒã·ã³ã°ãã·ã£ããŠãªã©ã®èŠèŠçãªãã¶ã€ã³å±æ§ãæ§é çãã€ã¹ã±ãŒã©ãã«ã«ç®¡çããæ¹æ³ãæäŸããŸãããã¶ã€ã³ããŒã¯ã³ã¯ãæ¬è³ªçã«ãããã®å±æ§ã衚ãååä»ãã®å€ã§ããããã¶ã€ããŒãéçºè ããšã³ã·ã¹ãã å šäœã§UIã®èŠèŠçãªäžè²«æ§ã容æã«æŽæ°ã»ç¶æã§ããããã«ããŸãããããããã¶ã€ã³ãå¶åŸ¡ãã倿°ã ãšèããŠãã ããã
å ç¢ãªããŒã¯ã³ã¢ãŒããã¯ãã£ã®å©ç¹ïŒ
- äžè²«æ§ïŒ ãã¹ãŠã®è£œåãšãã©ãããã©ãŒã ã§çµ±äžãããã«ãã¯ã¢ã³ããã£ãŒã«ãä¿èšŒããŸãã
- ã¹ã±ãŒã©ããªãã£ïŒ ãã¶ã€ã³ã·ã¹ãã ã®é²åã«äŒŽãUIã®æŽæ°ã»ç¶æããã»ã¹ãç°¡çŽ åããŸãã
- å¹çæ§ïŒ åé·ãªã³ãŒãããã¶ã€ã³äœæ¥ãåæžããæéãšãªãœãŒã¹ãç¯çŽããŸãã
- ã³ã©ãã¬ãŒã·ã§ã³ïŒ ãã¶ã€ããŒãšéçºè éã®ã·ãŒã ã¬ã¹ãªååãä¿é²ããŸãã
- ããŒãèšå®ïŒ ç°ãªããã©ã³ãããŠãŒã¶ãŒã®å¥œã¿ã«åãããè€æ°ã®ããŒããç°¡åã«äœæã§ããŸãã
- ã¢ã¯ã»ã·ããªãã£ïŒ ã³ã³ãã©ã¹ãæ¯ããã®ä»ã®ã¢ã¯ã»ã·ããªãã£é¢é£ã®ãã¶ã€ã³å±æ§ã容æã«å¶åŸ¡ã§ããããã«ããããšã§ãã¢ã¯ã»ã·ããªãã£ãä¿é²ããŸãã
ããŒã¯ã³ã¢ãŒããã¯ãã£ã®åå
æåããããŒã¯ã³ã¢ãŒããã¯ãã£ã¯ããã®èšèšãšå®è£ ãå°ãäžé£ã®ã³ã¢ååã«åºã¥ããŠæ§ç¯ãããŸãããããã®ååã¯ãã·ã¹ãã ãã¹ã±ãŒã©ãã«ã§ãä¿å®å¯èœã§ãããå°æ¥ã®å€æŽã«é©å¿ã§ããããšãä¿èšŒããŸãã
1. æœè±¡å
ãã¶ã€ã³å±æ§ãåå©çšå¯èœãªããŒã¯ã³ã«æœè±¡åããŸããè²ã®å€ããã©ã³ããµã€ãºãã³ã³ããŒãã³ãã«çŽæ¥ããŒãã³ãŒãã£ã³ã°ããã®ã§ã¯ãªãããããã®å€ã衚ãããŒã¯ã³ãå®çŸ©ããŸããããã«ãããã³ã³ããŒãã³ãèªäœã倿ŽããããšãªããããŒã¯ã³ã®åºã«ãªãå€ã倿Žã§ããŸãã
äŸïŒ ãã©ã€ããªãã¿ã³ã®èæ¯è²ã«çŽæ¥16é²ã³ãŒã`#007bff`ã䜿çšãã代ããã«ã`color.primary`ãšããããŒã¯ã³ãå®çŸ©ãããã®ããŒã¯ã³ã«16é²ã³ãŒããå²ãåœãŠãŸãããããŠããã¿ã³ã³ã³ããŒãã³ãã®ã¹ã¿ã€ã«ã§`color.primary`ããŒã¯ã³ã䜿çšããŸãã
2. ã»ãã³ãã£ãã¯ãªåœå
ç¹å®ã®å€ã§ã¯ãªããããŒã¯ã³ã®ç®çãæå³ãæç¢ºã«èšè¿°ããã»ãã³ãã£ãã¯ãªååã䜿çšããŸããããã«ãããåããŒã¯ã³ã®åœ¹å²ãçè§£ãããããªããå¿ èŠã«å¿ããŠå€ãæŽæ°ãããããªããŸãã
äŸïŒ ããŒã¯ã³ã«`button-color`ãšåä»ãã代ããã«ã`color.button.primary`ãšåä»ããŠããã®ç¹å®ã®ç®çïŒãã©ã€ããªãã¿ã³ã®è²ïŒãšãã¶ã€ã³ã·ã¹ãã å ã§ã®éå±€é¢ä¿ã瀺ããŸãã
3. éå±€åãšã«ããŽãªåé¡
ããŒã¯ã³ãæç¢ºãªéå±€ã«æŽçãããã®ã¿ã€ããšç®çã«åºã¥ããŠã«ããŽãªåé¡ããŸããããã«ãããç¹ã«å€§èŠæš¡ãªãã¶ã€ã³ã·ã¹ãã ã«ãããŠãããŒã¯ã³ã®æ€çŽ¢ãšç®¡çã容æã«ãªããŸãã
äŸïŒ è²ã®ããŒã¯ã³ã`color.primary`ã`color.secondary`ã`color.accent`ã`color.background`ãªã©ã®ã«ããŽãªã«ã°ã«ãŒãåããŸããåã«ããŽãªå ã§ãããã«`color.primary.default`ã`color.primary.hover`ã`color.primary.active`ãªã©ãç¹å®ã®çšéã«åºã¥ããŠããŒã¯ã³ãæŽçããŸãã
4. ãã©ãããã©ãŒã éäŸåæ§
ãã¶ã€ã³ããŒã¯ã³ã¯ãã©ãããã©ãŒã éäŸåã§ããã¹ãã§ããã€ãŸããç°ãªããã©ãããã©ãŒã ãæè¡ïŒäŸïŒWebãiOSãAndroidïŒã§å©çšã§ããå¿ èŠããããŸããããã«ããäžè²«æ§ã確ä¿ããããã©ãããã©ãŒã ããšã«å¥ã ã®ããŒã¯ã³ã»ãããç¶æããå¿ èŠããªããªããŸãã
äŸïŒ JSONãYAMLã®ãããªåœ¢åŒã䜿çšããŠãã¶ã€ã³ããŒã¯ã³ãä¿åããŸãããããã®åœ¢åŒã¯ãç°ãªããã©ãããã©ãŒã ãããã°ã©ãã³ã°èšèªã§ç°¡åã«è§£æã§ããŸãã
5. ããŒãžã§ã³ç®¡ç
ãã¶ã€ã³ããŒã¯ã³ã«ããŒãžã§ã³ç®¡çã·ã¹ãã ãå°å ¥ãã倿Žã远跡ãããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ãšãã©ãããã©ãŒã ã§æŽæ°ãäžè²«ããŠé©çšãããããã«ããŸããããã«ããããªã°ã¬ãã·ã§ã³ãé²ããå®å®ãããã¶ã€ã³ã·ã¹ãã ãç¶æããã®ã«åœ¹ç«ã¡ãŸãã
äŸïŒ Gitã®ãããªããŒãžã§ã³ç®¡çã·ã¹ãã ã䜿çšããŠãã¶ã€ã³ããŒã¯ã³ãã¡ã€ã«ã管çããŸããåã³ãããã¯ããŒã¯ã³ã®æ°ããããŒãžã§ã³ã衚ããå¿ èŠã«å¿ããŠä»¥åã®ããŒãžã§ã³ã«ç°¡åã«æ»ãããšãã§ããŸãã
ããŒã¯ã³ã¢ãŒããã¯ãã£ã®å®è£
ããŒã¯ã³ã¢ãŒããã¯ãã£ã®å®è£ ã«ã¯ãããŒã¯ã³æ§é ã®å®çŸ©ãããã³ãŒãããŒã¹ããã¶ã€ã³ããŒã«ãžã®çµ±åãŸã§ãããã€ãã®éèŠãªã¹ããããå«ãŸããŸãã
1. ããŒã¯ã³æ§é ã®å®çŸ©
æåã®ã¹ãããã¯ããã¶ã€ã³ããŒã¯ã³ã®æ§é ãå®çŸ©ããããšã§ããããã«ã¯ãããŒã¯ã³åããå¿ èŠãããããŸããŸãªã¿ã€ãã®ãã¶ã€ã³å±æ§ãç¹å®ããããããæŽçããããã®éå±€æ§é ãäœæããããšãå«ãŸããŸãã
äžè¬çãªããŒã¯ã³ã®çš®é¡ïŒ
- è²ïŒ èæ¯è²ãããã¹ãè²ãããŒããŒè²ãªã©ãUIã§äœ¿çšãããè²ã衚ããŸãã
- ã¿ã€ãã°ã©ãã£ïŒ ãã©ã³ããã¡ããªãŒããã©ã³ããµã€ãºããã©ã³ããŠã§ã€ããè¡ã®é«ãã衚ããŸãã
- ã¹ããŒã·ã³ã°ïŒ ããŒãžã³ãããã£ã³ã°ãèŠçŽ éã®ééã衚ããŸãã
- ããŒããŒååŸïŒ è§ã®äžžã¿ã衚ããŸãã
- ããã¯ã¹ã·ã£ããŠïŒ èŠçŽ ãèœãšã圱ã衚ããŸãã
- Zã€ã³ããã¯ã¹ïŒ èŠçŽ ã®éãªãé ã衚ããŸãã
- äžéæåºŠïŒ èŠçŽ ã®éæåºŠã衚ããŸãã
- æç¶æéïŒ ãã©ã³ãžã·ã§ã³ãã¢ãã¡ãŒã·ã§ã³ã®é·ãã衚ããŸãã
ããŒã¯ã³æ§é ã®äŸ (JSON)ïŒ
{
"color": {
"primary": {
"default": "#007bff",
"hover": "#0069d9",
"active": "#0056b3"
},
"secondary": {
"default": "#6c757d",
"hover": "#5a6268",
"active": "#495057"
},
"background": {
"default": "#f8f9fa",
"light": "#ffffff"
}
},
"typography": {
"fontFamily": "'Roboto', sans-serif",
"fontSize": {
"base": "16px",
"h1": "32px",
"h2": "24px"
},
"fontWeight": {
"regular": "400",
"bold": "700"
}
},
"spacing": {
"small": "8px",
"medium": "16px",
"large": "24px"
},
"borderRadius": {
"small": "4px",
"medium": "8px",
"large": "12px"
}
}
2. ããŒã¯ã³åœ¢åŒã®éžæ
ãã¶ã€ã³ããŒã«ãã³ãŒãããŒã¹ãšäºææ§ã®ããããŒã¯ã³åœ¢åŒãéžæããŸããäžè¬çãªåœ¢åŒã«ã¯ãJSONãYAMLãCSS倿°ãªã©ããããŸãã
- JSON (JavaScript Object Notation)ïŒ ããã°ã©ãã³ã°èšèªããã¶ã€ã³ããŒã«ã§åºããµããŒããããŠãã軜éãªããŒã¿äº€æåœ¢åŒã§ãã
- YAML (YAML Ain't Markup Language)ïŒ èšå®ãã¡ã€ã«ã«ãã䜿çšãããã人éãèªã¿ãããããŒã¿ã·ãªã¢ã©ã€ãŒãŒã·ã§ã³åœ¢åŒã§ãã
- CSS倿° (ã«ã¹ã¿ã ããããã£)ïŒ CSSã¹ã¿ã€ã«ã·ãŒãã§çŽæ¥äœ¿çšã§ãããã€ãã£ããªCSS倿°ã§ãã
圢åŒãéžæããéã®èæ ®äºé ïŒ
- 䜿ããããïŒ ãã®åœ¢åŒã§ããŒã¯ã³ãèªã¿æžãããç¶æããã®ã¯ã©ã®ãããç°¡åãïŒ
- ãã©ãããã©ãŒã ãµããŒãïŒ ãã®åœ¢åŒã¯ããã¶ã€ã³ããŒã«ãéçºãã¬ãŒã ã¯ãŒã¯ãã¿ãŒã²ãããã©ãããã©ãŒã ã§ãµããŒããããŠãããïŒ
- ããã©ãŒãã³ã¹ïŒ ç¹ã«å€æ°ã®ããŒã¯ã³ãæ±ãå Žåããã®åœ¢åŒã«ããã©ãŒãã³ã¹äžã®åœ±é¿ã¯ãããïŒ
- ããŒã«ïŒ ãã®åœ¢åŒã§ããŒã¯ã³ã管çã»å€æããã®ã«åœ¹ç«ã€ããŒã«ã¯ãããïŒ
3. ã³ãŒããžã®ããŒã¯ã³å®è£
CSSã¹ã¿ã€ã«ã·ãŒããJavaScriptã³ã³ããŒãã³ãã§ãã¶ã€ã³ããŒã¯ã³ãåç §ããããšã«ãããã³ãŒãããŒã¹ã«çµ±åããŸããããã«ãããããŒã¯ã³ã®å€ã倿Žããã ãã§ç°¡åã«èŠèŠãã¶ã€ã³ãæŽæ°ã§ããŸãã
äŸ (CSS倿°)ïŒ
:root {
--color-primary-default: #007bff;
--font-size-base: 16px;
--spacing-medium: 16px;
}
.button {
background-color: var(--color-primary-default);
font-size: var(--font-size-base);
padding: var(--spacing-medium);
}
äŸ (JavaScript)ïŒ
const primaryColor = getComputedStyle(document.documentElement).getPropertyValue('--color-primary-default');
const button = document.querySelector('.button');
button.style.backgroundColor = primaryColor;
4. ãã¶ã€ã³ããŒã«ãšã®çµ±å
ãã¶ã€ã³ããŒã¯ã³ããã¶ã€ã³ããŒã«ïŒäŸïŒFigmaãSketchãAdobe XDïŒã«æ¥ç¶ããŠããã¶ã€ããŒãéçºè ãšåãå€ã䜿çšããŠããããšã確èªããŸããããã«ããããã¶ã€ã³ãšéçºã®éã®ã®ã£ãããåããããäžè²«ãããŠãŒã¶ãŒäœéšãä¿é²ããŸãã
äžè¬çãªçµ±åæ¹æ³ïŒ
- ãã©ã°ã€ã³ïŒ ãã¶ã€ã³ããŒã«ãšã³ãŒãããŒã¹ã®éã§ãã¶ã€ã³ããŒã¯ã³ãã€ã³ããŒãã»ãšã¯ã¹ããŒãã§ãããã©ã°ã€ã³ã䜿çšããŸãã
- å ±æã©ã€ãã©ãªïŒ ãã¶ã€ã³ããŒã¯ã³ãšã³ã³ããŒãã³ããå«ãå ±æã©ã€ãã©ãªãäœæãããã¶ã€ããŒãšéçºè ãåããªãœãŒã¹ã䜿çšã§ããããã«ããŸãã
- ã¹ã¿ã€ã«ã¬ã€ãïŒ ãã¶ã€ã³ããŒã¯ã³ãšããã«å¯Ÿå¿ããå€ã衚瀺ããã¹ã¿ã€ã«ã¬ã€ããçæãããã¶ã€ããŒãšéçºè ã«èŠèŠçãªåç §ãæäŸããŸãã
ããŒã¯ã³ã¢ãŒããã¯ãã£ã®ç®¡ç
ããŒã¯ã³ã¢ãŒããã¯ãã£ã®ç®¡çã«ã¯ãããŒã¯ã³ãçµç¹å šäœã§äžè²«ããŠæŽæ°ãç¶æã䜿çšãããããšãä¿èšŒããããã®ããã»ã¹ãšããŒã«ã確ç«ããããšãå«ãŸããŸãã
1. ãã¶ã€ã³ã·ã¹ãã ã¬ããã³ã¹
ãã¶ã€ã³ã·ã¹ãã ãšãã®ããŒã¯ã³ã¢ãŒããã¯ãã£ã管çããããã®åœ¹å²ãšè²¬ä»»ãå®çŸ©ãããã¶ã€ã³ã·ã¹ãã ã¬ããã³ã¹ã¢ãã«ã確ç«ããŸããããã«ãããæŽæ°ãäžè²«æ§ã®ãã管çãããæ¹æ³ã§è¡ãããããšãä¿èšŒããŸãã
äž»ãªåœ¹å²ïŒ
- ãã¶ã€ã³ã·ã¹ãã ãªãŒãïŒ ãã¶ã€ã³ã·ã¹ãã ãšãã®ããŒã¯ã³ã¢ãŒããã¯ãã£ãç£ç£ããŸãã
- ãã¶ã€ããŒïŒ ãã¶ã€ã³ã·ã¹ãã ã«è²¢ç®ããäœæ¥ã§ãã¶ã€ã³ããŒã¯ã³ã䜿çšããŸãã
- éçºè ïŒ ã³ãŒãããŒã¹ã«ãã¶ã€ã³ããŒã¯ã³ãå®è£ ããŸãã
- ã¹ããŒã¯ãã«ããŒïŒ ãã£ãŒãããã¯ãæäŸãããã¶ã€ã³ã·ã¹ãã ãçµç¹ã®ããŒãºãæºãããŠããããšã確èªããŸãã
2. ããŒãžã§ã³ç®¡ç
ããŒãžã§ã³ç®¡çã·ã¹ãã ïŒäŸïŒGitïŒã䜿çšããŠãã¶ã€ã³ããŒã¯ã³ã®å€æŽã远跡ãããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ãšãã©ãããã©ãŒã ã§æŽæ°ãäžè²«ããŠé©çšãããããã«ããŸããããã«ãããå¿ èŠã«å¿ããŠä»¥åã®ããŒãžã§ã³ã«ç°¡åã«æ»ããããä»ã®ãã¶ã€ããŒãéçºè ãšå¹æçã«ååãããã§ããŸãã
3. ããã¥ã¡ã³ããŒã·ã§ã³
åããŒã¯ã³ã®èª¬æãç®çãäœ¿çšæ¹æ³ãå«ãããã¶ã€ã³ããŒã¯ã³ã®å æ¬çãªããã¥ã¡ã³ããäœæããŸããããã«ããããã¶ã€ããŒãšéçºè ãããŒã¯ã³ãæ£ãã䜿çšããæ¹æ³ãçè§£ããã®ã«åœ¹ç«ã¡ãŸãã
ããã¥ã¡ã³ãã«å«ããã¹ãå 容ïŒ
- ããŒã¯ã³åïŒ ããŒã¯ã³ã®ã»ãã³ãã£ãã¯ãªååã
- ããŒã¯ã³å€ïŒ ããŒã¯ã³ã®çŸåšã®å€ã
- 説æïŒ ããŒã¯ã³ã®ç®çãšäœ¿ç𿹿³ã«é¢ããæç¢ºã§ç°¡æœãªèª¬æã
- äŸïŒ ã³ã³ããŒãã³ãããã¶ã€ã³ã§ããŒã¯ã³ãã©ã®ããã«äœ¿çšããããã®äŸã
4. èªåãã¹ã
ãã¶ã€ã³ããŒã¯ã³ãæ£ãã䜿çšãããæŽæ°ã«ãã£ãŠãªã°ã¬ãã·ã§ã³ãçºçããªãããšãä¿èšŒããããã«ãèªåãã¹ããå®è£ ããŸããããã«ããããã¶ã€ã³ã·ã¹ãã ã®äžè²«æ§ãšå質ãç¶æããã®ã«åœ¹ç«ã¡ãŸãã
ãã¹ãã®çš®é¡ïŒ
- ããžã¥ã¢ã«ãªã°ã¬ãã·ã§ã³ãã¹ãïŒ ããŒã¯ã³æŽæ°ååŸã®ã³ã³ããŒãã³ãã®ã¹ã¯ãªãŒã³ã·ã§ãããæ¯èŒããŠãèŠèŠçãªå€æŽãæ€åºããŸãã
- ãŠããããã¹ãïŒ ããŒã¯ã³ãã³ãŒãããŒã¹ã§æ£ãã䜿çšãããŠããããšãæ€èšŒããŸãã
- ã¢ã¯ã»ã·ããªãã£ãã¹ãïŒ ããŒã¯ã³ã®æŽæ°ãã¢ã¯ã»ã·ããªãã£ã«æªåœ±é¿ãäžããªãããšã確èªããŸãã
ããŒã¯ã³ã¢ãŒããã¯ãã£ã®ã¹ã±ãŒãªã³ã°
ãã¶ã€ã³ã·ã¹ãã ãæé·ã»é²åããã«ã€ããŠãçµç¹ã®å¢å€§ããèŠæ±ã«å¿ããããã«ããŒã¯ã³ã¢ãŒããã¯ãã£ãã¹ã±ãŒãªã³ã°ããããšãéèŠã§ããããã«ã¯ã倿°ã®ããŒã¯ã³ã管çããè€æ°ã®ããŒãããµããŒãããç°ãªããã©ãããã©ãŒã éã§äžè²«æ§ã確ä¿ããããã®æŠç¥ãæ¡çšããããšãå«ãŸããŸãã
1. ã»ãã³ãã£ãã¯ããŒã¯ã³
`color.brand.primary`ã`spacing.component.padding`ãªã©ã®ããé«ã¬ãã«ã®æŠå¿µã衚ãã»ãã³ãã£ãã¯ããŒã¯ã³ãå°å ¥ããŸãããããã®ããŒã¯ã³ã¯ãããå ·äœçãªããªããã£ãããŒã¯ã³ã«ãããã³ã°ã§ãããããåã ã®ã³ã³ããŒãã³ãã倿Žããããšãªãããã¶ã€ã³ã·ã¹ãã ã®å šäœçãªã«ãã¯ã¢ã³ããã£ãŒã«ãç°¡åã«å€æŽã§ããŸãã
äŸïŒ
// ã»ãã³ãã£ãã¯ããŒã¯ã³
"color": {
"brand": {
"primary": "{color.blue.500}"
}
}
// ããªããã£ãããŒã¯ã³
"color": {
"blue": {
"500": "#007bff"
}
}
2. ããŒãèšå®
ãã¶ã€ã³ã·ã¹ãã ã®ç°ãªãããžã¥ã¢ã«ã¹ã¿ã€ã«ãç°¡åã«åãæ¿ããããããŒãèšå®ã·ã¹ãã ãå®è£ ããŸããããã¯ãç°ãªããã©ã³ãããŠãŒã¶ãŒã®å¥œã¿ããŸãã¯ã¢ã¯ã»ã·ããªãã£ã®ããŒãºã«åãããŠç°ãªãããŒããäœæããããã«äœ¿çšã§ããŸãã
ããŒãèšå®æŠç¥ïŒ
- CSS倿°ïŒ CSS倿°ã䜿çšããŠããŒãåºæã®å€ãå®çŸ©ããŸãã
- ããŒã¯ã³ã®äžæžãïŒ ããŒãåºæã®ããŒã¯ã³ãããã©ã«ãã®ããŒã¯ã³å€ãäžæžãã§ããããã«ããŸãã
- ãã¶ã€ã³ããŒã«ãã©ã°ã€ã³ïŒ ãã¶ã€ã³ããŒã«ãã©ã°ã€ã³ã䜿çšããŠããŒããäœæã»ç®¡çããŸãã
3. ã¹ã¿ã€ã«ãã£ã¯ã·ã§ããª
ã¹ã¿ã€ã«ãã£ã¯ã·ã§ããªã䜿çšããŠãç°ãªããã©ãããã©ãŒã ã圢åŒã«ããã£ãŠãã¶ã€ã³ããŒã¯ã³ã管çã»å€æããŸããã¹ã¿ã€ã«ãã£ã¯ã·ã§ããªã䜿çšãããšãåäžã®ä¿¡é Œã§ããæ å ±æºã§ããŒã¯ã³ãå®çŸ©ããåãã©ãããã©ãŒã ãããŒã«ã«å¿ èŠãªãã¡ã€ã«ãèªåçã«çæã§ããŸãã
ã¹ã¿ã€ã«ãã£ã¯ã·ã§ããªããŒã«ã®äŸïŒ Amazonã«ããStyle Dictionary
ã¹ã¿ã€ã«ãã£ã¯ã·ã§ããªã®å©ç¹ïŒ
- äžå 管çïŒ ãã¹ãŠã®ãã¶ã€ã³ããŒã¯ã³ãåäžã®å Žæã§ç®¡çããŸãã
- ãã©ãããã©ãŒã éäŸåæ§ïŒ ç°ãªããã©ãããã©ãŒã ã圢åŒçšã®ããŒã¯ã³ãçæããŸãã
- èªååïŒ ãã¶ã€ã³ããŒã¯ã³ã®æŽæ°ãšé åžããã»ã¹ãèªååããŸãã
4. ã³ã³ããŒãã³ãã©ã€ãã©ãª
ãã¶ã€ã³ããŒã¯ã³ã䜿çšããŠã³ã³ããŒãã³ãã®ã¹ã¿ã€ã«ãèšå®ããã³ã³ããŒãã³ãã©ã€ãã©ãªãéçºããŸããããã«ããããã¹ãŠã®ã³ã³ããŒãã³ãããã¶ã€ã³ã·ã¹ãã ãšäžè²«æ§ãæã¡ãããŒã¯ã³ãžã®æŽæ°ãã³ã³ããŒãã³ãã«èªåçã«åæ ãããããã«ãªããŸãã
ã³ã³ããŒãã³ãã©ã€ãã©ãªãã¬ãŒã ã¯ãŒã¯ã®äŸïŒ
- ReactïŒ ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãæ§ç¯ããããã®äººæ°ã®JavaScriptã©ã€ãã©ãªã
- Vue.jsïŒ ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ãæ§ç¯ããããã®ããã°ã¬ãã·ãJavaScriptãã¬ãŒã ã¯ãŒã¯ã
- AngularïŒ Webã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®å æ¬çãªãã©ãããã©ãŒã ã
ã°ããŒãã«ãªèæ ®äºé
ã°ããŒãã«ãªãªãŒãã£ãšã³ã¹åãã«ããŒã¯ã³ã¢ãŒããã¯ãã£ãèšèšã»å®è£ ããéã«ã¯ãããŒã«ãªãŒãŒã·ã§ã³ãã¢ã¯ã»ã·ããªãã£ãæåçãªéããªã©ã®èŠå ãèæ ®ããããšãéèŠã§ãããããã®èæ ®äºé ã¯ããã¶ã€ã³ã·ã¹ãã ãäžçäžã®ãŠãŒã¶ãŒã«ãšã£ãŠã€ã³ã¯ã«ãŒã·ãã§ã¢ã¯ã»ã¹ãããããã®ã§ããããšãä¿èšŒããã®ã«åœ¹ç«ã¡ãŸãã
1. ããŒã«ãªãŒãŒã·ã§ã³
ãã¶ã€ã³ããŒã¯ã³ã䜿çšããŠããã¹ãã®æ¹åããã©ã³ããã¡ããªãŒããã®ä»ã®èšèªåºæã®ãã¶ã€ã³å±æ§ã管çããããšã§ãããŒã«ãªãŒãŒã·ã§ã³ããµããŒãããŸããããã«ããããã¶ã€ã³ã·ã¹ãã ãããŸããŸãªèšèªãæåã«ç°¡åã«é©å¿ãããããšãã§ããŸãã
äŸïŒ ç°ãªãæåã»ããïŒäŸïŒã©ãã³æåãããªã«æåãæŒ¢åïŒã䜿çšããèšèªã«ã¯ãç°ãªããã©ã³ããã¡ããªãŒã䜿çšããŸãã
2. ã¢ã¯ã»ã·ããªãã£
ãã¶ã€ã³ããŒã¯ã³ã䜿çšããŠã³ã³ãã©ã¹ãæ¯ããã©ã³ããµã€ãºããã®ä»ã®ã¢ã¯ã»ã·ããªãã£é¢é£ã®ãã¶ã€ã³å±æ§ã管çããããšã§ãé害ãæã€ãŠãŒã¶ãŒããã¶ã€ã³ããŒã¯ã³ã«ã¢ã¯ã»ã¹ã§ããããã«ããŸããããã¯ããã¹ãŠã®äººã«ãšã£ãŠããã€ã³ã¯ã«ãŒã·ããªãŠãŒã¶ãŒäœéšãäœãåºãã®ã«åœ¹ç«ã¡ãŸãã
ã¢ã¯ã»ã·ããªãã£ã¬ã€ãã©ã€ã³ïŒ
- WCAG (Web Content Accessibility Guidelines)ïŒ Webã³ã³ãã³ããããã¢ã¯ã»ã¹ããããããããã®åœéæšæºã®ã»ããã
- ARIA (Accessible Rich Internet Applications)ïŒ Webã³ã³ãã³ããæ¯æŽæè¡ã«ãšã£ãŠããã¢ã¯ã»ã¹ããããããããã«äœ¿çšã§ãã屿§ã®ã»ããã
3. æåçãªéã
ãã¶ã€ã³ã®å¥œã¿ãèŠèŠçãªã³ãã¥ãã±ãŒã·ã§ã³ã«ãããæåçãªéãã«æ³šæããŠãã ãããããæåçã«é¢é£æ§ã®é«ããŠãŒã¶ãŒäœéšãäœãåºãããã«ãå°åããšã«ç°ãªãã«ã©ãŒãã¬ãããç»åãã¬ã€ã¢ãŠãã䜿çšããããšãæ€èšããŠãã ãããäŸãã°ãè²ã¯æåã«ãã£ãŠæå³ãç°ãªãããšããããããè²ã®éžæãæåçã«ã©ã®ãããªæå³ãæã€ãã調æ»ããããšãéèŠã§ãã
çµè«
æç¢ºã«å®çŸ©ãããããŒã¯ã³ã¢ãŒããã¯ãã£ã¯ãã¹ã±ãŒã©ãã«ã§ä¿å®å¯èœããã€äžè²«æ§ã®ããããã³ããšã³ããã¶ã€ã³ã·ã¹ãã ãæ§ç¯ããããã«äžå¯æ¬ ã§ãããã®ã¬ã€ãã§æŠèª¬ãããååãšæŠç¥ã«åŸãããšã§ãçµç¹ã®ããŒãºãæºããããã¹ãŠã®ãã©ãããã©ãŒã ãšè£œåã§åªãããŠãŒã¶ãŒäœéšãæäŸããããŒã¯ã³ã¢ãŒããã¯ãã£ãäœæã§ããŸãããã¶ã€ã³å±æ§ã®æœè±¡åããããŒã¯ã³ããŒãžã§ã³ã®ç®¡çããã¶ã€ã³ããŒã«ãšã®çµ±åãŸã§ãããŒã¯ã³ã¢ãŒããã¯ãã£ããã¹ã¿ãŒããããšã¯ãããã³ããšã³ããã¶ã€ã³ã·ã¹ãã ã®å¯èœæ§ãæå€§éã«åŒãåºããã°ããŒãã«åãããäžçã§ã®é·æçãªæåã確å®ã«ããããã®éµã§ãã