Cross-Platform Without Browser Copium
Why is this WebDev meme funny?
Level 1: Different Kinds Of Bridges
This is like arguing that the only way to cross a river is one famous bridge, while someone points out that trucks, trains, and boats cross rivers every day too. The famous bridge is useful, but it is not the only solution. The funny part is that developers sometimes defend their favorite bridge so hard they forget other people are already getting across.
Level 2: Many Roads Across
Cross-platform development means building software that works on more than one operating system or device type. Web apps do this by running inside browsers. Native apps do this by compiling or packaging versions for each target platform, often with help from shared engines, frameworks, or cross-compilers.
Games are a strong example because they often share most of their code and assets while producing different builds for consoles, PCs, and mobile devices. A game engine can provide common tools for graphics, audio, physics, input, and asset loading. The developer still has to handle differences, but they are not starting from zero for every platform.
Browsers solve a different version of the same problem. They provide a widely available runtime with HTML, CSS, JavaScript, networking, and sandboxing. That is why web apps are so popular. The meme is funny because it challenges the idea that browser compatibility is the same thing as cross-platform development itself. It is one powerful route, not the whole map.
The post message about games using browser-based menus also matters. It shows how blurry the boundary is. A native game can still embed web technology, and a web app can still call native APIs through wrappers. Real-world software is usually less pure than the argument people have about it online.
Level 3: Portability Is Not A Browser
The screenshot is a dark-mode social post from “valigo” saying:
Modern games are native apps that are being released for like 5+ different platforms, and yet web devs will scream that you absolutely need browsers or you can't be crossplatform. The amount of copium we inhale as an industry is insane
The joke attacks a common web development reflex: treating the browser as the only serious answer to cross-platform software. Browsers are incredibly successful portability layers, but they are not magic. They are large runtimes with layout engines, JavaScript engines, security models, rendering pipelines, storage quirks, device APIs, and compatibility bugs. Saying “use the web because it is cross-platform” can be true and still incomplete, the way saying “ship a game on five platforms” is true while politely hiding the certification, controller support, graphics APIs, save systems, storefront rules, and platform-specific crash reports in the basement.
The comparison to modern games is deliberately provocative because games are some of the hardest native apps to ship broadly. A game may target Windows, PlayStation, Xbox, Switch, macOS, Linux, iOS, Android, or cloud streaming contexts, often through an engine that abstracts rendering, input, audio, assets, scripting, and build pipelines. That is cross-platform development, just with a different stack. The post is not saying game developers have it easy. It is saying web developers sometimes confuse one convenient portability strategy with the entire category.
The caption adds a useful wrinkle by pointing out that plenty of games also use browser-like technology for menus or UIs. That makes the meme less of a clean dunk and more of an industry self-own. Native applications and web runtimes are not enemies; they are often layered together. A native game might use an embedded web UI for panels, a launcher might be Electron-like, and a desktop app might ship a full browser engine because the team wants HTML/CSS tooling. The real criticism is not “browser bad.” It is “stop pretending the browser is the only way to avoid writing the same app five times.”
The senior developer read is that every portability layer has a bill. The browser bill includes DOM performance, hydration bugs, sandbox boundaries, cross-browser differences, offline constraints, and the eternal sadness of debugging layout at 1.25 zoom. The native engine bill includes platform SDKs, packaging, input devices, GPU differences, store policies, and native crash behavior. Both approaches are valid. The “copium” is pretending one bill does not exist because your team is more emotionally attached to its favorite runtime.
Description
A dark-mode social media screenshot shows user "valigo" with handle `@valigo_gg` and a large Follow button. The post reads: "Modern games are native apps that are being released for like 5+ different platforms, and yet web devs will scream that you absolutely need browsers or you can't be crossplatform. The amount of copium we inhale as an industry is insane". The meme argues that browser-based delivery is not the only viable path to cross-platform software, pointing to modern games as native applications shipped across many targets. Its technical edge is the tension between web portability claims and the real engineering disciplines of native runtime support, engines, build targets, stores, drivers, and platform certification.
Comments
53Comment deleted
A browser is not a portability layer; it's a second operating system with worse patch notes.
This can't be real Comment deleted
https://coherent-labs.com/products/coherent-gameface/ Comment deleted
Look at the list: Minecraft Microsoft Flight Simulator Ratchet and Clank CONTROL Godfall World of Tanks World of Warships Player Unknown's Battle Grounds Black Desert Online Planet Coaster Sea of Thieves and many more https://coherent-labs.com/powered-by-coherent-labs/ Comment deleted
wtf how Comment deleted
lol no wonder sea of thieves' interface is so sloppy and unresponsive Comment deleted
Quake LIVE was a legend 🫡 Comment deleted
💀 Comment deleted
Hell nahhhhhhh Comment deleted
JS is the language of future. Stop wasting your time on C++ and other abominations like Rust, etc. Learn JavaScript 💪 Comment deleted
Real Comment deleted
that browser is made by c++ ig Comment deleted
He never broke that layer of abstraction in his life, he wouldn’t know /s Comment deleted
What's 2 + 2? Comment deleted
depends on... Comment deleted
What is 1/"O"? Comment deleted
NaN Comment deleted
Fantasy way of writting I/O Comment deleted
https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript Comment deleted
And I can also walk you through how this would never work with current HW and how's that changing. - once I'm feeling slightly better Comment deleted
sarcasm, I hope? Comment deleted
Why I didn't know this Comment deleted
Kinda true, my friend in top 5 college said that too, js+python thats what you need Comment deleted
Also, you can always use flutter or avalonia ui to build almost native apps Comment deleted
you can use native toolkits to build really native apps Comment deleted
you can use assembly to be 100% native Comment deleted
"almost" is the main word here Comment deleted
Yeah with 252837x the power consumption of a native app, no support for mouse and keyboard and controller either in all of the cases I have encountered. Comment deleted
Flutter has all of these(even g-tv) controllers support and will work tremendously faster than any frontend js poop. That’s ridiculous, google at least before stating sonething🤪 Comment deleted
Bruh are you really comparing a web browser to native UI? How insane do you need to be? Comment deleted
something like code design Comment deleted
I love how this information ALWAYS makes people drop their jaws and shifts their world view 180 degrees. 😁 Comment deleted
…this isn't true at all nintendo only releases for the switch (mobile too sometimes) and good luck getting all games to run natively on linux Comment deleted
not saying you need a web browser to be cross-platform, but games are one of the worst examples when it comes to that Comment deleted
the worst example would be enterprise software. you know what is usually cross-platform? hobbyist software. Comment deleted
Unreal Tournament 2004 was quite cross-platform Comment deleted
…yes, but most games aren't unreal tournament 2004 Comment deleted
https://github.com/Immediate-Mode-UI/Nuklear/tree/master/demo The thing you run into with these lightweight crossplatform UI toolkits is generally lack of accessibility hooks, input methods, et cetera. But for games that is rarely an issue. Comment deleted
Nintendo lives in it's own bubble. Actually most of the work to port a game from Windows to Xbox is required to port the same game to Playstation because they both use similar x86 APUs that differ from PCs, which makes the whole comparison with frontend nearly irrelevant. Comment deleted
True Comment deleted
Sounds like the problem is in their development capabilities, some extra work on optimization and obvious performance problems and everything should work smooth... Comment deleted
I suspect that it's that JS devs are just cheaper to hire. That and in case of Microsoft they're heavily invested in Electron already. Comment deleted
Different platforms have different APIs, graphics stacks, etc. Browsers abstract that so JavaScript and Co is a lot easier for devs to work with, without having to worry about working around the different platform limitations Comment deleted
and you have to deal with different browsers Comment deleted
Most browsers including electron are based on chromium Comment deleted
(unless you count the browsers from gnome, kde, etc that basically nobody uses because they generally suck) Comment deleted
A network is a network. If you can’t make your developer teams agree on a protocol thats skill issue, not the lack of cross platformness. We don’t need 46263857 layers of abstraction Comment deleted
That’s you said clowny things about the big power consumption and absence various input support, not me. You contradict yourself now. Also flutter is not native UI. Btw you can run this thing on any common platform. Seriously suggest you to start googling before posting cringe. Comment deleted
Bruh sure man. That’s a skill issue if you can’t make proper gui without frameworks in top of frameworks on top of frameworks… Comment deleted
That’s a major-major business knowledge issue if you don’t see a costs difference between bunch of standalone native apps and a single multiplatform codebase💀 Considering your gaps, I’m pretty sure you cannot deliver a quality product for a single platform, not even talking about multiple native platforms😁 Comment deleted
Sure man. Think whatever you want. I prefer native apps rather than bodged together web apps that just ignore all OS gui guidelines… We have different opinions and I don’t need to find yours even acceptable if it goes against my principles. Now go and program a beautiful gui using python running on gtx5099 at 7fps because its layout is calculated on the CPU. Bye have a nice day Comment deleted
Real cross platform apps are if you have an adaptive OS. Which has it’s own gui guidelines Comment deleted
“Having one codebase is good” “So they can run on mixed bag of OSs”? Isn’t that the contradiction? Fix the first problem, which is having too many different OSs. Rather than porting some framework to all OSs. This is truly 2024 mentality… this is why our computers can calculate 69Terraflops of bits but then to re-render an apps GUI when you resize it takes multiple framedrops… and this is why we need a new phone every 3 years or so… Comment deleted