@SecurityWriter Performance of native apps is also dead.

SwiftUI is slower than React.js. Opening uncached views in macOS's Settings app has 1-second lags on the top-of-the-line hardware.

Presumably-native Apple Music macOS app is slower and clunkier than Spotify's Electron app.

@kornel @SecurityWriter

Music and similar cloud-driven and streaming apps may be more dynamically rendered, with server-provided specs and content, than you realize. Network has a big impact. Been true for decades. Apple has lots of variation in their app quality and performance, sadly. For many reasons.

While well-written interpreted GUI apps can be fast, they are memory monsters. In general, they are orders of magnitude more expensive, time+space, than a native app.

SwiftUI is, like web, an attempt to trade-off developer ease-of-use for performance. It has similar problem: dynamic interpreters. It seems to have many design flaws, hard to use, sketchy reliability.

Native Apple apps started to suffer with new GUI layout constraints system. Many devs refused to learn how to use it properly. Swift itself has pitfalls, not all at compile time. Objective-C could be blazing fast, but was widely hated.

Many devs still don’t know how to write for network.

Former native Apple dev. I retired a few years ago.

@8r3n7 @SecurityWriter Constraints were truly awful. As limited as HTML table layout (no wrapping), but with worse usability. Blaming devs for not learning it is Apple's blindness to how bad it was. It wasn't worth learning.

I insisted on using Cocoa when Aqua had pixel-perfect design that was impossible to fake. Then it got flattened into an iOS imitation. If I'm going to have plain text gray buttons, I can implement them with CSS. DevTools are way way better than anything in Xcode.

@8r3n7 @SecurityWriter Apple stopped caring about HIG. Released half-assed Catalyst ports. Mixed iOS and macOS design. It completely lost quality and coherence.

There's no way to make an argument to follow native design, when Apple themselves don't know what native even is.

CSS is very powerful, and relatively easy these days. Chrome Dev Tools are excellent. I think this alone keeps Electron as an attractive option, even for macOS-only apps.

@8r3n7 @SecurityWriter Devs also have to have a Plan B for an App Store rejection. It's unwise to tie an application to a proprietary framework when its owner is obsessively controlling, greedy, acts like a feudal lord, and fights to keep its anti-competitive behaviors that were ruled illegal.

@kornel @SecurityWriter

OK you have strong opinions.

I'm not going to defend all of the real problems with the Apple ecosystem. I'm not happy with how most of it turned out, either. I simply had a really great time building native apps in the aughts and early tens, and never enjoyed the cowboy environment of web tech. Please don't judge.