DocsWeb development

Deno web development

Choose among Deno.serve, Fresh, Hono, Oak, and static-site tools

Choose the abstraction from the workload. “Building for the web” does not automatically require a full-stack framework.

OptionPositionGood forPoor fit
Deno.serveWeb-standard HTTP primitivewebhooks, small APIs, proxiesmany routes and business middleware
Fresh 2Deno-first full-stack SSRcontent, commerce, CRUD, progressive interactionclient-only SPAs
Honosmall cross-runtime frameworkREST, edge, portable APIsopinionated full-stack pages
OakExpress/Koa-style middlewareDeno backends and middleware-oriented teamsminimum cross-platform bundles
LumeDeno static-site generatordocs, blogs, content sitesdynamic back offices

Aleph.js was an important Deno React SSR experiment, but new projects should verify its current releases, maintenance, and target runtime before selecting it. Do not treat a historical comparison table as a recommendation.

Minimal HTTP service

Deno.serve({ port: 8000 }, (request) => {
  const url = new URL(request.url);
  if (url.pathname === "/health") return Response.json({ ok: true });
  return new Response("Not found", { status: 404 });
});
deno run --allow-net=0.0.0.0:8000 main.ts

Selection rules

  • Mostly server-rendered HTML with local interaction: Fresh.
  • One API across Deno, Workers, Bun, or Node: Hono.
  • The team prefers middleware and context: Oak.
  • Only a few endpoints: keep Deno.serve and one less abstraction.

Next: Fresh, Hono, Oak, Lume, and databases.

Type to search all documentation.