3 ms·
> Give me raw Win32 over Xlib/Athena/Motif any day of the week. I share your sentimental attitude, but looking at the past 10+ years of "post-native" desktop U
by DaiPlusPlus 6y ago
> Give me raw Win32 over Xlib/Athena/Motif any day of the week.
I share your sentimental attitude, but looking at the past 10+ years of "post-native" desktop UI development being done in Electron, at al, it really does look like the days of platform-specific proprietary UI frameworks and toolkits are coming to an end. Modern HTML+CSS is a far more expressive medium for usable application UI layouts. Trying to build a "responsive" UI in VB6 is essentially impossible, for example. Even from a user's perspective I'm glad that fixed-size, DPI-unaware dialogs are done-away with.
I can't complain that much though - I don't miss writing low-level Win32 message-pumps - nor being limited by GDI's horribly outdated nature (fun-fact: it's impossible to build applications that support 10-bit color with GDI despite GDI's built-in support for different bpp values, because GDI assumed 24bpp / 8bpc was enough for anyone forever).
There's now only a few things missing from HTML+CSS that would enable true native-like applications: borderless sub-windows (think: for context-menus that can extend beyond the parent web-browser's client area on your desktop) and native macOS main-menu support (which feels like an anachronism given the large mouse-movements needed with today's humongous desktop display sizes).
- pjmlp 6y agoIf you look for it, there is plenty of work to be found doing native GUI programming. I have spent 2014 - 2018 doing Forms/WPF GUIs for life sciences labs, and at least for those customers I can assure they aren't going to switch to Electron, more likely Qt or WinUI when time comes.
- DaiPlusPlus 6y agoYou've betrayed your own point by admitting that though: WinForms and WPF aren't native - (well, WinForms is a a thin abstraction layer, but still not truly native). If you're using WPF today you can probably switch to Electron without your users noticing anything (besides a 10x increase in memory usage...)
- pjmlp 6y agoThey are native UIs of the Windows platform, built on top of Win32, GDI+ and DirectX. There is so much that the Web still fails short of WPF.
- Const-me 6y ago> you can probably switch to Electron without your users noticing anything GPU support is not good enough in the browsers. Even 12 years old Direct3D 11.0 is way better than the current WebGL. In WPF, it’s relatively easy to render a dynamic texture with Direct3D 11 or 12, then pass it to WPF to compose it into the GUI, without ever downloading pixels from VRAM. Similar for compute shaders. You don’t need WPF to integrate DirectCompute, but you do need convenient native interop. These C structures, typed arrays and unmanaged pointers are all over the API surface. Not sure JavaScript is good enough for the job, the language and VM were designed for very different requirements.
- jmnicolas 6y ago> If you're using WPF today you can probably switch to Electron without your users noticing anything A WPF app will load much faster and feel more integrated (more Windows like) than an electron app. I have a C# / WPF app that I optimized to the best of my capacity but that still needs about 1 minute to compute data. I shudder to think how long JS would take to do the same job.