Comment by apatheticonion
15 days ago
Using Win32 to write a UI in Windows is like pulling teeth. There are bindings for Rust but even still it's a nightmare.
MacOS is slightly better but Apple's anti-competitive practices targeting developers makes it a tough sell. Linux is better still, technically, but due to the fragmented desktop environment landscape and distribution difficulties, it's also a hard sell.
I think it's fair to say that the entire story for native app development is a mess - which is most likely why Electron became so popular. There just isn't a practical sane alternative.
The sane alternative is macOS because there is one thing that Windows lacks; a community. Since 1984, there have been boutique developers who have spent their whole career working on macOS, making it better and living the dream of working on consumer software.
When I look at the apps on Windows, all I see are abandoned projects and MVPs with a borderline malware financial structure.
> Since 1984, there have been boutique developers who have spent their whole career working on macOS, making it better and living the dream of working on consumer software.
Microsoft has had even more people working on Windows software..
"Developers, Developers, Developers!" - Steve Balmer
Microsoft has always had vastly more developers and development of software for Windows.
Apple still after all these years has a tiny market share of overall platforms, software, all of it really.
Not sure how you can suggest Apple is somehow the bastion of software development. If you write mac software, you'll be targeting a platform with 15-20% market share at best.
Isn't software development about making money? On phones, if you want to make money you have to target iOS, since this is where you have the people with money to spend on software. Do you believe that the vastly larger installed base of Windows guarantees more money for everyone?
6 replies →
Really?
I've been a fulltime Linux user for years but there are tons of excellent Windows-only apps.
Here are some that I miss: Directory Opus, ShareX, Wiztree, Everything, AltDrag, AutoHotkey, Paint.NET, irfanview, SumatraPDF. I'd add Keepass2 as well but fortunately KeepassXC is a thing.
Those are all feature-filled (in the bloat-free good way) and they've all been around for over a decade (from memory). Most are free and open source to boot.
If you like Paint.NET, you may like Pinta on Linux.
Also, I am pretty sure that SumatraPDF is available for Linux as well. I am not at a computer but I think it is in the AUR.
To be fair, these exist on Windows as well. There's some cool stuff, MyLifeOrganized for example I would consider to be on par with OmniFocus.
But I agree that most of the boutique stuff on Windows gets drowned in all the enterprise software a bit.
MyLifeOrganized was the biggest thing I gave up when I switched to Mac in 2013. Still miss it -- nothing else (Omnifocus, Things, outliners, etc) has been as effective as a system for me. They've been talking about a potential Mac app for year, I'm on the waiting list, but I've given up hope that it'll ever come. Even if it does, I doubt it'll be as good as it is on Windows.
I think the biggest reason for Electron is that marketing don't care about native UX but obsessively try to ram the branding down the users' throats.
With electron this is much easier because nothing is native and it looks and feels just like the website.
Linux as such has no UI - which framework specifically were you thinking of?
Qt or GTK
It’s certainly doable, but not as nice and easy as Delphi or Qt, which are WYSIWYG.
Of course, if one is a web developer, even attempting such a feat this could result in a brain-melting experience.
What about Qt? I am asking - I really don't know.
Win32 is easy: https://news.ycombinator.com/item?id=40085237
Comparing oranges to apples. Win32/Win API is (one of) the native API to do Windows programming.
Pure C is not the native way to do application programming on macOS. As I mentioned elsewhere, you can bring up a window with a button with no code on macOS. You can make that button show a string on a label with a handful lines of code.