I do want to see a return to native apps but there are no worthwhile incentives to do so outside of "our customers demanded a native app."
I do want to see a return to native apps but there are no worthwhile incentives to do so outside of "our customers demanded a native app."
I work in the public sector of Denmark, which has always had native Windows apps for most of our systems. The past few years of suppliers moving to web based solutions have been such a blessing.
Out of the around 300 it-systems we operate, the ones running in a browser are build on a web-front of some sort, electron, included are by far the favoured experience among our 10.000 users. We’ve run a benchmark on our major systems for the past decade, and the only ones to break a 8/10 rating among 500+ users are based on angular, react, electron or vue.
One of our old documenting systems has a Windows application and is also moving to a web-client. The old application scored a 1.2/10 the web client scored a 8.5/10. Covid had a massive impact on this, as the native client worked horribly over a DNS, but it never scored a rating over 5/10.
You can certainly put up the argument that Danish development houses should get better at building native applications, and that’s a fair point. Reality is that they aren’t, however, so the fact that these same developers are also building the new and well received web-based UIs is a good way to show how the impact goes far beyond developer experience.
I think Microsoft is the only company that has continually scored well on native applications that see massive usage, because the office package has always been popular. But isn’t much of the modern office UI build with react?
Unless of course you're taking about pro apps like AutoCad or Photoshop; but they have never been electron and unlikely to ever be.
Because even if the customer is all-Windows, developers sure aren't (unless you're a C#-exclusive sweatshop, maybe?), and stuff like Bootstrap+jQuery is more stable than Windows GUI toolkits these days. Lower development costs and lower ongoing maintenance costs, win-win.
And outside a hard, but small core of Mac users, native controls also aren't a selling point to end users. They're harder to work with, more difficult to style, to no advantage to an end user who more often than not couldn't even tell you what the native controls of Windows are. (And I suspect most Microsoft employees can't either, if Windows 10/11 is any indication.)
You have to remember that Photoshop is pretty poorly optimized for modern hardware, a ton of it is single core constrained and they just haven’t cared about regressions, on Windows at least the whole app chokes for a second every time you drag the window around, it’s laughable.
.NET Multi-platform App UI (.NET MAUI) is a cross-platform framework for creating native mobile and desktop apps with C# and XAML. Using .NET MAUI, you can develop apps that can run on Android, iOS, macOS, and Windows from a single shared code-base.
I use Debian as my daily driver for .NET core and was looking to see how many other developers had dropped Visual Studio for VSCode, but the graph was not how many had switched, but how many want to. My mistake.
I still think ignoring linux for gui apps will hurt microsoft, we all see the success of VSCode and want to build universal apps like that for our clients too.
If it takes you two years to pick a new method, then all your developer community has to sit on their laurels. They can't invest in the old platform, they can't invest in novel tooling of their own, and they can't build with the new thing because you haven't chosen it yet.
On Windows, 90% of UI toolkits are deprecated with no support, no bug fixes, nor migration guides.
Every native app I have ever used has been many times snappier than its Electron/Web equivalent. Think on why customers demand native apps.
If Electron is what it takes then I’ll use an Electron app and not care.
Most non-tech people I know detest auto-updates.
$5 -> this looks cheap, probably poor quality
$49 -> this is quite too much
$99 -> are you kidding meCompared to what?
C code I wrote in the 90s in middle school still compiles. JS code I wrote two weeks ago probably doesn't because the mountain of dependencies has shifted somewhere.
So even though basic command-line C-apps are great in terms of maintainability they also typically do less than modern web-apps.
There are benefits to using the same language for both the front-end and back-end.
Isn't customer demands are the main incentive for any developer?