複雑さを前払いしないWebアプリ設計
個人開発の敵は 技術的負債だけではなく 完成前に燃え尽きること
Browser ↓ JavaScript起動 ↓ fetch ↓ API ↓ DB ↓ JSON ↓ state更新 ↓ render
HTML Form ↓ POST ↓ DB更新 ↓ Redirect ↓ GET
Hono + SSR + HTML Form
必要なところだけVanilla JS
複雑な島だけReact
必要ならAPI化・分離
app.get('/novels/:id', async (c) => { const novel = await novelService.find(c.req.param('id')) return c.html(<NovelPage novel={novel} />) }) app.get('/api/novels/:id', async (c) => { const novel = await novelService.find(c.req.param('id')) return c.json(novel) })
Honoで始めることは 将来のReactを捨てることではない
まずHono + HTMLで画面を返します
JavaScriptは体験が必要とする場所へ置きます
React / Next.jsは必要になった時に呼びます
複雑さは、必要になってから導入しましょう!