6 ms·
The situation for Desktop development is nasty. Microsoft had so many halfassed frameworks and nobody knows which one to use. It’s probably the de facto platfor
by namelosw 8mo ago
The situation for Desktop development is nasty. Microsoft had so many halfassed frameworks and nobody knows which one to use. It’s probably the de facto platform on Windows IS Electron, and Microsoft use them often, too.
On MacOS is much better. But most of the team either ended up with locked in Mac-only or go cross platform with Electron.
- harikb 8mo agoAs I outlined in a sibling comment. You can still use React and your JS developers. Just don't ship a whole browser with your app. May be an app that is as complex as Outlook needs the pixel-perfect tweaking of every little button that they need to ship their own browser for exact version match. But everything else can use *system native browser*. Use Tauri or Wails or many other solutions like these That said, I do agree on the other comments about TUIs etc. Yes, nobody cares about the right abstractions, not even the companies that literally depend on automating these applications
- frumplestlatz 8mo agoGiven how much money they have, and the reach they're attempting to achieve, is it really asking too much that they hire native development teams? It's not like an application of this scale requires an army of engineers.
- OlympicMarmoto 8mo agoThis is another common excuse. You don't need to use microsoft's or apple's or google's shit UI frameworks. E.g. see https://filepilot.tech/ https://filepilot.tech/ You can just write all the rendering yourself using metal/gl/dx. if you didn't want to write the rendering yourself there are plenty of libraries like skia, flutter's renderer, nanovg, etc
- deleted 8mo ago[deleted]
- incr_me 8mo agoHow is File Pilot for accessibility and for all of the little niceties like native scrolling, clipboard interaction, drag and drop, and so on? My impression is that the creator is has expertly focused on most/all of these details, but I don't have Windows to test. I insist on good UI as well, and, as a web developer, have spent many hours hand rolling web components that use <canvas>. The most complicated one is a spreadsheet/data grid component that can handle millions of rows, basically a reproduction of Google Sheets tailored to my app's needs. I insist on not bloating the front-end package with a whole graph of dependencies. I enjoy my NIH syndrome. So I know quality when I see it (File Pilot). But I also know how tedious reinventing the wheel is, and there are certain corners that I regularly cut. For example there's no way a blind user could use my spreadsheet-based web app (https://github.com/glideapps/glide-data-grid https://github.com/glideapps/glide-data-grid is better than me in this aspect, but there's no way I'm bringing in a million dependencies just to use someone else's attempt to reinvent the wheel and get stuck with all of their compromises). The answer to your original question about why these billion dollar companies don't create artisanal software is pretty straightforward and bleak, I imagine. But there are a few actually good reasons not to take the artisanal path.
- w00ds 8mo agoFile pilot is extremely good in my experience, literally the only issue is it doesn't display the sync status on icons in a Dropbox folder.
- jarek-foksa 8mo agoCustomers simply don't care. I don't recall a single complain about RAM or disk usage of my Electron-based app to be reported in the past 10 years. You will be outcompeted if you waste your time reinventing the wheel and optimizing for stuff that doesn't matter. There is some market for highly optimized apps like e.g. Sublime Text, but you can clearly see that the companies behind them are struggling.
- behnamoh 8mo ago> Customers simply don't care. They do, but they don't know what's causing it. 8GB of RAM usage for Codex App is clown-level ridiculous.
- deaux 8mo agoDo a search for "Microsoft teams slow crash" and you'll find a billion complaints by normies. They're only doing well because of their illegal monopolistic practices not being cracked down on.
- cpuguy83 8mo agoNot seeing complaints doesn't mean they don't exist. Not to mention ui latency that is common in electron apps that is just a low-level constant annoyance.
- adastra22 8mo agoI have complained about literally every Electron based app I have ever used. How would you know there are no complaints?
- inquirerGeneral 8mo ago[dead]
- oblio 8mo agoThere are complaints and then users keep using these super popular and bloated apps. Techies make it seem like bloat is a capital sin but it isn't.
- embedding-shape 8mo ago> You don't need to use microsoft's or apple's or google's shit UI frameworks. E.g. see https://filepilot.tech/ https://filepilot.tech/ That's only for Windows though, it seems? Maybe the whole "just write all the rendering yourself using metal/gl/dx" is slightly harder than you think.
- OlympicMarmoto 8mo agoThe proof that rendering is not _that_ hard because the flutter team did it when they switched off skia (although technically they still use skia for text rendering, I'll admit that text rendering and layout is hard)
- mstipetic 8mo agoHow is a fact that someone did something proof that it isn’t hard?
- bandrami 8mo agoI mean, every cross-platform commercial DAW manages to do it? Bitwig, Renoise, Reaper, even VCV.
- embedding-shape 8mo ago[delayed]
- browningstreet 8mo agoThey’re all iterating products really fast. This Codex is already different than the last Codex app. This is all disposable software until the landscape settles.
- namelosw 8mo agoIt's essentially asking application developers to wipe ass for OS developers like Microsoft. It's applaudible when you do it, understandable when you don't. Even though OpenAI has a lot of cash to burn, they're not in a good position now and getting butchered by Anthropic and possibly Gemini later. If any major player in this AI field has the power to do it's probably Google. But again, they've done the Flutter part, and the result is somewhat mixed. At the end of the day, it's only HN people and a fraction of Redditors who care. Electron is tolerated by the silent majority. Nice native or local-first alternatives are often separate, niche value propositions when developers can squeeze themselves in over-saturated markets. There's a long way before the AI stuff loses novelty and becomes saturated.
- josephg 8mo agoI'd love to see some opensource projects actually do a good job of this. Its a lot of work, especially if you want: - Good cross platform support (missing in filepilot) - Want applications to feel native everywhere. For example, all the obscure keyboard shortcuts for moving around a text input box on mac and windows should work. iOS and Android should use their native keyboards. IME needs to work. Etc - Accessibility support for people who are blind and low vision. (Screen readers, font scaling, etc) - Ergonomic language bindings Hitting these features is more or less a requirement if you want to unseat electron. I think this would be a wonderful project for a person or a small, dedicated team to take on. Its easier than it ever used to be thanks to improvements in font rendering, cross platform graphics libraries (like webgpu, vulcan, etc) and improvements in layout engines (Clay). And how much users have dropped their standards for UI consistency ever since electron got popular and microsoft gave up having a consistent UI toolkit in windows. There are a few examples of teams doing this in house (eg Zed). But we need a good opensource project.
- Macha 8mo ago“Render yourself with GPU APIs” has all the same problems with a11y, compatibility, inconsistent behaviour that electron has - the only one it might fix is performance and plenty of apps have messed that one up too
- anaisbetts 8mo agoThat'll work great until your first customer from a CJK or RTL language writes in, "Hey, how come I can't type in your app?", or the blind user writes in "Hey how come your app is completely blank?" then you'll be right in the middle of the "Find Out" phase These strategies are fine for toy apps but you cannot ship a production app to millions or even thousands of people without these basics.
- weaksauce 8mo agomicrosoft also uses react native for the start menu and also bricked that during a recent upgrade apparently... along with breaking other stuff.
- dheera 8mo agoThis. Even Linux is nasty. Qt and GTK are both horrible messes to use. It would be nice if someone made a way to write desktop apps in JavaScript with a consistent, cross-platform modern UI (i.e. swipe to refresh, tabs, beautiful toggle switches, not microscopic check boxes) but without resorting to rendering everything inside a bloated WebKit browser.
- adastra22 8mo agoThat’s what React Native is. But JavaScript is the problem.
- wizzledonker 8mo agoQt is not a horrible mess to use, the problem is just people don't bother to learn any tech stack outside web. It's so obvious that this is the issue to anybody who actually does native development.
- tristan957 8mo agoCan you explain why GTK is a mess?
- zem 8mo ago"native" is used for different things, from "use the platform's default gui toolkit" to "compile to a machine code binary". the former is a bit of a mess, but the latter is strictly better than wrapping a web view and shipping an entire chrome fork to display and interpret it. just write something in qt and forget about native look and feel, and the performance gain will be enough to greatly improve the user experience.
- belfthrow 8mo agoShould just use javafx or swing. Take a leaf out of intellij which while it as it's own performance problems (although not from the fact of the ui framework) has a fantastic ui across Mac / windows / nix
- fnord77 8mo agoJava swing is way underrated despite being very complex. It baffles me why this just sort of withered on the vine. (I was a swing developer for several years)
- Yeroc 8mo agoThe web sucked all the oxygen out of the room.
- pregnenolone 8mo agoIt really was Oracle’s fault – they neglected deployment for too long. Deploying Java applications was simply too painful, and neither JLink nor JPackage existed.
- adastra22 8mo agoI can’t tell if this word salad is sarcasm or genuine.
- coldtea 8mo ago
- walt_grata 8mo agoDo not give a shit about how they excuse doing a bad job. If their tools make them that much more productive, and being the developer of those tools should allow you to make great use of them. Use native for osx Use .Net framework for windows Use whatever on Linux. Its just being lazy and ineffective. I also do not care about whatever "business" justification anyone can come up with for half assing it.
- r0fl 8mo agoThese companies have BILLIONS of dollars and some of the smartest people in the world and access to bleeding edge AI There should be no excuses! Figure it out!
- itemize123 8mo agoit'll be the least important thing to do
- deterministic 8mo agoWin32 is the platform to use on Microsoft Windows. Everything else is built on top of it. So it will (a) work (b) be there forever.
- tombert 8mo agoI guess it shows how geriatric I am with desktop app development these days, but does no one use Qt anymore? Wasn't the dream for that to be a portable and native platform to write GUI apps? Presumably that could abstract away which bullshit Microsoft framework they came out with this week. I haven't touched desktop application programming in a very long time and I have no desire to ever do so again after trying to learn raw GTK a million years ago, so I'm admittedly kind of speaking out of my ass here.
- rubymamis 8mo agoI built my Block Editor (Notion-style) in Qt C++ and QML[1]. [1] https://get-notes.com https://get-notes.com
- rjh29 8mo agoQt is still pretty good, but it's dated in comparison to newer frameworks like Flutter and React Native. No hot reloading of changes, manual widget management vs. React where you just re-define the whole UI every frame and it handles changes magically, no single source of truth for state, etc.
- LtdJorge 8mo agoAnd GTK4 is even very usable from Rust too. It’s not a bad development experience, but these companies probably find 100 webdevs for every system programmer.
- wizzledonker 8mo agoQt with QML works fine. The real reason is that companies can't hire enough native developers because the skill is comparitively rare.