Morton Digital

2026-04-20 · 10 min read

Single-File HTML Templates vs React/Vue: When to Pick Which

The question gets asked in the wrong order. It usually starts as "what framework should I use for my marketing site?" — but the framework decision is downstream of the actual question, which is: how much of this site is static content versus interactive application?

Once that ratio is clear, the right answer falls out. This post is the honest version, with typical ranges.

The shape of each choice

A single-file HTML template — what we ship at Morton Digital — is index.html plus optional sibling HTML files for subpages. Tailwind CSS is loaded via CDN. There's no node_modules/, no build step, no bundler. You edit the file, you refresh the browser. Deploys are rsync.

A React/Next.js site is a full application: components, routes, state, a bundler (Webpack/Vite/Turbopack), a dev server, potentially server components and edge runtime. You write JSX, the toolchain emits optimized JS + HTML. Deploys are git pushes that trigger a build.

Neither is better in the abstract. They optimize for different things.

Typical Lighthouse numbers

Using the same 5-section SaaS landing page content, the two approaches land in consistently different ranges. Measure on DevTools Lighthouse (Moto G Power emulation, 4G throttling, cold cache) and you'll see shapes like this:

MetricSingle-file HTML + TailwindNext.js (App Router)
Performance95-9975-85
First Contentful Paint<1.2s1.5-2.5s
Largest Contentful Paint<1.5s2-3s
Total Blocking Time<50ms200-500ms
JavaScript shipped (gzipped)~0 KB first-party150-250 KB first-party
Total page weight~80-120 KB350-500 KB

The Next.js version renders on server, hydrates on client, and still pays a non-trivial runtime cost on mobile. The gap closes somewhat with aggressive code-splitting and use client pruning — but getting Next.js to 99/100 mobile requires weeks of perf tuning; plain HTML ships there by default.

When to pick single-file HTML

Pick this when the site is:

Concrete examples where single-file HTML wins:

When to pick React/Next/Vue

Pick a framework when the site is:

Concrete examples where a framework wins:

The common mistake

The mistake isn't picking the wrong tool for a single surface — it's picking one tool for all surfaces when the surfaces have different shapes. The teams who ship best tend to have:

They accept the "three deploy pipelines" cost because it's smaller than the "ship the whole thing in Next.js and wrestle with hybrid rendering" cost.

What about build-step-free + a sprinkle of interactivity?

This is the sweet spot for a lot of sites. Single-file HTML can handle interactivity — it just does it differently:

Every Morton Digital template uses these patterns rather than reaching for libraries. The interactivity is real and works in every browser from the last 5 years — it just doesn't need 150KB of React to enable it.

Bottom line

If you're building the landing page, portfolio, or brochure that lives in front of your product, start with single-file HTML. You'll ship this afternoon instead of next week, load faster for every visitor, and have less to maintain forever.

If you're building the actual product surface — the part logged-in users interact with — reach for a framework.

Don't use the same tool for both unless a specific team consolidation argument justifies it.

Browse the single-file template catalog if the first half of this post described your project.