Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm looking at doing desktop apps for my latest project. It's not simple.

It used to be simpler, although fragmented. There wasn't one tech for all targets, but there was at least one tech for each platform that did a good job.

How come writing a desktop application is harder now than it was 20 years ago?



> there was at least one tech for each platform that did a good job

I think the problem is exactly the opposite: there used to be "at most one tech for each platform", but now there's too many choices. On top of that there's also Electron and many multi-platform widget libraries. This gives a lot of "analysis paralysis" to developers. There just isn't a silver bullet.

...I mean, except for MacOS, ironically, where only Cocoa matters (at least until Marzipan). Carbon has been a second-citizen from the start, and was deprecated in 2007.

On Windows there's UWP, WPF and WinForms, which are very productive, and are open source now, on top of that. The only problem IMO is that they're only "great" if you use C#. Writing windows apps with C++ is way too verbose.

On Linux it's more complicated (and I'm not familiar with it) but at least users are much more forgiving when it comes to desktop consistency.


To be fair C# is probably the best choice for the majority of desktop developers.


Cross-platform toolkits have much nicer and sane APIs compared to native SDKs. Even if I wanted to target the single specific platform, I'd still pick wxWidgets or Qt Widgets over Win32 or Cocoa.


I would completely agree. It's a bit like html vs native though, you end up trading flexibility for compatibility and ease of development.


Depends. On Windows and Linux, ~nobody complains about Qt applications. On Mac, users do complain because some details aren't exactly right.


> On Windows and Linux, ~nobody complains about Qt applications. On Mac, users do complain because some details aren't exactly right.

Windows users are used to UIs from the 1990s. Linux users are used to 100 different types of UIs and bask in the glory of diversity. Mac users are trained to care.


FWIW i find Qt applications "off" on Windows too, at least when they try to look native, because there is always some little detail that they get wrong :-P.

(also often cross-platform toolkits tend to have weird layouts, like having multiple numeric input fields span an entire dialog box width instead of making a more compact arrangement)


I disagree about Windows and Linux. Windows users aren't particularly used to "90s" UIs. Windows users are used to every application looking different, including those from Microsoft. On Linux you "only" have GTK+, Qt, and the odd wxWidgets application. Oh, and Electron, sadly.


And Motif, FLTK, and others (though personally i've mainly encountered these two in addition to Gtk and Qt) as well as bespoke toolkits. Also Gtk isn't just "Gtk" but Gtk2 and Gtk3 use separate themeing systems and Gtk4 seems to introduce something new. Similarly Qt isn't just "Qt" but Qt4 and Qt5 also use separate themeing systems.

If you only use a desktop-focused distribution like Mint or Ubuntu and stick to only using applications for the desktop environment you use, then yes you are only going to see Gtk or Qt apps. But there are way more toolkits than those two - check your distribution's repositories (and even Debian doesn't contain everything).


Motif and FLTK apps exist, but they are very, very rare these days. If you count Motif, you can as well count Xt and X Athena Widgets. FLTK isn't as old, but was AFAICT never widely used in any case.

Motif used to be the standard toolkit for commercial Unix applications in the 90s I guess, and you might still see it when using some expensive but minimally maintained software originating from that time.


Debian includes a lot of applications using Motif (e.g. Xpdf, Nedit, DDD, etc). I think you underestimate how many such applications exist out there. If you silo yourself in the GNOME or KDE (or derivatives) world, yeah chances are you wont see them.

FLTK is used for many smaller applications. Again, chances are if you are into GNOME/KDE you wont see those, but some smaller environments and distributions use FLTK for their utilities.

Though yes, Xaw applications exist too (and they come preinstalled with most Xorg installations - Xedit, Xman, etc).

Also i forgot Tk applications - Tk is the default toolkit for both Tcl and Python and a lot of such applications exist (gitk would be a very common one).


What's odd with wx? It mostly wraps native APIs - on Linux it's just a C++ wrapper for GTK+.


I meant rare


"Mac users are trained to care." Wrong set of priorities I think. And how are they being "trained"? They go to special courses or they just listen to a big ads telling them what they should like?


It's probably fair to say that they expect consistent look and feel. But there is a bit of "it's good because it's Mac" too IMO, because it takes faith to believe that the dock isn't the worst launcher-task manager in wide use today.




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

Search: