DEV Community

Cover image for 9 Things Developers Confidently Say About "It Runs Entirely in the Browser"
Vijay Kanna
Vijay Kanna

Posted on

9 Things Developers Confidently Say About "It Runs Entirely in the Browser"

"Client-side" has become one of those phrases that gets said with total confidence and about 60% accuracy. Here are nine things I've heard — said some of them myself — that sound right until you actually test them.

  1. "It's more private because it's client-side."
    Sure, if nothing else on the page is calling out to a third-party script, an analytics pixel, or a CDN-hosted library that phones home. "Runs in the browser" and "sends nothing anywhere" are not the same claim, and a lot of client-side tools quietly do both without realizing it.

  2. "No server means no cost."
    No compute cost, sure. Still paying for hosting, bandwidth on every asset, and the CDN serving your now-much-larger JS bundle to every single visitor whether they use the feature or not.

  3. "It'll work the same on mobile."
    It will work. "The same" is doing a lot of heavy lifting in that sentence, especially the first time Canvas or Web Workers hits an actual memory ceiling on a five-year-old Android phone.

  4. "We don't need a backend at all now."
    Right up until you need auth, rate limiting, or literally anything that requires trusting the client not to lie to you — which, gentle reminder, you should never do.

  5. "Client-side means it's automatically fast."
    Client-side means it's fast if you're disciplined about what loads when. Ship every dependency on page load "because it's all client-side anyway" and you've just moved the slowness from a server response to a JS parse.

  6. "SEO doesn't matter as much since it's an app, not a website."
    Said by someone who has never tried to explain to a client why their beautifully engineered client-side app doesn't show up on page one of anything.

  7. "The browser will just garbage collect it, it's fine."
    It will, eventually, probably, unless you've built a closure that's quietly holding a reference to a 40MB canvas buffer that never gets released and now the tab crashes after the fourth image.

  8. "Nobody actually inspects the network tab."
    Somebody always inspects the network tab. Usually right when you claimed nothing gets uploaded.

  9. "It's basically done once it works on my machine."
    On your M-series MacBook, on fiber, on Chrome. The real test is a mid-range Android phone on 4G with twelve tabs already open — which is a huge share of real users and none of your local testing.

None of this is an argument against client-side architecture — I'm neck-deep in exactly this building a 70+ tool browser-based toolkit and would make the same trade-offs again. It's more that "it runs in the browser" gets said as if it settles an engineering debate on its own, and it really doesn't.

What's the one you've said out loud and had to walk back later? Or the one you still believe and think I'm wrong about — genuinely curious which of these gets argued with the most.

Top comments (0)