Comment by golergka

1 year ago

I developed desktop applications a long time ago, but I do webdev now, including Electron apps. Modern web stack is just a much better developer experience. Sure, if you just want to build a simple app with 5 controls and two screens, you can remember good old days of VB6 or Delphi fondly. But for a modern complex application with localisation, reactive design for mobile and desktop screens, a lot of user content and complicated state that is changed asynchronously both from the user input and from remote events, modern web stack is actually great.

Typescript is about the best mainstream (not Haskell) programming language I've ever worked with, modern web frameworks (React, Svelte and others) use functional programming concepts in the right places without requiring knowledge of type theory, it's easily debuggable at runtime and modern css/html is actually a pretty good way to do layout of complex user interfaces.

Interesting. I've done both desktop app dev and web dev professionally, in both cases complex applications that required localization etc. I still found the traditional C++ desktop app a better developer experience. It's significantly more straightforward, and I could be more productive of the simpler mental model of "OS runs application, calls out to thin GUI abstraction layer which calls out to either Cocoa or win32" vs "backend runs on service fabric in one of three different data centers, calls out to x different DBs and y different microservices, user connects to it via frontend after auth (another can of worms) via roughly a dozen different common configurations, but we're only going to test with Chrome on Windows, using TypeScript and an unholy combo of three different frameworks because the frontend team keeps chasing the new hotness"

Web dev just feels insane to me. The amount of logistics and infrastructure and tooling you need[0] is beyond the pale.

[0] "need" is maybe strong, but in an enterprise setting like I was that's what you have

  • If you don't have to deal with backend in the former scenario it seems that you're really comparing apples to oranges here.

    • Bad news, I was "full stack". That makes it a real apples-to-apples comparison, as I was also full stack on desktop. Except the stack was shorter. Which was my point.

I always wonder what people mean by "complex applications" when they associate them with mobile design and then contrast them with "simple applications" created with Delphi.

Guess that complexity is the same as number of spinners.

  • I have had interesting interactions with web devs in which I describe the architectural CAD application I used to work on, which they call "a simple desktop app". They then talk at length about their overengineered CRUD app.