ããã«ã¡ã¯ããšãŸã ã§ãã
å æ¥ããããªèšäºãæžãããŠããã ããŸããã
Cursor ãš Claude ã䜿ã£ã AI é§åéçºã§ã1 ã¶æã§ããã°ã©ãã³ã°åŠç¿ãµã€ããäœã£ããšããå 容ã§ããã
ãããããŸã§å€ãã®æ¹ã«èªãã§ããã ããããã§ãã圹ã«ç«ãŠãŠå¬ããã§ãã
ãã ãååã®èšäºã§ã¯ ããã¶ã€ã³ã®çµ±äžæã§èŠåŽããã ãšããåçç¹ããäŒãããŠããŸããã
ä»åã¯ãã®ç¶ç·šãšããŠãApple 颚ã®ãã¶ã€ã³ã«ãŒã«ãçå®ããããšã§ UI 調æŽãåçã«æ¹åãã çµéšããäŒãããããšæããŸãã
â»ããã¶ã€ã³ã«ãŒã«ãããã¶ã€ã³ã«ãŒã«ãããã¶ã€ã³ã·ã¹ãã ããªã©ãåããããªæå³ã§äœ¿ãããèšèã§ãããããã§ã¯ããã¶ã€ã³ã«ãŒã«ããšåŒã¶ããšã«ããŸãã
ãã®èšäºã§ãããããš
- Claude ã䜿ã£ããã¶ã€ã³ã«ãŒã«çå®ã®å ·äœçãªæé
- Apple ã®ãã¶ã€ã³ã«ãŒã«ãå人éçºã«æŽ»çšããæ¹æ³
- AI ãšãŒãžã§ã³ãã«ãã¶ã€ã³èª¿æŽãä»»ããããã®ã³ã
- å®éã«äœ¿ãããã¶ã€ã³ã«ãŒã«ïŒã³ããå¯ïŒ
- ãã¶ã€ã³çµ±äžã§åŸãããå¹æãšæ³šæç¹
å¿ãã人ã®ããã«èŠçŽ
- ååã® AI é§åéçºã§ãã¶ã€ã³ã®çµ±äžæã«èŠåŽãã
- Claude ã«ãµã€ãã®ããŒãã«ã©ãŒãšãã¶ã€ã³ã«ãŒã«ãçå®ããŠããã£ã
- Apple ã®ãã¶ã€ã³ã«ãŒã«ãåèã«ãããæŽç·Žãããã«ãŒã«ãäœæ
- ãã¶ã€ã³ã«ãŒã«ãã¡ã€ã«ãäœã£ãŠ Cursor ã«æž¡ãã ãã§çµ±äžæã®ãã UI ã宿
- çµæçã« Core Web Vitals ãæ¹åããUX ãåäž
- èšäºå ã§å®éã®ãã¶ã€ã³ã«ãŒã«ãå ¬éïŒã³ããå©çš OKïŒ
æåã«ãã¶ã€ã³ã«ãŒã«ã®å¹æãèŠãŠããã
ãã¶ã€ã³ã«ãŒã«ã®å€§äºãã宿ããŠããããŸãããã
æ°ãã«å šããŒãããé©åœãª 1 æããŒãžã Cursor ã«äžçºåè² ã§äœã£ãŠãããããã¶ã€ã³ã«ãŒã«ã䜿ããªãå Žåãšäœ¿ãå Žåã§ã©ãã ãéããåºãããæ¯èŒããŠã¿ãŸãã
ãã¶ã€ã³ã«ãŒã«ã䜿ããªãå Žå
ãŸãã¯ããã¶ã€ã³ã«ãŒã«ã䜿ããã« Cursor ã«é©åœã«ããŒãžãäœã£ãŠããããŸãã
å®çªã®ã¬ã€ã¢ãŠããšããããšããããéãªæç€ºã§ããããªãã«èŠæ ãã®ããããŒãžãçæãããŸãã
ïŒæ£çŽããå°ãé㪠UI ã«ãªãããšæã£ãŠããŸããããããã Cursor ã§ãïŒ
æè¡ããã°é¢šã®ããŒãž
æè¡ããã°ãµã€ãã® UI ã Tailwind CSSïŒCDNïŒã§äœã£ãŠãã ããã
SNS ã¢ããªé¢šã®ããŒãž
SNS ã¢ããªã® UI ã Tailwind CSSïŒCDNïŒã§äœã£ãŠãã ããã
ããã·ã¥ããŒã颚ã®ããŒãž
ããã·ã¥ããŒãã® UI ã Tailwind CSSïŒCDNïŒã§äœã£ãŠãã ãã
ãã¶ã€ã³ã«ãŒã«ã䜿ãå Žå
次ã«ãåŸã»ã©ã玹ä»ãããã¶ã€ã³ã«ãŒã«ã Cursor ã«æž¡ããŠãåããããªããŒãžãäœã£ãŠããããŸãã
ä»å㯠DESIGN_RULE.md ãšãããã¡ã€ã«ã«ãã¶ã€ã³ã«ãŒã«ããŸãšããŠãCursor ã«æž¡ããŸããã
ç®æããŠãã Apple 颚ãå®å šåçŸãšãŸã§ã¯ãããªããŸã§ããããããªãšããŠããŠèŠããããçµ±äžæã®ãããã¶ã€ã³ãçæãããŸãã
æè¡ããã°é¢šã®ããŒãž
DESIGN_RULE.md ã«åŸã£ãŠãæè¡ããã°ãµã€ãã® UI ã Tailwind CSSïŒCDNïŒã§äœã£ãŠãã ããã
SNS ã¢ããªé¢šã®ããŒãž
DESIGN_RULE.md ã«åŸã£ãŠãSNS ã¢ããªã® UI ã Tailwind CSSïŒCDNïŒã§äœã£ãŠãã ããã
ããã·ã¥ããŒã颚ã®ããŒãž
DESIGN_RULE.md ã«åŸã£ãŠãããã·ã¥ããŒãã® UI ã Tailwind CSSïŒCDNïŒã§äœã£ãŠãã ããã
æ¯èŒçµæ
ã©ã¡ãããããŒãžããããååã§èŠããšãããªãã«èŠæ ãã®ãã UI ãçæãããŠããŸãã
ããŒãžããšã«èŠãåã«ã¯ããã¶ã€ã³ã«ãŒã«ã䜿ããªãå Žåã§ããããªãã«è¯ãæãã«èŠããŸãã
ãã ãå šäœã®çµ±äžæ ãšãã芳ç¹ã§ã¯ãããã§ããããïŒ
ããèŠãªããšåããã¥ãããããããŸãããããã¶ã€ã³ã«ãŒã«ã䜿ã£ãå Žåã® 3 æã«ã€ããŠã以äžã®èгç¹ã§èŠããšç¹ã«ããããããããšæããŸãã
- ããŒãã«ã©ãŒïŒã¡ã€ã³ã«ã©ãŒãé系統ã§çµ±äžããã€ãµãã«ã©ãŒãç·ã»ãªã¬ã³ãžç³»çµ±ã§çµ±äžïŒ
- ã«ãŒãã®åœ¢ç¶ïŒè§äžžã®ãµã€ãºãåœ±ã®æç¡ïŒ
- ã¿ã€ãã°ã©ãã£ïŒæåãµã€ãºãè¡éã®çµ±äžæïŒ
ãŸããä»åã¯ããŒãžãäžæ°ã«äœã£ãããããããŒãžå ãã®çµ±äžæãšããæå³ã§ãããšããããŸã§å·®ã¯åºãŠããªããããããŸããã
ãã ãå®éã®ã³ãŒãã£ã³ã°ã§ã¯ãã³ã³ããŒãã³ãããšããªã©ãå°ããã€äœã£ãŠããããšãå€ããšæããŸãã
ãã®å Žåããã¶ã€ã³ã«ãŒã«ã䜿ããªããšä»¥äžã®ãããªåé¡ãçºçããããã§ãã
- ãã¿ã³ã®è²ã埮åŠã«ãã©ãã©
- ã«ãŒãã®è§äžžãµã€ãºãçµ±äžãããŠããªã
- äœçœã®åãæ¹ã«äžè²«æ§ããªã
- æåãµã€ãºã®éå±€ãææ§
- ãªã³ã¯ã®ãããŒå¹æããã©ãã©
- ã¢ã€ã³ã³ã®ãµã€ãºãäœçœãçµ±äžãããŠããªã
- ãã©ãŒã èŠçŽ ã®ã¹ã¿ã€ã«ããã©ãã©
ããšãã°ã以äžã®ããã«éšåããšã«ãã©ãã©ãªãã¶ã€ã³ãçæãããŠããŸãããšããããŸãã
äžèšã®äŸã¯å€§è¢è£ãããããŸããããAI ãšãŒãžã§ã³ãã«ãä»»ãã§ãç¶ãè¶³ããã§æ©èœã远å ããŠãããšãã©ãããŠããã®ãã㪠ãã¶ã€ã³ã®çµ±äžæããªããªã ãšããåé¡ãçºçããããã§ãã
ä»åã¯ããã®åé¡ã解決ããããã«ããã¶ã€ã³ã«ãŒã«ãçå®ã㊠Cursor ã«æž¡ã ãšããæ¹æ³ãåããŸããã®ã§ããã®å ·äœçãªæé ãšå¹æã«ã€ããŠãäŒãããŸãïŒ
ååã®åçïŒãã¶ã€ã³å°çã«é¥ã£ãçç±
ååã®èšäºã§ãè§ŠããŸããããAI é§åéçºã§äžçªèŠåŽããã®ã ãã¶ã€ã³ã®çµ±äžæ ã§ããã
æ©èœéçºãš UI äœæãåæäžŠè¡ããŠããŸã£ã
ãåãæ©èœãäœããªããèŠãç®ãæŽããŠãããããšããèãã§é²ãããã§ãããããã ãã¡ããã¡ãå€§å€ ã§ããã
Cursor ã«ããã®æ©èœã远å ããŠããšãé¡ããããã³ã«ã埮åŠã«éãè²äœ¿ããäœçœèšå®ã®ã³ã³ããŒãã³ããçæãããŠããŸããã§ãã
çµæãšããŠã以äžã®ãããªåé¡ãçºçããŸããã
- ãã¿ã³ã®è²ã埮åŠã«ãã©ãã©
- ã«ãŒãã®è§äžžãµã€ãºãçµ±äžãããŠããªã
- äœçœã®åãæ¹ã«äžè²«æ§ããªã
- æåãµã€ãºã®éå±€ãææ§
ããã§ã¯ããŠãŒã¶ãŒã«ãšã£ãŠäœ¿ãã¥ãããµã€ãã«ãªã£ãŠããŸããŸãã
åŸãã調æŽããã®ã¯æ¬åœã«å€§å€
ããŸããåŸã§ãŸãšããŠèª¿æŽããã°ãããããšæã£ãŠãããã§ãããããã倧ããªééãã§ããã
æ©èœã宿ããŠããå šäœã®ãã¶ã€ã³ã調æŽããããšãããšã以äžã®ãããªåé¡ã«çŽé¢ããŸãã
- ã©ã®ã³ã³ããŒãã³ããã©ãã§äœ¿ãããŠãããææ¡ããããªã
- äžç®æä¿®æ£ãããšãå¥ã®å Žæã§è¡šç€ºã厩ãã
- AI ãšãŒãžã§ã³ãã«äŸé ŒããŠããæ¢åã®ã³ãŒããšã®æŽåæ§ãåããªã
ç¹ã«ãCursor ãçæããã³ãŒããå£ãããã ãšããåé¡ããããŸããã
å€§å¹ ãªãªãã¡ã¯ã¿ãªã³ã°ãäŸé ŒãããšãåããŠããæ©èœãæ¥ã«åããªããªã£ãããå šç¶éããã¶ã€ã³ã«ãªã£ãŠããŸã£ãããšãææ»ããå€çºããŠããŸããã
ããã§ãå®åã§ã¯ãã¶ã€ãããããã¶ã€ã³ã«ãŒã«ãäœã£ãŠãããªããšãµãšæãåºããæåã«ãã¶ã€ã³ã«ãŒã«ãçå®ããããšã«ããŸããã
ãã¶ã€ã³ã©çŽ äººããã¶ã€ã³ã«ãŒã«ãäœæããŠã¿ã
ãšã¯ãããç§ã®å°éã¯ãšã³ãžãã¢ãªã³ã°ã§ããã¶ã€ã³ã®å°éå®¶ã§ã¯ãããŸããã
äžå¿ããã¶ã€ã³ã«ã³ãã«åºã¥ããŠã³ãŒãã£ã³ã°ããŠããã®ã§ããªããšãªãè¯ã UIããšããã®ã¯èŠãã°ããããŸãããèªåã§ãŒããããã¶ã€ã³ããã®ã¯ããªãããŒãã«ãé«ãã§ãã
ã ã£ãããAI ã«ä»»ããŠããŸãããšããã®ãä»åã®çºæ³ã§ãã
Claude ã«ãµã€ãã®ããŒããæ±ºããŠããã
ãŸã㯠Claude ã«ããµã€ãå šäœã®ããŒãã«ã©ãŒãšãã¶ã€ã³ã®æ¹åæ§ã決ããŠããããŸããã
ããã³ããã¯ãããªæãã§ãã
# 圹å²
åªç§ãª UI/UX ãã¶ã€ããŒ
# èæ¯
ããã°ã©ãã³ã°åŠç¿ãµã€ããLearning Nextãã®ãã¶ã€ã³ããŒããæ±ºããããšæããŸãã
äž»ãªãŠãŒã¶ãŒã¯ããã°ã©ãã³ã°åå¿è
ããäžçŽè
ã§ãç·Žç¿åé¡ãããã¹ãåŠç¿ãã§ãããµã€ãã§ãã
# åœä»€
ãµã€ãã®ããŒãã«ã©ãŒãšãã¶ã€ã³ã®æ¹åæ§ãææ¡ããŠãã ããã
以äžã®èŠçŽ ãå«ããŠèããŠãã ããã
- ã¡ã€ã³ã«ã©ãŒïŒãã©ã€ããªã«ã©ãŒïŒ
- ãµãã«ã©ãŒ
- å
šäœçãªãã¶ã€ã³ã®å°è±¡ïŒæž
æœæãä¿¡é Œæ§ã芪ãã¿ããããªã©ïŒ
- ã¿ãŒã²ãããŠãŒã¶ãŒã«é©ãããã¶ã€ã³ã®ç¹åŸŽ
ãã¯ããã€ã¡ãŒãžã«ã©ãŒã®æ±ºå®ãã Claude ã«ä»»ããŠããŸããŸãã
ãã®çµæããã£ããã§ãã以äžã®ãããªããŒããæ±ºãŸããŸããã®ã§ããããããŒã¹ã«ããŠãããŸãã
Claude ã®åçã§ã¯ãé系統ã®ã«ã©ãŒãã¬ãã ãææ¡ããŠãããããæž æœæããä¿¡é Œæ§ããåŠç¿ãžã®éäžããããããéèŠããæ¹åæ§ãšãªããŸããã
Learning Next ã®ãã¶ã€ã³ããŒãïŒæãããã¿ïŒ
# Learning Next ãã¶ã€ã³ã«ãŒã«
## åæã»åºæ¬æ¹é
### æè¡åæ
- CSS ãã¬ãŒã ã¯ãŒã¯: Tailwind CSSïŒããã©ã«ãã¯ã©ã¹ã®ã¿äœ¿çšïŒ
- ã«ã¹ã¿ãã€ãº: ç¬èª CSS å®çŸ©ãªããTailwind æšæºã¯ã©ã¹ã§å®çµ
- ããŒã¯ã¢ãŒã: 察å¿äžèŠ
### ãã¶ã€ã³åºæ¬æ¹é
- ç®çå¿å: åŠç¿å¹çãšãŠãŒã¶ããªãã£ãæåªå
- çµ±äžæ§: Tailwind ã®å¶çŽå
ã§äžè²«ãããã¶ã€ã³ã·ã¹ãã
- ã¢ã¯ã»ã·ããªãã£: è²ã®ã¿ã«äŸåããªãæ
å ±äŒé
- ã¬ã¹ãã³ã·ã: ã¢ãã€ã«ãã¡ãŒã¹ãã®çžŠäžŠã³ã¬ã€ã¢ãŠã
## é
è²ã·ã¹ãã
### ãã©ã³ãã«ã©ãŒïŒããŽããŒã¹ïŒ
- ã¡ã€ã³ãã©ã³ã: `blue-600`
- ãµããã©ã³ã: `sky-300`
- ããã¹ã: `slate-700`
### åºæ¬é
è²æ§æïŒ3 è²ã«ãŒã«æºæ ïŒ
- ããŒã¹è²ïŒ70%ïŒ: `white`ã`slate-50`ã`slate-100`
- ã¡ã€ã³è²ïŒ25%ïŒ: `blue-600`ã`blue-700`
- ã¢ã¯ã»ã³ãè²ïŒ5%ïŒ: `sky-300`ãã»ãã³ãã£ãã¯ã«ã©ãŒ
### ã»ãã³ãã£ãã¯ã«ã©ãŒ
- æå: `green-500`ã`green-50`ã`green-700`
- èŠå: `amber-500`ã`amber-50`ã`amber-700`
- ãšã©ãŒ: `red-500`ã`red-50`ã`red-700`
- æ
å ±: `blue-500`ã`blue-50`ã`blue-700`
### ããã¹ãéå±€ïŒçã£é»åé¿ïŒ
- èŠåºã: `slate-900`ïŒ#000 åé¿ïŒ
- æ¬æ: `slate-700`
- è£è¶³: `slate-500`
- ç¡å¹: `slate-400`
## ã€ã³ã¿ã©ã¯ã·ã§ã³åå
### ã¯ãªãã«ãã«èŠçŽ ã®å¿
é æ¡ä»¶
1. ã«ãŒãœã«å€æŽ: `cursor-pointer` å¿
é
2. ãããŒåå¿: å¿
ãèŠèŠçãã£ãŒãããã¯æäŸ
3. ç¶æ
å€å: è²ã»éæåºŠã»ãã®ä»ã®æç¢ºãªå€å
### ãããŒå¹æãã¿ãŒã³
- è²å€å: `blue-600` â `blue-700`
- éæåºŠ: `hover:opacity-80`
- èæ¯è¿œå : `hover:bg-slate-50`
- ã¢ã³ããŒã©ã€ã³: `hover:underline`
## UI èŠçŽ å¥ã«ãŒã«
### ãã¿ã³èšèš
- ãã©ã€ããª: `blue-600` + `hover:blue-700` + `cursor-pointer`
- ã»ã«ã³ããª: `white` + `blue-600` ããŒã㌠+ ãããŒåå¿
- ããã¹ããã¿ã³: `blue-600` ããã¹ã + `hover:underline`
### ãªã³ã¯èšèš
- éåžž: `blue-600` + `hover:blue-800` + `underline`
- ããã²ãŒã·ã§ã³: `slate-600` + `hover:blue-600`
- çŸåšããŒãž: `blue-600` + `font-semibold`
### ã¹ããŒã¿ã¹è¡šç€ºïŒè²+圢ç¶ã§ã®å€å¥ïŒ
- æå: `green-50` èæ¯ + ã¢ã€ã³ã³ + `green-700` ããã¹ã
- ãšã©ãŒ: `red-50` èæ¯ + ã¢ã€ã³ã³ + `red-700` ããã¹ã
- èŠå: `amber-50` èæ¯ + ã¢ã€ã³ã³ + `amber-700` ããã¹ã
- æ
å ±: `blue-50` èæ¯ + ã¢ã€ã³ã³ + `blue-700` ããã¹ã
## ã³ã³ãã³ãå¥é
è²
### ã³ãŒã¹èå¥ïŒè²+ã¢ã€ã³ã³äœµçšïŒ
- Ruby: `red` ãã¡ããªãŒ + Ruby ã¢ã€ã³ã³
- Rails: `blue` ãã¡ããªãŒ + Rails ã¢ã€ã³ã³
- RSpec: `green` ãã¡ããªãŒ + ãã¹ãã¢ã€ã³ã³
### ç·Žç¿åé¡ã»ã€ã³ã¿ã©ã¯ãã£ãèŠçŽ
- æªéžæ: `white` + `slate-200` ããŒã㌠+ `hover:bg-slate-50`
- éžææžã¿: `blue-50` + `blue-300` ããŒããŒ
- æ£è§£: `green-50` + ãã§ãã¯ã¢ã€ã³ã³ + `green-700`
- äžæ£è§£: `red-50` + ããã¢ã€ã³ã³ + `red-700`
### ã©ã³ãã³ã°è¡šç€º
- 1 äœ: `yellow-50` + ð¥ + `yellow-700`
- 2 äœ: `slate-50` + ð¥ + `slate-700`
- 3 äœ: `orange-50` + ð¥ + `orange-700`
## ã¬ã€ã¢ãŠãåå
### 4 ååé©çš
- è¿æ¥: é¢é£æ
å ±ã®ã°ã«ãŒãåïŒ`space-y-4`ãªã©ïŒ
- æŽå: ã°ãªããã·ã¹ãã æŽ»çš
- å埩: åæ©èœèŠçŽ ã®çµ±äžãã¶ã€ã³
- 察æ¯: éèŠåºŠã«ããèŠèŠçå·®å¥å
### äœçœèšå®
- ã»ã¯ã·ã§ã³é: `py-8`ã`py-12`
- èŠçŽ é: `space-y-4`ã`gap-4`
- å
éšäœçœ: `p-4`ã`px-6 py-4`
- ç»é¢ç«¯: `px-4`ïŒå§è¿«æåé¿ïŒ
### ã¬ã¹ãã³ã·ãèæ
®
- åºæ¬: ã¢ãã€ã«çžŠäžŠã³ã¬ã€ã¢ãŠã
- 暪å¹
: `max-w-4xl mx-auto`ã§äžå€®å¯ã
- äœçœ: 4 ã®åæ°åäœïŒ`p-4`ã`m-8`ãªã©ïŒ
## ã¢ã¯ã»ã·ããªãã£
### è²èŠé
æ
®
- è²ã®ã¿çŠæ¢: å¿
ãã¢ã€ã³ã³ã»ããã¹ãã»åœ¢ç¶ã§è£å®
- ã³ã³ãã©ã¹ã: çœèæ¯ã«`slate-600`以äžäœ¿çš
- ãªã³ã¯: `underline`ã§èŠèŠçåºå¥
### ãŠãŒã¶ããªãã£
- ãã©ãŒã«ã¹: `focus:ring-2 focus:ring-blue-500`
- ã¿ããã¿ãŒã²ãã: æå°`h-12`ïŒ48pxïŒç¢ºä¿
- èªã¿ããã: `text-base`以äžã`leading-relaxed`
## çµ±äžæ§ç¢ºä¿ã«ãŒã«
### åªå
é äœ
1. ãã©ã³ãã«ã©ãŒ: æéèŠã¢ã¯ã·ã§ã³
2. ã»ãã³ãã£ãã¯: ç¶æ
ã»ãã£ãŒãããã¯
3. ãã¥ãŒãã©ã«: ããŒã¹ã»ããã¹ãã»æ§é
### äžè²«æ§ãã§ãã¯ãã€ã³ã
- åæ©èœ: åããããŒå¹æé©çš
- ã«ãŒãœã«: ã¯ãªãã«ãã«ã«`cursor-pointer`å¿
é
- ç¶æ
衚瀺: è²+ã¢ã€ã³ã³ã®ã»ãã䜿çš
- ããã¹ãéå±€: `slate`ãã¡ããªãŒã§çµ±äž
### çŠæ¢äºé
- åè²äœ¿çš: `red-500`ã®ä»£ããã«`red-600`ç
- çã£é»çœ: `#000`/`#fff`ã®ä»£ããã«`slate-900`/`slate-50`
- è²ã®ã¿å€å¥: å¿
ãã¢ã€ã³ã³ã»åœ¢ç¶ã§è£å®
- 4 è²ä»¥äž: åºæ¬ 3 è²+ã»ãã³ãã£ãã¯ã«ã©ãŒãŸã§
ãã®ã¬ã€ãã©ã€ã³ã«ãããTailwind CSS ã®å¶çŽå
ã§çµ±äžæããããã¢ã¯ã»ã·ãã«ã§çŽæç㪠Learning Next ãã©ãããã©ãŒã ãå®çŸããŸãã
ããã ãã§ãããããªãã«çµ±äžæã®ãããã¶ã€ã³ãã§ãããšæããŸãã
ãã ããã£ãããªãã°äŒæ¥ã®ãã¶ã€ã³ã«ãŒã«ãåèã«ãªãããããªãããšæããæ¬¡ã®ã¹ãããã«é²ãããšã«ããŸããã
Apple ã®ãã¶ã€ã³ã«ãŒã«ãåèã«ãã
ã¿ãªããã¯å¥œããªãµã€ãã£ãŠãããŸããïŒ
ç§ã¯ãã¶ã€ã³ã«ã¯çãã®ã§ãããæ®æ®µã¯ Apple 補åããã䜿ã£ãŠãããããããªããšãªã Apple 颚ã®ãã¶ã€ã³ã£ãŠãã£ãããããªããšæã£ãŠããŸãã
å®ã¯ Apple 㯠Human Interface Guidelines ãªã©ãå ¬åŒã®ãã¶ã€ã³ã«ãŒã«ãå ¬éããŠããŸãã
ãã£ãããããšãApple 補åã® UI/UX ãã¶ã€ã³ã«é¢ãããã¹ããã©ã¯ãã£ã¹ããŸãšãããã®ã§ãå人éçºè ã§ãåèã«ãªãå 容ãçãã ãããã§ãã
ãããªãã®ãç¡æã§äœ¿ãããªãïŒãšããããšã§ãæ©éãããåèã«ãããã¶ã€ã³ã«ãŒã«ãäœæããããšã«ããŸãã
æ¹æ³ã¯ç°¡åã§ã以äžã® URL ã Claude ã«æž¡ãã ãã§ãã
ãã¡ãã¯ãApple ãå ¬éããŠãããã¶ã€ã³ã«ãŒã«ã®ãªã³ã¯ã§ãã
https://developer.apple.com/design/
https://developer.apple.com/design/human-interface-guidelines
ãããŠããããªããã³ãããæããŸããã
# 圹å²
åªç§ãª UI/UX ãã¶ã€ããŒ
# èæ¯
å
ã»ã©ææ¡ããŠããã ããããã°ã©ãã³ã°åŠç¿ãµã€ãã®ãã¶ã€ã³ããŒããããŒã¹ã«ã
ããã«æŽç·Žããããã¶ã€ã³ã«ãŒã«ãäœæããããšæããŸãã
# åœä»€
Apple ã®ãã¶ã€ã³ã«ãŒã«ããããŸãã
- https://developer.apple.com/design/human-interface-guidelines
- https://developer.apple.com/design
以äžã®èŠçŽ ãå«ããã¶ã€ã³ã«ãŒã«ãçå®ããŠãã ããã
- ã«ã©ãŒã·ã¹ãã
- ã¿ã€ãã°ã©ãã£
- äœçœã»éé
- è§äžž
- 圱ã®å¹æ
- ãã¿ã³ãã«ãŒããªã©ã®ã³ã³ããŒãã³ãèšèš
- ã¢ã¯ã»ã·ããªãã£é
æ
®
ç¹ã«ãTailwind CSS ã§ã®å®è£
ãåæãšããŠãå
·äœçãªã¯ã©ã¹åãå«ããŠææ¡ããŠãã ããã
倧äºãªã®ã¯ããŸãšããŠã»ãã芳ç¹ãæç¢ºã«äŒããããšã§ãã
ãã®çµæããŸãšããŠãããã®ããã¡ãã§ãã
ãèªèº«ã®ãµã€ãã«å¿çšãããæ¹ã¯ããã¡ãããã®ãŸãŸäœ¿ã£ãŠãè¯ãããšæããŸãã
Apple 颚ãã¶ã€ã³ã«ãŒã«ïŒæãããã¿ïŒ
# Apple 颚ãã¶ã€ã³å®å
šå®è£
ã¬ã€ã
Apple ã® Human Interface Guidelines ãš Apple å
¬åŒãµã€ãã®å®è£
å€ã培åºåæããå®å
šã«åçŸå¯èœãªã¬ãã«ã§ã®ãã¶ã€ã³ã«ãŒã«ãæ§ç¯ããŸããã以äžã®ã«ãŒã«ã«åŸãããšã§ã**確å®ã« Apple 颚㮠Web ãµã€ããã¶ã€ã³ãå®çŸ**ã§ããŸãã
## 1. é
è²ã·ã¹ãã ïŒã«ã©ãŒãã¬ããã»äœ¿çšå Žé¢ã»HEX ã³ãŒãïŒ
### ã¡ã€ã³ã«ã©ãŒãã¬ãã
**ãã©ã€ããªã«ã©ãŒ**
- **ãã©ãã¯**: `#000000` - ã¡ã€ã³ããã¹ããããã²ãŒã·ã§ã³ãã¢ã€ã³ã³
- **ãã¯ã€ã**: `#FFFFFF` - èæ¯ãã«ãŒãèæ¯ãé転ããã¹ã
- **ã°ã¬ãŒ**: `#A3AAAE` - ã»ã«ã³ããªããã¹ããå¢çç·
**ã·ã¹ãã ã«ã©ãŒïŒiOS æºæ ïŒ**
- **ã·ã¹ãã ãã«ãŒ**: `#007AFF` - ãªã³ã¯ãäž»èŠã¢ã¯ã·ã§ã³ãéžæç¶æ
- **ã·ã¹ãã ã¬ãã**: `#FF3B30` - ãšã©ãŒãåé€ãèŠåã¢ã¯ã·ã§ã³
- **ã·ã¹ãã ã°ãªãŒã³**: `#4CD964` - æåã確èªãæ£åžžç¶æ
- **ã·ã¹ãã ãªã¬ã³ãž**: `#FF9500` - èŠåãæ³šæåèµ·
- **ã·ã¹ãã ããŒãã«**: `#5856D6` - åµé æ§ããã¬ãã¢ã æ©èœ
**ã°ã¬ãŒã¹ã±ãŒã«ïŒ24 段éã·ã¹ãã ïŒ**
- **ããã¹ãçš**: `#1D1D1F` (ã¡ã€ã³), `#666666` (ã»ã«ã³ããª), `#979797` (ãã£ãã·ã§ã³)
- **èæ¯çš**: `#F5F5F7` (ã©ã€ãã°ã¬ãŒèæ¯), `#EEEEEE` (åå²ç·)
- **ã€ã³ã¿ã©ã¯ãã£ã**: `#0088CC` (ãããŒçšãã«ãŒ)
### ã«ã©ãŒäœ¿çšã«ãŒã«
**ããã¹ãã«ã©ãŒé©çš**
```css
/* ã¡ã€ã³ããã¹ã */
color: #000000; /* äž»èŠã³ã³ãã³ã */
color: #1d1d1f; /* æ¬æããã¹ã */
color: #666666; /* ã»ã«ã³ããªæ
å ± */
color: #979797; /* ãã£ãã·ã§ã³ã»æ³šé */
```
**ã¢ã¯ã·ã§ã³ã«ã©ãŒé©çš**
```css
/* ãã©ã€ããªã¢ã¯ã·ã§ã³ */
background-color: #007aff;
color: #ffffff;
/* ã»ã«ã³ããªã¢ã¯ã·ã§ã³ */
background-color: transparent;
color: #007aff;
border: 1px solid #007aff;
```
## 2. è§äžžïŒborder-radiusïŒèšå®
### ã³ã³ããŒãã³ãå¥è§äžžå€
**ãã¿ã³ç³»**
- **å°ããªãã¿ã³**: `border-radius: 8px` (é«ã 32px 以äž)
- **æšæºãã¿ã³**: `border-radius: 12px` (é«ã 44px)
- **倧ããªãã¿ã³**: `border-radius: 16px` (é«ã 56px 以äž)
**ã«ãŒãã»ã³ã³ããç³»**
- **å°ããªã«ãŒã**: `border-radius: 12px` (å¹
200px 以äž)
- **æšæºã«ãŒã**: `border-radius: 16px` (å¹
200-400px)
- **倧ããªã«ãŒã**: `border-radius: 20px` (å¹
400px 以äž)
**ãã©ãŒã èŠçŽ **
- **å
¥åãã£ãŒã«ã**: `border-radius: 8px`
- **ããã¹ããšãªã¢**: `border-radius: 12px`
- **ã»ã¬ã¯ãããã¯ã¹**: `border-radius: 8px`
**ã¢ãŒãã«ã»ãªãŒããŒã¬ã€**
- **ã¢ãŒãã«**: `border-radius: 20px` (iOS 颚)
- **ããããªãŒããŒ**: `border-radius: 16px`
- **ããŒã«ããã**: `border-radius: 8px`
### è§äžžå®è£
ã®æ³šæç¹
**é£ç¶çãªè§äžžïŒContinuous CornersïŒ**
```css
/* iOSé¢šã®æ»ãããªè§äžžãåçŸ */
border-radius: 16px;
/* ãã£ã°ãã®å Žå: Corner Smoothing 60-61% ãé©çš */
```
## 3. äœçœã·ã¹ãã ïŒmarginã»paddingïŒ
### åºæ¬ã¹ããŒã·ã³ã°ãŠããã
**8px ããŒã¹ã·ã¹ãã **
- **極å°**: `4px` - ã¢ã€ã³ã³ãšæåã®éé
- **å°**: `8px` - é¢é£èŠçŽ éã®æå°éé
- **æšæº**: `16px` - äžè¬çãªèŠçŽ ééãã«ãŒãå
padding
- **äž**: `24px` - ã»ã¯ã·ã§ã³éã®åºåã
- **倧**: `32px` - ã¡ãžã£ãŒã»ã¯ã·ã§ã³é
- **ç¹å€§**: `48px` - ããŒãžæäžéšã»æäžéšã®äœçœ
### ã³ã³ããŒãã³ãå¥äœçœèšå®
**ãã¿ã³**
```css
/* æšæºãã¿ã³ */
padding: 12px 24px; /* äžäž12px, å·Šå³24px */
min-height: 44px; /* ã¿ããã¿ãŒã²ããæå°ãµã€ãº */
/* å°ããªãã¿ã³ */
padding: 8px 16px;
min-height: 32px;
/* 倧ããªãã¿ã³ */
padding: 16px 32px;
min-height: 56px;
```
**ã«ãŒãå
éš**
```css
/* ã«ãŒãå
padding */
padding: 20px; /* æšæºã«ãŒã */
padding: 16px; /* å°ããªã«ãŒã */
padding: 24px; /* 倧ããªã«ãŒã */
```
**ã¬ã€ã¢ãŠãäœçœ**
```css
/* ããŒãžã¬ãã« */
margin: 0 16px; /* ã¢ãã€ã«æ°Žå¹³ããŒãžã³ */
margin: 0 24px; /* ã¿ãã¬ããæ°Žå¹³ããŒãžã³ */
margin: 0 auto;
max-width: 1200px; /* ãã¹ã¯ãããäžå€®å¯ã */
/* ã»ã¯ã·ã§ã³é */
margin-bottom: 32px; /* ã»ã¯ã·ã§ã³åºåã */
margin-bottom: 48px; /* ã¡ãžã£ãŒã»ã¯ã·ã§ã³åºåã */
```
## 4. ã³ã³ãã©ã¹ãã®èãæ¹
### ããã¹ãã³ã³ãã©ã¹ãèŠå
**WCAG 2.1 æºæ ã³ã³ãã©ã¹ãæ¯**
- **éåžžããã¹ã**: 4.5:1 以äž
- **倧ããªããã¹ã**: 3:1 以äž
- **UI ã³ã³ããŒãã³ã**: 3:1 以äž
**æšå¥šããã¹ãçµã¿åãã**
```css
/* é«ã³ã³ãã©ã¹ãïŒã¡ã€ã³ããã¹ãïŒ */
background: #ffffff;
color: #000000; /* 21:1 ratio */
background: #f5f5f7;
color: #1d1d1f; /* 16.8:1 ratio */
/* äžã³ã³ãã©ã¹ãïŒã»ã«ã³ããªããã¹ãïŒ */
background: #ffffff;
color: #666666; /* 5.74:1 ratio */
background: #f5f5f7;
color: #979797; /* 4.54:1 ratio */
/* ã¢ã¯ã·ã§ã³ã«ã©ãŒ */
background: #007aff;
color: #ffffff; /* 4.5:1 ratio */
```
### UI èŠçŽ ã®ã³ã³ãã©ã¹ã
**ã€ã³ã¿ã©ã¯ãã£ãèŠçŽ **
- **ãã¿ã³**: èæ¯è²ãšããã¹ãã§ 4.5:1 以äž
- **ãªã³ã¯**: åšå²ã®ããã¹ããš 3:1 以äžã®å·®
- **ãã©ãŒã **: å¢çç·ãšèæ¯ã§ 3:1 以äž
**ç¶æ
ã«ããè²ã®å€å**
```css
/* éåžžç¶æ
*/
background-color: #007aff;
/* ãããŒç¶æ
*/
background-color: #0056cc; /* 20%æã */
/* ç¡å¹ç¶æ
*/
background-color: #007aff;
opacity: 0.3; /* 30%éæåºŠ */
```
## 5. ã«ãŒããã¶ã€ã³ã®äœ¿ãæ¹
### ã«ãŒãã®åºæ¬ã¹ããã¯
**æšæºã«ãŒã**
```css
.card {
background: #ffffff;
border-radius: 16px;
padding: 20px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
border: none; /* 圱ã§ã®ã¿åºå¥ */
}
```
**圱ïŒShadowïŒã®èšå®**
```css
/* 軜ãåœ±ïŒæšæºïŒ */
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
/* äžçšåºŠã®åœ±ïŒãããŒæïŒ */
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
/* 匷ã圱ïŒã¢ãŒãã«ã»éèŠèŠçŽ ïŒ */
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
```
### ã«ãŒããµã€ãºããªãšãŒã·ã§ã³
**å°ã«ãŒãïŒã¢ãã€ã«ïŒ**
```css
.card-small {
min-width: 280px;
max-width: 320px;
padding: 16px;
border-radius: 12px;
}
```
**æšæºã«ãŒã**
```css
.card-standard {
min-width: 320px;
max-width: 400px;
padding: 20px;
border-radius: 16px;
}
```
**倧ã«ãŒãïŒãã¹ã¯ãããïŒ**
```css
.card-large {
min-width: 400px;
max-width: 600px;
padding: 24px;
border-radius: 20px;
}
```
### ã«ãŒãå
ã¬ã€ã¢ãŠã
**ã³ã³ãã³ãæ§é **
```css
.card-header {
margin-bottom: 16px;
padding-bottom: 12px;
border-bottom: 1px solid #eeeeee;
}
.card-body {
margin-bottom: 20px;
line-height: 1.5;
}
.card-footer {
margin-top: 16px;
padding-top: 12px;
border-top: 1px solid #eeeeee;
}
```
## 6. ã¹ããŒã¹ã®äœ¿ãæ¹ïŒèŠçŽ éè·é¢ã»ã°ãªããã·ã¹ãã ïŒ
### èŠçŽ éè·é¢ã®äœç³»
**é¢é£åºŠã«ããéé**
- **坿¥é¢é£**: `4px` - ã©ãã«ãšå€ãã¢ã€ã³ã³ãšããã¹ã
- **é¢é£**: `8px` - åãã°ã«ãŒãå
ã®èŠçŽ
- **ããé¢é£**: `16px` - ç°ãªãã°ã«ãŒãã®èŠçŽ
- **ç¬ç«**: `24px` - ã»ã¯ã·ã§ã³å
ã®åºåã
- **å®å
šåé¢**: `32px` - ã»ã¯ã·ã§ã³éã®åºåã
### ã°ãªããã·ã¹ãã
**12 ã«ã©ã ãã¬ãã·ãã«ã°ãªãã**
```css
.container {
max-width: 1200px;
margin: 0 auto;
padding: 0 16px; /* ã¢ãã€ã« */
padding: 0 24px; /* ã¿ãã¬ãã */
padding: 0 32px; /* ãã¹ã¯ããã */
}
.grid {
display: grid;
grid-template-columns: repeat(12, 1fr);
gap: 16px; /* ã¢ãã€ã« */
gap: 20px; /* ã¿ãã¬ãã */
gap: 24px; /* ãã¹ã¯ããã */
}
```
**ã¬ã¹ãã³ã·ããã¬ãŒã¯ãã€ã³ã**
```css
/* ã¢ãã€ã« */
@media (max-width: 767px) {
.container {
padding: 0 16px;
}
.grid {
gap: 16px;
}
}
/* ã¿ãã¬ãã */
@media (min-width: 768px) and (max-width: 1023px) {
.container {
padding: 0 24px;
}
.grid {
gap: 20px;
}
}
/* ãã¹ã¯ããã */
@media (min-width: 1024px) {
.container {
padding: 0 32px;
}
.grid {
gap: 24px;
}
}
```
### ã¿ã€ãã°ã©ãã£ã¹ããŒã·ã³ã°
**SF Pro ãã©ã³ãã·ã¹ãã **
```css
/* ã·ã¹ãã ãã©ã³ãæå® */
font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Helvetica Neue', sans-serif;
/* ãµã€ãºéå±€ */
.text-large-title {
font-size: 34px;
line-height: 1.2;
margin-bottom: 24px;
}
.text-title-1 {
font-size: 28px;
line-height: 1.25;
margin-bottom: 20px;
}
.text-title-2 {
font-size: 22px;
line-height: 1.3;
margin-bottom: 16px;
}
.text-headline {
font-size: 17px;
font-weight: 600;
margin-bottom: 12px;
}
.text-body {
font-size: 17px;
line-height: 1.5;
margin-bottom: 16px;
}
.text-caption {
font-size: 12px;
color: #666666;
margin-bottom: 8px;
}
```
## å®è£
ãã§ãã¯ãªã¹ã
### å¿
é èŠä»¶
- [ ] æå°ã¿ããã¿ãŒã²ãã 44pxÃ44px 確ä¿
- [ ] ã³ã³ãã©ã¹ãæ¯ 4.5:1 以äžç¶æ
- [ ] ã·ã¹ãã ãã©ã³ãïŒSF ProïŒäœ¿çš
- [ ] 8px ããŒã¹ã®ã¹ããŒã·ã³ã°éµå®
- [ ] è§äžžå€ã®çµ±äžïŒ8pxã12pxã16pxã20pxïŒ
- [ ] 圱ã®äžè²«æ§ç¢ºä¿
### æšå¥šäºé
- [ ] ããŒã¯ã¢ãŒã察å¿ã®è²èšèš
- [ ] ã¢ã¯ã»ã·ããªãã£å¯Ÿå¿
- [ ] ã¬ã¹ãã³ã·ããã¶ã€ã³å®è£
- [ ] æ»ãããªã¢ãã¡ãŒã·ã§ã³è¿œå
- [ ] ã»ãã³ãã£ãã¯ã«ã©ãŒäœ¿çš
ãã®ã¬ã€ãã©ã€ã³ã«åŸãããšã§ã**Apple å
¬åŒãµã€ããšåçã®å質ãšãã¶ã€ã³äžè²«æ§**ãæã€ Web ãµã€ããæ§ç¯ã§ããŸããåæ°å€ã¯å®éã® Apple ã®å®è£
å€ã«åºã¥ããŠããããã®ãŸãŸé©çšããããšã§ç¢ºå®ã« Apple 颚ã®ãã¶ã€ã³ãå®çŸã§ããŸãã
æ£çŽããããšèŠã§ã¯ã©ãã Apple ã®ãã¶ã€ã³ã«ãŒã«ã«åºã¥ããŠããã®ãã¯ããããŸãããã现ããæ°å€ãã«ãŒã«ããã£ãããšå®çŸ©ãããŠããããšãããããŸãã
å®å šã« Apple ã®ãã¶ã€ã³ãåçŸããã®ã¯é£ããã§ããããããåèã«ããããšã§ãããªãæŽç·Žããããã¶ã€ã³ãå®çŸã§ãããšæããŸãã
ã§ã¯ãããã Learning Next ã®ãã¶ã€ã³ã«ãŒã«ã«çµã¿èŸŒãã§ãããŸãã
ãµã€ãã€ã¡ãŒãžãš Apple 颚ã«ãŒã«ãçµ±å
Claude ãææ¡ããŠãããå 容ãããŒã¹ã«ãæçµçã« Learning Next å°çšã®ãã¶ã€ã³ã«ãŒã« ãäœæããŸããã
ãã®éãã2 ã€ã®ãã¶ã€ã³ã«ãŒã«ããã£ããã§ Claude ã«æž¡ãã以äžã®ãããªããã³ãããæããŸããã
# 圹å²
åªç§ãª UI/UX ãã¶ã€ããŒ
# èæ¯
äºåã«ã以äžã® 2 ã€ã®ãã¶ã€ã³ã«ãŒã«ãäœæããŸããã
1. Learning Next ã®ãã¶ã€ã³ããŒã
2. Apple 颚ãã¶ã€ã³ã«ãŒã«
# åœä»€
ãLearning Next ã®ãã¶ã€ã³ããŒãããšãApple 颚ãã¶ã€ã³ã«ãŒã«ããçµ±åãã以äžã®èŠçŽ ãå«ããã¶ã€ã³ã«ãŒã«ãäœæããŠãã ããã
# è£è¶³
ããã2 ã€ã®ãã¶ã€ã³ã«ãŒã«ã«ççŸãããå Žåã¯ãApple 颚ã®ã«ãŒã«ãåªå
ããŠãã ããã
ãã ããè²ãªã©ãµã€ãã€ã¡ãŒãžã«åœ±é¿ããéšå㯠Learning Next ã®ãã¶ã€ã³ããŒããåªå
ããŠãã ããã
äžèšã®ããã³ããã§ã¯ã2 ã€ã®ãã¶ã€ã³ã«ãŒã«ãçµ±åããããšãšãççŸãããå Žåã¯åªå
é äœãæç¢ºã«ããããšãäŒããŠããŸãã
ããã«ãããLearning Next ã®ã€ã¡ãŒãžãä¿ã¡ãªãããApple é¢šã®æŽç·Žããããã¶ã€ã³ã«ãŒã«ãåãå
¥ããããšãã§ããŸãã
å®éã®ãã¶ã€ã³ã«ãŒã«ïŒã³ããå©çšå¯ïŒ
ãã£ãããªã®ã§ãä»åäœæãããã¶ã€ã³ã«ãŒã«ã®å šæãå ¬éããŸãã
ãµã€ãã®ç®çãªã©ã®éšåã ãã¯ã«ã¹ã¿ãã€ãºããäžã§ããèªèº«ã®ãµã€ãã«å¿çšããŠããã ããã°ãšæããŸãã
Learning Next Apple 颚ãã¶ã€ã³ã«ãŒã«ïŒå šæïŒ
# Learning Next Apple 颚ãã¶ã€ã³ã«ãŒã«
## 1. åºæ¬ç念
Learning Next ã¯ãApple Human Interface Guidelines ã®æŽç·Žããããã¶ã€ã³å²åŠãåºç€ãšãã€ã€ãæè²ãã©ãããã©ãŒã ãšããŠã®ç¬èªæ§ã衚çŸããŸãããã©ã³ãã«ã©ãŒã®éã軞ã«ãæž
æœæã»æçæ§ã»çŽææ§ã远æ±ããã¢ã¯ã»ã·ããªãã£ãæåªå
ã«èæ
®ãããŠãŒã¶ãŒäœéšãæäŸããŸãã
## 2. é
è²ã·ã¹ãã
### ãã©ã€ããªã«ã©ãŒïŒWCAG é©åïŒ
```
- ã¡ã€ã³ãã«ãŒ: blue-500 (#3B82F6) - äž»èŠã¢ã¯ã·ã§ã³ãéžæç¶æ
- ããŒã¯ãã«ãŒ: blue-600 (#2563EB) - ãããŒç¶æ
ã匷調
- 匷調ãã«ãŒ: blue-700 (#1D4ED8) - ããã¹ãçšãé«ã³ã³ãã©ã¹ã
- è¶
匷調ãã«ãŒ: blue-800 (#1E40AF) - çœèæ¯ã§ã®ããã¹ããAAA 察å¿
- ã©ã€ããã«ãŒ: blue-50 (#EFF6FF) - èæ¯ãéžæãšãªã¢ïŒäœ¿çšã¯æå°éã«ïŒ
- ããã«ãã«ãŒ: blue-100 (#DBEAFE) - ã¢ã€ã³ã³èæ¯ïŒäœ¿çšã¯æå°éã«ïŒ
```
### ã°ã¬ãŒã¹ã±ãŒã«ïŒã¢ã¯ã»ã·ããªãã£æé©åïŒ
```
- ããã¹ãã¡ã€ã³: gray-900 (#111827) - äž»èŠããã¹ãïŒã³ã³ãã©ã¹ãæ¯ 21:1ïŒ
- ããã¹ããµã: gray-700 (#374151) - è£å©ããã¹ãïŒã³ã³ãã©ã¹ãæ¯ 12.6:1ïŒ
- ããã¹ããã£ãã·ã§ã³: gray-600 (#4B5563) - 泚éã説ææïŒã³ã³ãã©ã¹ãæ¯ 7:1ïŒ
- èãããã¹ã: gray-500 (#6B7280) - ééèŠããã¹ãïŒã³ã³ãã©ã¹ãæ¯ 4.5:1ïŒ
- å¢çç·: gray-300 (#D1D5DB) - åºåãç·ãã«ãŒãå¢ç
- èå¢çç·: gray-200 (#E5E7EB) - 軜ãåºåãç·
- èæ¯: white (#FFFFFF) - åºæ¬èæ¯ïŒèè²èæ¯ã¯æ¥µåé¿ããïŒ
- ã»ã¯ã·ã§ã³èæ¯: gray-50 (#F9FAFB) - å¿
èŠãªå Žåã®ã¿äœ¿çš
```
### ã·ã¹ãã ã«ã©ãŒïŒã³ã³ãã©ã¹ãé
æ
®ïŒ
```
- æå: green-600 (#059669) - ã³ã³ãã©ã¹ãæ¯ 7:1 確ä¿
- èŠå: amber-600 (#D97706) - ã³ã³ãã©ã¹ãæ¯ 7:1 確ä¿
- ãšã©ãŒ: red-600 (#DC2626) - ã³ã³ãã©ã¹ãæ¯ 7:1 確ä¿
- æ
å ±: blue-700 (#1D4ED8) - ã³ã³ãã©ã¹ãæ¯ 7:1 確ä¿
```
### ã«ã©ãŒäœ¿çšã«ãŒã«
```
- çœèæ¯ã§ã®ããã¹ãè²ã¯ gray-700 以äžã䜿çš
- éèæ¯ã§ã®ããã¹ãè²ã¯åžžã«çœè²ïŒ#FFFFFFïŒ
- åè²ç³»ã®çµã¿åããã¯é¿ããïŒéèæ¯ã«éãã¿ã³ãªã©ïŒ
- èè²èæ¯ïŒ-50, -100 ç³»ïŒã¯æ¥µå䜿çšããªã
- UI ã³ã³ããŒãã³ãã®å¢ç㯠3:1 以äžã®ã³ã³ãã©ã¹ã確ä¿
```
## 3. è§äžžã·ã¹ãã
### ã³ã³ããŒãã³ãå¥èšå®
```
- å°ãã¿ã³: rounded-lg (8px çžåœ)
- æšæºãã¿ã³: rounded-xl (12px çžåœ)
- 倧ãã¿ã³: rounded-2xl (16px çžåœ)
- ã«ãŒã: rounded-2xl (16px çžåœ)
- ã¢ãŒãã«: rounded-3xl (24px çžåœ)
- å
¥åãã£ãŒã«ã: rounded-lg (8px çžåœ)
- ã¢ã€ã³ã³ãã¿ã³: rounded-fullïŒå圢ïŒ
```
### è§äžžäœ¿çšåå
```
- åäžã³ã³ããŒãã³ãå
ã§ã¯çµ±äžã®è§äžžå€ã䜿çš
- 芪åé¢ä¿ã«ããã³ã³ããŒãã³ãã¯è§äžžå€ãéå±€å
- é床ã«å€§ããªè§äžžå€ã¯é¿ãã
```
## 4. äœçœäœç³»
### åºæ¬åäœïŒ8px ããŒã¹ïŒ
```
- 極å°: 2px (0.5rem)
- æå°: 4px (1rem)
- å°: 8px (2rem)
- æšæº: 16px (4rem)
- äž: 24px (6rem)
- 倧: 32px (8rem)
- ç¹å€§: 48px (12rem)
- æå€§: 64px (16rem)
```
### ãã¿ã³å
äœçœïŒã¿ããã¿ãŒã²ãã 44px 確ä¿ïŒ
```
- å°ãã¿ã³: px-3 py-2.5 (12px 10px) - æå° 44px é«ã
- æšæºãã¿ã³: px-6 py-3 (24px 12px) - 48px é«ã
- 倧ãã¿ã³: px-8 py-4 (32px 16px) - 56px é«ã
- ã¢ã€ã³ã³ãã¿ã³: p-3 (12px) - 48px x 48px
```
### ã«ãŒãå
äœçœ
```
- å°ã«ãŒã: p-4 (16px)
- æšæºã«ãŒã: p-5 (20px)
- 倧ã«ãŒã: p-6 (24px)
- ç¹å€§ã«ãŒã: p-8 (32px)
```
### ã»ã¯ã·ã§ã³éé
```
- èŠçŽ é: space-y-2 (8px)
- ã³ã³ããŒãã³ãé: space-y-4 (16px)
- ã»ã¯ã·ã§ã³å
: space-y-6 (24px)
- ã»ã¯ã·ã§ã³é: space-y-8 (32px)
- ããŒãžã»ã¯ã·ã§ã³é: space-y-12 (48px)
```
## 5. 圱ã®é©çš
### æšæºåœ±èšå®
```
- ãã¿ã³æšæºåœ±: shadow-sm (0 1px 2px rgba(0, 0, 0, 0.05))
- ãã¿ã³ãããŒåœ±: shadow-md (0 4px 6px rgba(0, 0, 0, 0.07))
- ãã©ã€ããªãã¿ã³åœ±: shadow-md (åžžæé©çš)
- ã«ãŒãæšæºåœ±: shadow-sm
- ã«ãŒããããŒåœ±: shadow-md
- ã¢ãŒãã«åœ±: shadow-xl (0 20px 25px rgba(0, 0, 0, 0.1))
- ããããããŠã³åœ±: shadow-lg (0 10px 15px rgba(0, 0, 0, 0.1))
```
### 圱ã®äœ¿çšåå
```
- å
šãŠã®ã€ã³ã¿ã©ã¯ãã£ãèŠçŽ ïŒãã¿ã³ããªã³ã¯ïŒã«ã¯å¿
ã圱ãä»äž
- ãããŒæã¯åœ±ãäžæ®µé匷åããŠãã£ãŒãããã¯ãæäŸ
- éã€ã³ã¿ã©ã¯ãã£ãèŠçŽ ã®åœ±ã¯æ§ããã«ïŒshadow-sm çšåºŠïŒ
- éèŠåºŠã®é«ãèŠçŽ ã»ã©åŒ·ã圱ã䜿çš
- åäžç»é¢å
ã§åœ±ã®åŒ·åºŠã¯æå€§ 3 段éãŸã§
```
## 6. ã¿ã€ãã°ã©ãã£
### ãã©ã³ããŠã§ã€ã
```
- 倧èŠåºã: font-bold (700)
- èŠåºã: font-semibold (600)
- 匷調ããã¹ã: font-semibold (600)
- ãã¿ã³ããã¹ã: font-semibold (600) - èŠèªæ§éèŠ
- æ¬æ: font-normal (400)
- ãã£ãã·ã§ã³: font-normal (400)
- 軜ãããã¹ã: font-light (300) - 䜿çšã¯æå°é
```
### ãã©ã³ããµã€ãºéå±€
```
- 倧èŠåºã: text-4xl (36px) + font-bold + leading-tight
- èŠåºã 1: text-3xl (30px) + font-semibold + leading-tight
- èŠåºã 2: text-2xl (24px) + font-semibold + leading-snug
- èŠåºã 3: text-xl (20px) + font-semibold + leading-snug
- èŠåºã 4: text-lg (18px) + font-semibold + leading-normal
- æ¬æ: text-base (16px) + font-normal + leading-relaxed
- å°ããæ¬æ: text-sm (14px) + font-normal + leading-relaxed
- ãã£ãã·ã§ã³: text-xs (12px) + font-normal + leading-normal
```
### ã³ã³ãã©ã¹ãèŠä»¶ïŒWCAG 2.1 æºæ ïŒ
```
- éåžžããã¹ã: 4.5:1 以äžïŒgray-600 ä»¥äžæšå¥šïŒ
- 倧ããªããã¹ãïŒ18px 以äžãŸãã¯å€ªå 14px 以äžïŒ: 3:1 以äž
- çœèæ¯ã®éããã¹ã: blue-700 以äžã䜿çšïŒ7:1 以äžïŒ
- éèæ¯ã®çœããã¹ã: åžžã«çœè²ïŒ#FFFFFFïŒ
- éèŠãªæ
å ±: 7:1 以äžïŒAAA 察å¿ïŒ
```
### è¡éã»æåéé
```
- èŠåºã: leading-tight (1.25)
- æ¬æ: leading-relaxed (1.625)
- é·æ: leading-loose (2)
- æåéé: tracking-normalïŒç¹å¥ãªå Žåã®ã¿èª¿æŽïŒ
```
## 7. ã³ã³ããŒãã³ãèšèš
### ãã¿ã³èšèšåå
```
- å
šãŠã®ãã¿ã³ã«åœ±ãä»äžïŒæŒããããšãæç€ºïŒ
- æå°ã¿ããã¿ãŒã²ãããµã€ãº 44px x 44px ã確ä¿
- ãã©ã³ããŠã§ã€ã㯠semibold 以äžã§èŠèªæ§åäž
- åäžç»é¢å
ã§ã®è²ã®éè€ãé¿ãã
- disabled ç¶æ
ã¯æç¢ºã«åºå¥ïŒéæåºŠ 0.5 ãªã©ïŒ
```
### ãã©ã€ããªãã¿ã³
```
- èæ¯è²: bg-blue-500
- ããã¹ãè²: text-white
- ãã©ã³ã: font-semibold
- 圱: shadow-md
- ãããŒ: bg-blue-600 + shadow-lg
- ãã©ãŒã«ã¹: ring-2 ring-blue-500 ring-offset-2
- ç¡å¹å: opacity-50 + cursor-not-allowed
```
### ã»ã«ã³ããªãã¿ã³
```
- èæ¯è²: bg-white
- ããã¹ãè²: text-blue-700
- ããŒããŒ: border-2 border-blue-700
- ãã©ã³ã: font-semibold
- 圱: shadow-sm
- ãããŒ: bg-blue-50 + shadow-md
- ãã©ãŒã«ã¹: ring-2 ring-blue-500 ring-offset-2
```
### å±éºãã¿ã³
```
- èæ¯è²: bg-red-600
- ããã¹ãè²: text-white
- ãã©ã³ã: font-semibold
- 圱: shadow-md
- ãããŒ: bg-red-700 + shadow-lg
```
### ã«ãŒãèšèš
```
- èæ¯: bg-white
- å¢çç·: border border-gray-300ïŒèŠèªæ§ç¢ºä¿ïŒ
- 圱: shadow-sm
- ãããŒ: shadow-md + border-gray-400
- è§äžž: rounded-2xl
- å
äœçœ: p-5 ãŸã㯠p-6
```
### å
¥åãã£ãŒã«ã
```
- èæ¯: bg-white
- å¢çç·: border border-gray-300
- ãã©ãŒã«ã¹: border-blue-500 + ring-2 ring-blue-500 ring-opacity-20
- ãšã©ãŒ: border-red-500 + ring-2 ring-red-500 ring-opacity-20
- ãã¬ãŒã¹ãã«ããŒ: placeholder-gray-500
- æå°é«ã: h-12ïŒ48pxïŒ
```
### ããã²ãŒã·ã§ã³
```
- ã¢ã¯ãã£ãç¶æ
: bg-blue-700 + text-white
- ãããŒç¶æ
: bg-blue-50 + text-blue-700
- éã¢ã¯ãã£ã: text-gray-700
- ãã©ãŒã«ã¹: ring-2 ring-blue-500 ring-inset
```
## 8. ã¬ã€ã¢ãŠãã·ã¹ãã
### ã³ã³ãã
```
- æå€§å¹
: max-w-4xl (åžžã« w-full ãšäœµçšããåºå®ã®æšªå¹
ãšããŠäœ¿çš)
- äžå€®å¯ã: mx-auto
- æ°Žå¹³äœçœ: px-4 sm:px-6 lg:px-8
- åçŽäœçœ: py-8 sm:py-12 lg:py-16
```
### ã°ãªããã·ã¹ãã
```
- 1 ã«ã©ã : grid-cols-1
- 2 ã«ã©ã : grid-cols-1 md:grid-cols-2
- 3 ã«ã©ã : grid-cols-1 md:grid-cols-2 lg:grid-cols-3
- 4 ã«ã©ã : grid-cols-1 sm:grid-cols-2 lg:grid-cols-4
- éé: gap-4 sm:gap-6 lg:gap-8
```
### ãã¬ãã¯ã¹ã¬ã€ã¢ãŠã
```
- æ°Žå¹³é
眮: flex items-center justify-between
- åçŽé
眮: flex flex-col items-center
- äžå€®å¯ã: flex items-center justify-center
- éé: space-x-4 / space-y-4
```
## 9. ã€ã³ã¿ã©ã¯ã·ã§ã³
### ãããŒå¹æ
```
- ãã¿ã³: è²ã®æ·±å + 圱ã®åŒ·å + scale-105ïŒããããªæ¡å€§ïŒ
- ã«ãŒã: 圱ã®åŒ·å + å¢çç·ã®æ¿å
- ãªã³ã¯: è²ã®å€å + underline
- ã¢ã€ã³ã³: è²ã®å€å + rotate-12ïŒããããªå転ïŒ
```
### ãã©ãŒã«ã¹ç¶æ
ïŒã¢ã¯ã»ã·ããªãã£éèŠïŒ
```
- å
¥åèŠçŽ : ring-2 ring-blue-500 ring-opacity-50
- ãã¿ã³: ring-2 ring-blue-500 ring-offset-2
- ãªã³ã¯: ring-2 ring-blue-500 ring-offset-1
- ã³ã³ãã©ã¹ãæ¯: 3:1 以äžç¢ºä¿
```
### ã¢ã¯ãã£ãç¶æ
```
- ãã¿ã³: scale-95ïŒããããªçž®å°ïŒ
- ãªã³ã¯: è²ã®æŽãªãæ·±å
- å
¥åèŠçŽ : ring-2 ring-blue-600
```
### ãã©ã³ãžã·ã§ã³
```
- æšæº: transition-all duration-200 ease-in-out
- è²ã®ã¿: transition-colors duration-150 ease-in-out
- 圱ã®ã¿: transition-shadow duration-200 ease-in-out
- å€åœ¢: transition-transform duration-150 ease-in-out
```
### ããŒãã£ã³ã°ç¶æ
```
- ã¹ãããŒ: animate-spin
- ãã«ã¹: animate-pulse
- èæ¯: bg-gray-100ïŒã³ã³ãã³ãéšåïŒ
- éæåºŠ: opacity-50
```
## 10. ã¢ã¯ã»ã·ããªãã£
### ããŒããŒãæäœ
```
- Tab é åºã®è«ççãªèšå®
- Enter/Space ããŒã§ã®ãã¿ã³æäœ
- Escape ããŒã§ã®ã¢ãŒãã«çµäº
- ç¢å°ããŒã§ã®ããã²ãŒã·ã§ã³
```
### ã¹ã¯ãªãŒã³ãªãŒããŒå¯Ÿå¿
```
- é©å㪠aria-label èšå®
- heading éå±€ã®æ£ãã䜿çš
- ãã©ãŒã èŠçŽ ã® label é¢é£ä»ã
- ç¶æ
å€åã®é³å£°éç¥ïŒaria-liveïŒ
```
### èŠèŠçé
æ
®
```
- è²ã®ã¿ã«äŸåããªãæ
å ±æç€º
- ååãªã³ã³ãã©ã¹ãæ¯ã®ç¢ºä¿
- æåãµã€ãºã®å¯å€æ§
- åç»ã»ã¢ãã¡ãŒã·ã§ã³ã®å¶åŸ¡ãªãã·ã§ã³
```
### ã¢ãŒã·ã§ã³é
æ
®
```
- prefers-reduced-motion ã¡ãã£ã¢ã¯ãšãªå¯Ÿå¿
- å¿
èŠæå°éã®ã¢ãã¡ãŒã·ã§ã³
- èªååçã®åé¿
- ç¹æ»
ã»ãã©ãã·ã¥ã®å¶é
```
## 11. ã¬ã¹ãã³ã·ããã¶ã€ã³
### ãã¬ãŒã¯ãã€ã³ã
```
- sm: 640px 以äž
- md: 768px 以äž
- lg: 1024px 以äž
- xl: 1280px 以äž
- 2xl: 1536px 以äž
```
### ã¬ã¹ãã³ã·ã調æŽ
```
- ãã©ã³ããµã€ãº: text-sm md:text-base lg:text-lg
- äœçœ: p-4 md:p-6 lg:p-8
- ã°ãªãã: grid-cols-1 md:grid-cols-2 lg:grid-cols-3
- 衚瀺ã»é衚瀺: hidden md:block / block md:hidden
```
## 12. å®è£
ãã§ãã¯ãªã¹ã
### å¿
é é
ç®ïŒã¢ã¯ã»ã·ããªãã£ïŒ
- [ ] WCAG ã³ã³ãã©ã¹ãèŠä»¶ã®éµå®ïŒ4.5:1 以äžïŒ
- [ ] ããŒããŒãããã²ãŒã·ã§ã³å¯Ÿå¿
- [ ] é©å㪠aria 屿§èšå®
- [ ] ãã©ãŒã«ã¹ã€ã³ãžã±ãŒã¿ãŒã®èŠèªæ§ïŒ3:1 以äžïŒ
- [ ] æå°ã¿ããã¿ãŒã²ãã 44px 確ä¿
- [ ] ã¹ã¯ãªãŒã³ãªãŒããŒå¯Ÿå¿ã®ããã¹ã
### å¿
é é
ç®ïŒãã¶ã€ã³ïŒ
- [ ] ã°ã¬ãŒã¹ã±ãŒã«ã®äœ¿çšïŒçã£é»ã»çã£çœã®é©åãªäœ¿çšïŒ
- [ ] 8px ããŒã¹ã®äœçœã·ã¹ãã
- [ ] è§äžžã®äžè²«æ§ïŒlg, xl, 2xl, 3xlïŒ
- [ ] å
šã€ã³ã¿ã©ã¯ãã£ãèŠçŽ ãžã®åœ±ä»äž
- [ ] ã¹ã ãŒãºãªãã©ã³ãžã·ã§ã³ïŒ200ms 以äžïŒ
- [ ] ãã¿ã³ããã¹ã㯠font-semibold 以äž
- [ ] çœèæ¯ã®éããã¹ã㯠blue-700 以äž
- [ ] ã«ãŒãã«ã¯æç¢ºãªå¢çç·ïŒborder-gray-300ïŒ
### æšå¥šé
ç®ïŒUX åäžïŒ
- [ ] ãããŒå¹æã®çµ±äžïŒåœ±ã®åŒ·åïŒ
- [ ] ãã©ãŒã«ã¹ç¶æ
ã®æç¢ºå
- [ ] ããŒãã£ã³ã°ç¶æ
ã®å®è£
- [ ] ãšã©ãŒã¡ãã»ãŒãžã®èŠªåãªè¡šç€º
- [ ] æåãã£ãŒãããã¯ã®å®è£
- [ ] ããã°ã¬ãã·ããšã³ãã³ã¹ã¡ã³ã
- [ ] ããã©ãŒãã³ã¹æé©å
### è²äœ¿ãã®æ³šæç¹
- [ ] åè²ç³»ã®çµã¿åããåé¿
- [ ] èè²èæ¯ã®äœ¿çšå¶é
- [ ] ã·ã¹ãã ã«ã©ãŒã®é©åãªäœ¿çš
- [ ] ç¡å¹ç¶æ
ã®æç¢ºãªè¡šç€º
- [ ] è²ç²ãžã®é
æ
®ïŒåœ¢ã»ããã¹ãã§ã®è£å®ïŒ
### å質ä¿èšŒ
- [ ] è€æ°ãã©ãŠã¶ã§ã®åäœç¢ºèª
- [ ] è€æ°ããã€ã¹ã§ã®è¡šç€ºç¢ºèª
- [ ] ã¢ã¯ã»ã·ããªãã£ããŒã«ã§ã®æ€èšŒ
- [ ] ããã©ãŒãã³ã¹æž¬å®
- [ ] ãŠãŒã¶ããªãã£ãã¹ã宿œ
## 13. çŠæ¢äºé
### 絶察ã«é¿ããã¹ãèŠçŽ
- [ ] èãããè²ã®äœ¿çšïŒã³ã³ãã©ã¹ãäžè¶³ïŒ
- [ ] åè²ç³»ã®éè€ïŒéèæ¯ã«éãã¿ã³ãªã©ïŒ
- [ ] äžèŠãªèè²èæ¯ã®å€çš
- [ ] 圱ã®ãªãã€ã³ã¿ã©ã¯ãã£ãèŠçŽ
- [ ] 44px æªæºã®ã¿ããã¿ãŒã²ãã
- [ ] ããŒããŒãæäœäžå¯èœãªèŠçŽ
- [ ] è²ã®ã¿ã«äŸåããæ
å ±æç€º
- [ ] èªååçãããé³å£°ã»åç»
- [ ] ç¹æ»
ã»ãã©ãã·ã¥å¹æã®äœ¿çš
### å¶éç䜿çšé
ç®
- [ ] èè²èæ¯ïŒ-50, -100 ç³»ïŒã¯ç®çãæç¢ºãªå Žåã®ã¿
- [ ] ã¢ãã¡ãŒã·ã§ã³å¹æã¯æ§ããã«
- [ ] è£
食çèŠçŽ ã¯æå°éã«
- [ ] ã«ã¹ã¿ã ãã©ã³ãã¯èªã¿ãããéèŠ
- [ ] 圱ã®å€çšã¯é¿ããïŒæå€§ 3 段éïŒ
éçšæ¹æ³ïŒCursor ã§ã®æŽ»çšæ³
ãã¶ã€ã³ã«ãŒã«ã宿ããããããã DESIGN_RULE.md ãšãããã¡ã€ã«åã§ãããžã§ã¯ãå
ã«ä¿åããŸããã
åºæ¬çãªäœ¿ãæ¹
äœ¿ãæ¹ã¯æ¬åœã«ã·ã³ãã«ã§ãã
Cursor ã§äœãããŒãžãã³ã³ããŒãã³ããäœãéã«ã以äžã®ãããªããã³ãããæããã ãã§ãã
src/app/company/page.tsx ã® UI ã«ã€ããŠãDESIGN_RULE.md ã«åŸã£ãŠãã¶ã€ã³èª¿æŽããŠãã ãã
ãã£ãããã ãã§ããã¶ã€ã³ã«ãŒã«ã«åŸã£ãçµ±äžæã®ãã UI ãçæãããŸãã
æ°æ©èœéçºæã®æŽ»çš
æ°ããæ©èœã远å ããéããæåãã以äžã®ããã«ãé¡ãããŸãã
ç·Žç¿åé¡ã®çµæè¡šç€ºããŒãžãäœæããŠãã ããã
DESIGN_RULE.md ã«åŸã£ãŠã以äžã®èŠçŽ ãå«ããŠãã ããã
ãã®ããã«ãæåãããã¶ã€ã³ã«ãŒã«ããã ã§éçºãé²ããããšã§ãåŸããã®èª¿æŽäœæ¥ãã»ãšãã©äžèŠã«ãªããŸããã
æ¢åã³ã³ããŒãã³ãã®æ¹å
æ¢ã«ããã³ã³ããŒãã³ãã®æ¹åãç°¡åã§ãã
src/components/QuizCard.tsx ã DESIGN_RULE.md ã«åŸã£ãŠæ¹åããŠãã ããã
ç¹ã«ãã«ãŒãã®åœ±ãšãã¿ã³ã®ã¹ã¿ã€ãªã³ã°ãçµ±äžããŠãã ããã
Cursor ã¯æ¢åã®ã³ãŒããšãã¶ã€ã³ã«ãŒã«ãæ¯èŒããŠãé©åã«èª¿æŽããŠãããŸãã
ä»ååŠãã ããš
ãã¶ã€ã³ã«ãŒã«çå®ã¯ãæè³ã
æåã¯ããã¶ã€ã³ã«ãŒã«ãäœãã®ã£ãŠé¢åããããªããšæã£ãŠããŸããã
ã§ãå®éã«ãã£ãŠã¿ããšãæåã®æè³ã§åŸã®å·¥æ°ãå€§å¹ ã«åæž ãããããšãããããŸããã
ãããããã¶ã€ã³ã«ãŒã«ããªããŸãŸéçºãé²ããæ¹ããçµæçã«å€ãã®æéãç¡é§ã«ããŠããŸããŸãã
ãã¶ã€ã³ã§æ©ãã§ããæ¹ã¯ããã²äžåºŠãã¶ã€ã³ã«ãŒã«ãäœæããŠã¿ãŠãã ããã
é£ãããé¢åã ãªãšæãæ¹ã¯ãç§ã®ãã¶ã€ã³ã«ãŒã«ãåèã«ããŠããã ããã°ãšæããŸãã
AI ãšãŒãžã§ã³ãã«ã¯ãæç¢ºãªæéããå¿ èŠ
Cursor ã GitHub Copilot ãªã©ã® AI ãšãŒãžã§ã³ãã¯ãæç¢ºãªæéããããšæ¬é ãçºæ® ããŸãã
ããªããšãªããã£ãããäœã£ãŠãã§ã¯éçããããŸãããããã®ãã¶ã€ã³ã«ãŒã«ã«åŸã£ãŠäœã£ãŠããšäŒãããšãé©ãã»ã©çµ±äžæã®ãã UI ãçæããŠãããŸãã
人éãåãã§ãããæç¢ºãªæéããããšäœæ¥ãã¹ã ãŒãºã«é²ãããšãåèªèããŸããã
Apple ã®ãã¶ã€ã³ã«ãŒã«ã¯æ¬åœã«åèã«ãªã
Apple ã®ãã¶ã€ã³ã«ãŒã«ã¯ãå人éçºè ã«ãšã£ãŠãéåžžã«åèã«ãªããŸãã
ç¹ã« ã¢ã¯ã»ã·ããªã㣠ã®èгç¹ã§ã¯ãå€ãã®åŠã³ããããŸããã
- é©åãªã³ã³ãã©ã¹ãæ¯ã®ç¢ºä¿
- ããŒããŒãæäœãžã®å¯Ÿå¿
- ã¹ã¯ãªãŒã³ãªãŒããŒãžã®é æ ®
ãããã®èŠçŽ ãæåããçµã¿èŸŒãã§ããããšã§ãããå€ãã®äººã«äœ¿ã£ãŠãããããµãŒãã¹ã«ãªããŸãã
å®ã¯ããããªäŒæ¥ããã¶ã€ã³ã«ãŒã«ãå ¬éããŠãã
æè¿ã§ã¯ãApple ã ãã§ãªããGoogle ã Microsoft ãªã©ããã¶ã€ã³ã«ãŒã«ãå ¬éããŠããŸãã
ããã¶ã€ã³ã«ãŒã« æåããšããããŒã¯ãŒãã§ Google æ€çŽ¢ãããšãããããªäŒæ¥ã®ãã¶ã€ã³ã«ãŒã«ãèŠã€ãããŸãã
æµ·å€äŒæ¥ã®ãã®ãå€ãã§ãããå®ã¯æ¥æ¬äŒæ¥ãå ¬éããŠãããšããããããŸãã
ä»ã«ããããæ°å¹Žã§è©±é¡ã«ãªã£ãŠããã®ãããžã¿ã«åºã® ãã¶ã€ã³ã«ãŒã« ã§ãã
ãšã«ããèŠããããšäœ¿ããããã远æ±ããã¬ã€ãã©ã€ã³ã§ãå人éçºè ã«ãéåžžã«åèã«ãªããŸãã
泚æç¹
ãããŸã§ã§ãã¶ã€ã³ã«ãŒã«ã®è¯ãã ãããäŒãããŠããŸããããAI ãšãŒãžã§ã³ãã 100% åæ ããŠãããããã§ã¯ãããŸããã
ãã®ãããã³ãŒããæžããŠããã£ãåŸã¯ãå¿ ãèªåã§ç¢ºèªããããšã倧åã§ãã
ç§ã¯ä»¥äžã®ãããªãã§ãã¯ãªã¹ããäœæããŠãå®è£ åŸã«ç¢ºèªããŠããŸãã
- ãããŒæã«è²ãå€ãã£ãããã«ãŒãœã«ãå€ãããªã©ã®ãã£ãŒãããã¯ãããã
- è²ãèããŠã¿ã«ããéšåã¯ãªãã
- ã¹ãããµã€ãºã«åãæ¿ãããšãã«ãã¬ã€ã¢ãŠãã厩ããŠããªãã
- ãã¿ã³ã®ãµã€ãºãå°ããããŠãã¿ãããã¥ãããªã£ãŠããªãã
- ãã©ã³ããµã€ãºãå°ããããŠãèªã¿ã¥ãããªã£ãŠããªãã
人éãšããŠãã¶ã€ã³ã®æèŠãé€ãæå³ã§ãããããã®ãã§ãã¯ã¯ç¿æ £ã«ããŠãããšè¯ãã§ãããã
ãšã¯ããããã¶ã€ã³ã«ãŒã«ãçå®ããŠãããšã»ãŒã¯ãªã¢ããŠãããã®ã§ããããã®ãã§ãã¯ãããªã楜ã«ãªããŸãã
ãããã«
ä»åã¯ããã¶ã€ã³ã«ãŒã«ãäºåã«çå®ããããšã§ AI é§åéçºã® UI åé¡ã解決ããçµéšããäŒãããŸããã
ãã¶ã€ã³ã«ãŒã«ã®çå®ã¯ãæåã¯é¢åã«æãããããããŸããã
ã§ããäžåºŠäœã£ãŠããŸãã°ããã®åŸã®éçºå¹çãåçã«åäžããŸãã
ç¹ã« Cursor ã GitHub Copilot ãªã©ã® AI ãšãŒãžã§ã³ãã䜿ãå Žåã¯ãæç¢ºãªæéãããããšã§æ¬æ¥ã®åãçºæ® ããŠãããŸãã
ä»åå ¬éãããã¶ã€ã³ã«ãŒã«ã¯ãApple ã®ãã¶ã€ã³ã«ãŒã« ãããŒã¹ã«ããŠããã®ã§ãã¢ã¯ã»ã·ããªãã£ã UX ã®èгç¹ã§ãå®å¿ããŠäœ¿ããã¯ãã§ãã
å人éçºè ã®çããããã²åèã«ããŠã¿ãŠãã ããïŒ
ãããŠãããããã°ã©ãã³ã°åŠç¿ã«èå³ãããæ¹ã¯ãä»åãã¶ã€ã³ã«ãŒã«ãé©çšãã Learning Next ã詊ããŠããã ãããšå¬ããã§ãïŒ
質åããã£ãŒãããã¯ãããã°ããã²ã³ã¡ã³ãã§æããŠãã ããã
X ã® DM ã§ãåãä»ããŠããŸãã®ã§ããæ°è»œã«ãé£çµ¡ããã ãããšå¬ããã§ãïŒ
Claude Code ã®é¢é£èšäº
ä»ã«ã Claude Code ã AI é§åéçºã®èšäºãæžããŠããŸãã®ã§ãããã£ãããã¡ããã芧ãã ããã
- ãClaude Codeãããã§ããïŒå人éçºãããšãã«æåã«çšæããããã¥ã¡ã³ã24çš®ãšæ©èœèŠä»¶æžãå šå ¬é
- ãClaude Codeãæç€ºæžãè¥å€§åããŠããã®ã§èгç¹å¥ã«æç€ºãåããŠéçºå¹çãæ¹åãã話
- ããã³ãã¬é åžãKiroã®ä»æ§é§åéçºãClaude Codeã§åçŸããæ¹æ³ïŒããã¥ã¡ã³ã3ç¹ã»ããã§å®çŸ
- Claude Code å ã§å°éå®¶ãäœæïŒæ°æ©èœ Sub agents ã§çšéå°éAIãäœã£ãŠå質æ¹åããŠã¿ã
ã¡ãã£ãšå®£äŒïŒ Claude Code ãªã©ã® Udemy ã³ãŒã¹äœã£ãŠãŸã
Claude Code ã§ã® Vibe Coding ã Next.jsãRuby on Rails ãªã©ã® Udemy ã³ãŒã¹ãéè¬ããŠããããããããããšã«è€æ°ã®ãã¹ãã»ã©ãŒãããã ããŠãŸãã
èªç€Ÿãµã€ãã§ã¯æäœäŸ¡æ Œã§åè¬ã§ããã¯ãŒãã³ãé åžããŠããã®ã§ãããã£ããèŠãŠãã£ãŠãã ããã
ãæèŠããæ°è¬åº§ã®èŠæã倧æè¿ã§ãïŒ











