HACKER Q&A
📣 amichail

Why hasn't web dev evolved to be like mobile/desktop app dev yet?


Any insights on this?


  👤 easrng Accepted Answer ✓
Why hasn't desktop dev evolved to be more like web dev? The tooling for web as a developer is vastly better, and as a user userscripts and extensions are wonderful. The closest thing to those for native is Frida I guess, and that's not really comparable.

👤 mikewarot
20 Years ago, you had a single computer with the data, the program, and the display all in one place with a native OS and API, like Win32 under Windows 2000 or XP. You could compile a single EXE, and it would work almost anywhere. You could reliably count on the display being at least 640x480 pixels, with a mouse and a user who knew how to optimally use it and the keyboard.

Now you don't have the data, program, or display in one place, sometimes not even in the same country. You've got different technologies that are always being obsoleted, across all the layers. Server OS, Database Layers, Web Server Layers, Cache Layers, DNS and Certificates, Encryption, the different platforms that the user might have from a Windows PC, or Mac, or Linux, or a tablet or phone with almost any resolution. Each of which has it's own set of filters and restrictions on content, cookies, anti-adware, security restrictions, bandwidth and performance differences.

You can't expect the latter to be anywhere near as consistent, reliable, or stable as the former. With the exceptions of bandwidth, and GIT, things have gone DOWNHILL in the last 20 years, and I see no slowing of this trend.

Not to mention the APP stores that can arbitrarily cut you off, without recourse.


👤 sema4hacker
The first thing that comes to mind is that all of my desktop development for the last few decades allowed a solution to be programmed in a single language (say, C), using a straightforward display model (an X,Y screen), all talking to an operating system, whereas web programming is anchored in a multi-language situation (HTML, CSS, javascript) with a rather complicated document-object model, all living in a web browser. Neither approach is easily reconciled with the other, and so the two techniques have little hope of merging. Personally, I hope the popularity of programs running essentially standalone on phones drives away the expectation of using a browser to host programs, and the idea of forcing everything into a web browser dies away.

👤 dive
As a mobile engineer with 20 years of experience and some knowledge about web development, I would say that web dev is more mature, flexible and (what is the essential part) keep up with new trends much faster.

Things like declarative UI syntax is still something new in the mobile world (SwiftUI, Compose, etc.), dependency management is a dark area (Android is a bit better, but a total mess on iOS/macOS development side), debugging experience for the web is miles ahead.

I usually ask myself the same question but in reverse – why mobile/desktop app development has not evolved to be like web dev?


👤 Epskampie
This is because on the web, everything you see on the page has to be downloaded first. This leads to the following cycle:

* a widget toolkit is created and gains some traction.

* It starts adding features, becomes bigger and slower to download and execute

* users start leaving for the next toolkit, which promises a smaller, faster experience.

At this point, most webdevs have simply given up on desktop like toolkits, and only use what’s available on the browser, combined with a few lightweight libraries and an ui framework


👤 breckenedge
It has. It’s been implemented several times and seen limited adoption.

ExtJS, React Native Web, and jQueryUI Mobile all “solved” this problem. Even Twitter Bootstrap could be considered a solution.

Why hasn’t one of these caught on and replaced bespoke apps? These frameworks are a lot to learn, difficult to optimize for narrow use cases, bloated, sometimes proprietary or inconveniently licensed, and often hard to maintain as browser capabilities evolve.


👤 speedgoose
The opposite did happen. People use web (electron, webwiews) to develop on mobile and desktop. Concepts from the web are used in other environments too (react native).

I developed on web, mobile, and desktop and I prefer a lot web development.


👤 antifa
I see no point in moving from web to desktop if it's going to be for an electron app, and no one is going to hire a webdev for a non-electron desktop app.

👤 emteycz
My opinion as a former C# desktop app engineer is that TypeScript/React development is much further than that.

👤 jamil7
It has to some extent. The opposite is also true - look at Compose and SwiftUI.