| > In data centers, loading data from networked server, where it's in memory, can be used over loading data from a disk, because disk is comparatively slow. Most people however don't live in a data center. On regular computer and with regular Internet connection, even spinning rust blows the network out of the water. And computers increasingly ship with flash memory these days. > A web app can load JavaScript assembler, which isn't much slower than a desktop app written in C. A desktop app has already loaded that assembler at build-time, and when executed, it loads and runs native code. (Well, sorta. Scripting is a huge thing for modularity and extensibility, and people do frequently choose slow languages like Python for that. Then again, some languages (like some Python implementations) let you compile scripts on first run and execute binaries later on. I actually wish more languages were designed like Common Lisp is, where you keep a seamlessly integrated compiler available at runtime and are expected to take advantage of it - in case of SBCL (a CL implementation), this means a fast to-native compiler, which on occasions can make an application faster than it would be in an otherwise ahead-of-time compiled language.) > Bigger - and slower - parts of the web app can be loaded after the app starts interacting. So - at least in principle - no sizeable speed difference, which would blow somebody away. So can desktop apps. Except they rarely need that, if huge, because it's harder to make them slow by default. I mean, take Slack - a frequent target of performance complaint. They have a bloated web client, an even worse Electron app, and here I am, using Ripcord[0] on both Windows and Linux (and it has a Mac version too), getting the same functionality at a fraction of the resource use, and there's literally nothing slow there. Nothing. Not a thing (except connecting) takes a perceptible delay. That's how fast you can make a modern chat client, if you care. > Advantage of web app is cross platform uniformity. Write once, run everywhere. That's a big advantage, true. It's easier. Though it does come at a cost. -- [0] - https://cancel.fm/ripcord/ |