Hacker News new | past | comments | ask | show | jobs | submit login
Are we losing enterprise desktop?
14 points by psydvl on Aug 19, 2022 | hide | past | favorite | 21 comments
You can be hired on frontend, and that means you write client-side code, but with JS (or others *script)

You can be hired on the backend and will write server-side

You can be hired on mobile and will write Android/iOS code

But what do we have now on the desktops?

1. Electron-based, CEF-based applications written by frontenders or full-stack developer

2. CLI, TUI, or Qt/wx/gtk utilities written by backenders

3. A cross-platform application written by mobile developers (flutter, kotlin compose mpp)

4. Really native programs, oh, never seen them, or maybe on macos only :(

First ones - optimized to be run in a browser, so keeps the browser with them, and voilà, it's become unoptimized and big

Second - we have better-optimized code, but an interface can be improved or should be written from zero, however, those guys never work with designers and...

Third and fourth variants - perfect, but almost never seen them in enterprise

But businesses take care mostly for money and we get electron or CEF(spotify, geforce now, steam) and memory leaks and etc.

So, we have no such thing as desktopdev or desktopend (deskend) software in the enterprise world, and I hate it.




I know some people that work in industrial control (eg nuclear power plant control systems). Obviously their customers don't want to use a SaaS service hosted online. They've always had onsite servers with desktop applications. Even they're moving to web applications. Still hosted on site, but webapps served locally. The issue they had was hiring people who could (or wanted to) build desktop applications. Switching to modern web standards for their apps really eased their hiring.


Yes, I have worked at a place like this. SCADA and other controls is like an untouched island compared to any other industry I have worked in. It can be a struggle to get people on board with web applications there.


There’s such a diversity of systems it’s easier to pull data out of the SCADA system and build genetic analytics normally. That’s the approach that’s happened in many industries anyway from what I’m seeing.


The problem with desktop is the stack isn't stable enough; constant updates and upgrades threaten to break all of your underlying dependencies. Server backend is the most stable stack, and that's one of the real reasons it's used so predominantly.


It's also a real pain to do cross-platform correctly without some abstraction layer like Qt, gtk, Wx, Tk, SDL, OpenGL, Vulkan, or something. Do you really want to write a Metal app, an MVC app, an X app, a Wayland app, and then still be asked to make a web version of it for people on the go? Look at all the work put into Wine and Proton to get Windows games - perhaps the ultimate everyday example of optimized native code - to run on Linux.

There are languages, UI tookits, cross-compiler sets, and RADs that make this easier. Qt, gtk, Wx, Tk, SDL, FLTK, and such happen to be among them. So are Flutter, Delphi (same code and RAD project on Windows, Linux, Mac, iOS, and Android), FreePascal/Lazarus (not identical to Delphi but a pretty close F/OSS alternative built around the same language and concepts), Xamarin, React Native, NativeScript, Felgo, Roslyn, GLBasic, BlitzMax, PureBasic, QB64 with Inform, Gecko2D, FireMonkey, JUCE, IMCROSS, Haxe, Webassembly, the JVM, CLR/.net Core/CIL, Scala, C#, F#, Clojure, ClojureCLR, Component Pascal, IronPython, IronScheme, PowerShell, Kotlin, Groovy, jgo, Visual COBOL (yes, really - it targets JVM), JavaScript, Raku, NetRexx, JRuby, Yeti, Fantom, JR, Pizza, and I'm sure many other tools wouldn't even exist if developing single-source applications for multiple platforms was easy with just a C or C++ compiler.


100%


Ah, that cant be right. Maybe for some platforms/stacks, but a windows desktop stack using somewhat standard tools will be backwards compatible for ages.

I have seen several companies using ancient windows apps for day to day work without issues. Personally I still sometimes use a somewhat complex GUI app that I last compiled around 2002-2003 with borland c++ builder without issues.


Really? These don't require any updates to run on Windows 10, etc? If that's true, why are there still industrial and military users running Windows XP?


No updates at all. On one of the screens the buttons look a little bit off with modern windows themes but perfectly functional.

This will ofc not be true for all applications, I am certain somethings break, esp if they depend on hardware drivers.

If you check the blog "the old new thing" you can read about the crazy lenghts microsoft goes to for keeping backward compability.


Interesting. Thanks for the info.


Nothing new about this. Well before everyone had a smart phone in their pocket, enterprises were building client/server apps that targeted the browser instead of desktop apps.


Operating systems should have become our "web browsers" long ago. Apps as standalone browsers is backwards, these are a waste of resources and multiple security holes.


Outside the web and mobile apps, that Frontend/Backend split doesn't exist as you present it, so your categorization of 2) is pretty wrong.


I would definitely say there's almost no desktop front-end work anymore: I still see plenty of enterprise software, but whether it's on-premise or cloud-based, the interface tends to be via the web browser.


Enterprise desktop implies Windows. There is just not that much representation of Microsoft stacks in the consumer-facing or venture capital driven Silicon Valley tech scene. But I'm sure there's tons of these people working on Win32 apps in enterprise IT departments and legacy software vendors across the interior of the country. Not to mention all kinds of specialized devices (industrial automation, AV control systems, medical scanners, etc) have Windows computers in them and are operated through Windows desktop apps.


The healthtech industry, from my experience in Canada, still primarily works on custom Java apps running on desktop. Most of them are trying to switch to the web too, though.


This makes sense to me. Why keep a browser and a JVM up to date and ship your code, keeping it up to date? The alternative is just keep the browser with its JS and WASM VM up to date and trickle your latest code out automatically.


Ironically there is not a single electron app I ended up using in the long term. For all of them the web version ended up being superior: always up to date, running on a properly secured browser and on which I prevent any external tracking, ads, when I allow or not access to my location, webcam, microphone, etc.


There are many places that have desktop application development teams but the application(s) are internal only so it doesn't exist to the outside world. I have done desktop development with .NET at a couple companies and have been contacted by recruiters for other jobs for desktop software written in .NET.


We have an ancient guy who delivers binaries compiled from pascal for one of our proprietary desktop programs


We write user facing desktop software. Windows/Qt.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: