ð€ AIãš1é±éã§WebããŒã¿ã«ãäœã£ãèšé² â Day 1: æ§æ³ãšNext.jsã»ããã¢ãã

ã¯ããã« â ãªããããŒã¿ã«ãµã€ãããäœã£ãã®ã
2026幎2æã38æ³ã®ç§ã¯éããåäººäºæ¥äž»ããå®å šç¬ç«ããŸãããåå ¥æºã¯Uberé éãšããã³ã³ïŒæåŸ å€çšŒåïŒã®2æ¬æ±ã
ããããããããããã ã®æ¥é皌ããã§çµããããããªãã£ããé éã®ããŒã¿åæãããã³ã³ã®æåŸ å€èšç®ãããã°ã§ã®æ å ±çºä¿¡ââãã¹ãŠãçµ±åãããåºå°ããæ¬²ããã£ãã®ã§ãã
ããã§ãAIã³ãŒãã£ã³ã°ã¢ã·ã¹ã¿ã³ããAntigravityãããã¢ããã°ã©ããŒãšããŠè¿ãå ¥ããWebããŒã¿ã«ãµã€ããæ§ç¯ããããšã«ããŸããã
ããã¯ãã®èšé²ã®ãDay 1ãã§ãã
ðµ ãã€ãã³ãŒãã£ã³ã° â AIãšãŒãžã§ã³ããšãããªãã§äœãæ°ããéçºã¹ã¿ã€ã«
ãã®ã·ãªãŒãºã§ç»å Žããéçºææ³ã¯ãããããããã€ãã³ãŒãã£ã³ã°ïŒVibe CodingïŒããšåŒã°ãããã®ã§ãã
åŸæ¥ã®ããã°ã©ãã³ã°ã§ã¯ãéçºè ãããŒããŒãã«åãããäžè¡äžè¡ã³ãŒããæžããŠããŸãããããããã€ãã³ãŒãã£ã³ã°ã§ã¯ãAIãšãŒãžã§ã³ãã«èªç¶èšèªã§ãããããã®ã欲ããããšäŒããã ãã§ãAIãã³ãŒããçæãããã¡ã€ã«ãäœæãããã«ããŸã§èªåã§è¡ã£ãŠãããŸãã
éçºè ã®åœ¹å²ã¯ãèšèšè ïŒã¬ãã¥ã¢ãŒãã«å€ãããŸã:
- ããããªæ©èœã欲ããããšAIã«äŒãã
- AIãçæããã³ãŒããã¬ãã¥ãŒãã
- åäœã確èªããŠããã£ãŒãããã¯ãè¿ã
- ãã®ç¹°ãè¿ãã§ãé©ãã»ã©ã®ã¹ããŒãã§ãããã¯ãã圢ã«ãªã£ãŠãã
ç§ã®å Žåããã®ã·ãªãŒãºãéããŠæã§æžããã³ãŒãã¯ã»ãŒ0è¡ã§ãããã¹ãŠAntigravityãšã®å¯Ÿè©±ã§çæãããŸãããããã°ã©ãã³ã°ã®ç¥èã¯å¿ èŠã§ããããæžãåããããäŒããåããšã倿ããåããéèŠãªæä»£ã«ãªã£ããšå®æããŠããŸãã
ð€ çžæ£éžã³ â Antigravityãšã®åºäŒã
æåã¯ç¡æãã©ã³ã®AIã³ãŒãã£ã³ã°ã¢ã·ã¹ã¿ã³ãã䜿ãå§ããŸãããããããéçºã®èšè𿮵éã§ãããªãããŒã¯ã³äžéã«å°éãããåããéåãéåãã«ãªããã³ãŒãã®æèãäœåºŠã説æãçŽã矜ç®ã«ã
ãããã§ã¯è©±ã«ãªããªãããšæã£ãŠãããšãããAntigravityïŒProãã©ã³ïŒãä»ãªãÂ¥0ã§äœ¿ããããšãçºèŠãå³åº§ã«åãæ¿ããŸããã
Proãã©ã³ã®ããŒã¯ã³äžéã¯ç¡æçãšã¯æ¡éããé·æéã®éçºã»ãã·ã§ã³ã§ãã³ã³ããã¹ããåããããŸãã§æšªã«ãããšã³ãžãã¢ãšäŒè©±ããŠãããã®ãããªæèŠã§éçºãé²ããããããã«ãªããŸããããã®å·®ã¯è¡æçã§ããã
ð¯ Day 1ã®ç®æš
- æè¡ã¹ã¿ãã¯ã®éžå®
- ãããžã§ã¯ãã®åæå
- èªèšŒã·ã¹ãã ã®å°å ¥
- åºæ¬ã¬ã€ã¢ãŠãã®æ§ç¯
- ãããã€å ã®ç¢ºä¿
ð ïž æè¡ã¹ã¿ã㯠â AIã«çžè«ããŠæ±ºããæ§æ
Antigravityã«ãå人ããŒã¿ã«ãµã€ããäœããããèŠä»¶ã¯ïŒããã°ãææããŒã«ïŒããã³ã³æåŸ å€èšç®ïŒãæ±ºæžæ©èœãæé©ãªæè¡ã¹ã¿ãã¯ã¯ïŒããšèããŸããã
AIãæåã«ææ¡ããŠããã®ã¯ãTailwindCSSãPrismaãNextAuth.jsãªã©ãå®çªãããã«ã»ããã«ããæ§æãããããæ¬åœã«å¿ èŠãã©ããã粟æ»ãã以äžã®ã·ã³ãã«ãªæ§æã«çµããŸããïŒ
| ã«ããŽãª | AIã®ææ¡ | æçµæ±ºå® | çç± |
|---|---|---|---|
| ãã¬ãŒã ã¯ãŒã¯ | Next.js | Next.js (App Router) | SSR/SSG察å¿ãSEOæåŒ· |
| èšèª | TypeScript | TypeScript | åå®å šãAIãšã®çžæ§â |
| ã¹ã¿ã€ãªã³ã° | TailwindCSS | Vanilla CSS | åºç€ãçè§£ãããã£ã |
| èªèšŒ | NextAuth.js | Clerk | å°å ¥ãå§åçã«ç°¡å |
| ORM | Prisma | ãªãïŒSupabaseçŽæ¥ïŒ | ãªãŒããŒã¹ãã㯠|
| æ±ºæž | Stripe | Stripe | ãµãã¹ã¯å¯Ÿå¿ãæ¥æ¬åOK |
| DB | Supabase | Supabase | ç¡ææ 倧ãPostgreSQL |
ãã€ã³ãã¯ããã¹ãŠç¡ææ ã§å§ãããããããšãç¬ç«çŽåŸã®ãã£ãã·ã¥ãããŒãå§è¿«ããªãããšãæåªå ã§ããã
ð ãããžã§ã¯ãåæå â AIã«ãäœã£ãŠããšèšã£ãŠã¿ã
Antigravityã«ãNext.js + TypeScriptã§ãããžã§ã¯ããåæåããŠããšæç€ºãæ°ç§ã§ã³ãã³ããçæãããŸããïŒ
npx -y create-next-app@latest ./ --typescript --app --eslint --no-tailwind
ããã§éèŠãªã®ã¯--no-tailwindãAIã¯æåTailwindCSSãææ¡ããŠããŸãããããCSSã®åºç€ãçè§£ãããããããšVanilla CSSãéžæããã®å€æãåŸã
ãã«ã¹ã¿ã ãã¶ã€ã³ã®èªç±åºŠã§å€§ããæŽ»ããŠããããšã«ãªããŸãã
ð èªèšŒå°å ¥ â Clerkã®è¡æçãªç°¡åã
Day 1æå€§ã®é©ãã¯Clerkã®å°å ¥ã¹ããŒãã§ãããAIã«ãGoogle OAuthã§èªèšŒãå ¥ãããããšäŒãããšããã以äžã®æé ã瀺ãããŸããïŒ
npm install @clerk/nextjs- ç°å¢å€æ°ã«APIããŒãèšå®
middleware.tsã1ãã¡ã€ã«è¿œålayout.tsxãClerkProviderã§å²ã
ãã£ã4ã¹ããããæèŠæé15åã§ãGoogleãã°ã€ã³æ©èœã宿ãAntigravityãæåã«ææ¡ããŠããNextAuth.jsã ãšãOAuthèšå®ãDB飿ºã§æ°æéã¯ããã£ãŠããã¯ããããŒã«éžå®ã§ãå®çªãã«æµãããªãããšã®éèŠæ§ã宿ããŸããã
ãã ããåŸã«Next.js 16ãšã®äºææ§åé¡ïŒauth()ãmiddlewareã§åããªãïŒã«çŽé¢ããããšã«ãªãã®ã§ãããããã¯ãŸãå¥ã®è©±âŠã
ðš åºæ¬ã¬ã€ã¢ãŠã â ããŒã¯ã¢ãŒããã¡ãŒã¹ãã§èšèš
ã¬ã€ã¢ãŠãã¯Antigravityãšå¯Ÿè©±ããªããæ§ç¯ããŸãããæåã«äŒããã³ã³ã»ããã¯ïŒ
ãå®å®ã£ãœãããŒã¯ããŒããã§ããã¡ããã¡ãããªãããããã«ã ãã©é«çŽæãããæãã
AIãææ¡ããŠããCSSã«ã¹ã¿ã ããããã£ã®ã«ã©ãŒãã¬ããïŒ
:root {
--bg-primary: #0f1017;
--bg-card: #1e2030;
--accent: #7c7ff2;
--text-primary: #f0f0f8;
}
ãã®æ·±ã玫ãã¢ã¯ã»ã³ãã«ã©ãŒã«ãããå®å®Ããã¯ãããžãŒãã®ããžã¥ã¢ã«ããGravity Portalã®ã¢ã€ãã³ãã£ãã£ã«ãªããŸããã
ð¥ ãããã€æŠäº â ãã¹ãã£ã³ã°å ã4åå€ãã話
Day 1æå€§ã®èŠåŽãã€ã³ãããããã€å ã®éžå®ã§ãããçµè«ããèšããšã4å倿ŽããŸããã
| è©Šè¡ | ãã¹ãã£ã³ã° | åé¡ | çµæ |
|---|---|---|---|
| 1åç® | Cloudflare PagesïŒç¡æïŒ | 13MiBã®ããŒã¿ããããã€äžéã«åŒã£ããã | â æå¿µ |
| 2åç® | NetlifyïŒç¡æïŒ | åãããæã®è»¢ééå¶éã«1æ¥ã§å°é | â NG |
| 3åç® | Cloudflare PagesïŒææïŒ | ãã¡ã€ã«ãµã€ãºäžéã3ã10MiBã§æ ¹æ¬è§£æ±ºãããäŒæ¥ãã©ã³ïŒæ75äžåãïŒã¯è«å€ | â ç¡é§ãªåºè²» |
| 4åç® | VercelïŒHobbyãã©ã³ïŒ | ç¡æãNext.jsãã€ãã£ããåé¡ãªã | â æ¡çš |
Cloudflareææãã©ã³ã®çœ
3åç®ã®Cloudflareææãã©ã³ãžã®èª²éã¯å®å šãªå€±æã§ãããAIã«äºåã«ãææãã©ã³ã§ãã¡ã€ã«ãµã€ãºäžéã¯å€ãããïŒããšèããŠããã°ã3ã10MiBã®å¶éãããããšããã®äžã¯äŒæ¥åããã©ã³ïŒæ75äžåãïŒãããªãããšãåãã£ãã¯ãã
æèš: AIã«èª¿æ»ãããŠãã課éãããå¢ãã§ææãã©ã³ã«ã¢ããã°ã¬ãŒãããçµæãç¡é§ãªæéãšãéã倱ããŸããã
Vercelãžã®çå°
æçµçã«Vercel Hobbyãã©ã³ïŒç¡æïŒã«ãããã€ããŠäžçºã§æåãNext.jsã®éçºå ãéå¶ããŠããã ããã£ãŠãæåãããããéžãã§ããã°âŠãšããåŸæãæ®ããŸãã
ãªããDay 3以éã§åçšå©çšïŒStripe決æžïŒãçµã¿èŸŒã段éã§ãVercel Proãã©ã³ïŒ$20/æïŒã«ã¢ããã°ã¬ãŒãããŠããŸãã
ð Day 1ã®ãŸãšã
| é ç® | çµæ |
|---|---|
| äœæ¥æé | çŽ12æéïŒ14:53ãç¿03:01ïŒ |
| 宿ãããã® | ãããžã§ã¯ãåæåãClerkèªèšŒãåºæ¬ã¬ã€ã¢ãŠããããŒãåæ¿ãããã〠|
| ã³ã¹ã | $0ïŒVercel Hobbyç¡æïŒ+ Cloudflareææãã©ã³ã®ç¡é§é£ã |
| AIããŒã«å€æŽ | ç¡æAI â Antigravity ProïŒÂ¥0ãã£ã³ããŒã³ïŒ |
| ãããã€å å€æŽ | 4åïŒCloudflareç¡æ â Netlify â Cloudflareææ â VercelïŒ |
| æã§æžããã³ãŒã | ã»ãŒ0è¡ïŒAIãçæâã¬ãã¥ãŒâä¿®æ£ã®ç¹°ãè¿ãïŒ |
ð¡ Day 1ã®åŠã³
1. AIããŒã«ãžã®æè³ãæãå¹çç
ç¡æAIã§å§ããŠããŒã¯ã³äžéã«èŠããã çµéšãããéçºããŒã«ãžã®ã±ããã¯æå€§ã®ã³ã¹ãå¢ã ãšå®æããŸãããAntigravity Proã«åãæ¿ããŠããã®çç£æ§ã¯äœæ5å以äžãÂ¥0ã§äœ¿ãããªãè¿·ãçç±ããããŸããã
2. AIã®ææ¡ã«ãNoããšèšããåãéèŠ
AIã¯TailwindCSSãPrismaãNextAuth.jsãªã©ããå®çªããæ¬¡ã ãšææ¡ããŠããŸããã§ããèªåã®ãããžã§ã¯ãã«æ¬åœã«å¿ èŠãã©ããã¯èªåã§å€æããªããã°ãªããŸãããDay 1ã§TailwindãæããNextAuth.jsã®ä»£ããã«Clerkãéžãã 倿ã¯ãçµæçã«æ£è§£ã§ããã
3. 課éããåã«AIã«èã
Cloudflareææãã©ã³ã®æèšã§ãããææã«ããã°è§£æ±ºããã ããããšããæã蟌ã¿ã§èª²éããçµæãæ ¹æ¬çãªä»æ§å¶éã®ããæå³ããããŸããã§ãããAIã«5åã§èª¿ã¹ãããã ãã§é²ããåºè²»ã§ãã
4. ãããã€å ã¯ãèµ°ããªããæ±ºããã
4åããã¹ãã£ã³ã°ãå€ããŸããããããã§ã12æéã§åããã®ãã§ãããæåããå®ç§ãªéžæãããããšãããããããŸãåãããŠããã¡ãªãå€ãããã®ç²Ÿç¥ãå人éçºã§ã¯æéã§ãã
ð ã·ãªãŒãºäºå®
ãã®ã·ãªãŒãºã§ã¯ãAIãšäžç·ã«WebããŒã¿ã«ãæ§ç¯ãã1é±éã Day ããšã«æ¯ãè¿ããŸãã
- Day 1: æ§æ³ãšNext.jsã»ããã¢ãã â ä»ãã
- Day 2: ããã³ã³æåŸ å€èšç®ããŒã«ã®å®è£
- Day 3: ããã°æ©èœãšåçåïŒStripe + åºåïŒ
- Day 4: AIã®èšæ¶ã®éç â ã³ã³ããã¹ããŠã£ã³ããŠãšã®æŠã
- Day 5: AIãæŽèµ°ããæ¥ â ã«ãŒã«éåãšä¿¡é Œã®åæ§ç¯
次å Day 2 ã§ã¯ããã®ããŒã¿ã«ã®æ žãšãªãããã³ã³æåŸ å€èšç®ããŒã«ã®å®è£ ã«åãæãããŸãã1000æ©çš®ä»¥äžã®ã¹ããã¯ããŒã¿ãã©ãæ±ãããAIãšã®å ±åäœæ¥ã§è§£æ±ºããŠããéçšããå±ãããŸãããæ¥œãã¿ã«ïŒ