Electron.
While I’m singing the praises of Electron apps, I should also praise the memory efficiency of Catalyst apps, especially Apple’s own. 1.5 GB for a single-window app.
@gruber Catalyst apps are native apps using native APIs, so whatever News is doing, I don't expect it would use any less with a different technology; it probably has a lot of WebKit going on, to be fair, and whatever you're caching
@stroughtonsmith @gruber Your point is correct but calling Catalyst apps native is the most weird thing.
@helge @gruber …they are native? Catalyst is native to macOS and has been for six years now; it powers major system apps and system features
@stroughtonsmith @gruber They are certainly not native. Yes a set of builtin apps (like Messages) use that zombie and that is awful.
What system features does it power?

@helge @gruber …how do you personally define native? Because virtually the entire OS is Objective-C/Cocoa, so if you're writing Swift code it's all 'non-native’ 😅 That's a bolt-on runtime with a translation layer and non-native idioms.

If it emits native code, talks to the same system frameworks, and is used to build the system apps, it's ‘native’.

@stroughtonsmith @gruber For me native means that it follows the system UX conventions, UIKit is of course closer to that than say Electron, but it is still quite off. Just like you can easily tell an Electron you can usually tell a Catalyst app (eg via resizing behavior)
What language is being used doesn’t matter that much for me, a PyObjC Cocoa app can be perfectly sound.
An app using a different framework isn’t native 🤷‍♀️
@stroughtonsmith @gruber I acknowledge how much effort goes into making sth like Messages feel like a native app, but imo it would be easier to just make it one 🙃
It’s the prototypical cross platform mistake, massaging it for one foreign platform is actually harder than just doing it proper from the start.
@helge @stroughtonsmith @gruber Would a game written with crossplatform middleware like Unreal Engine or Unity be “native”?
@helge @gruber a bad app is a bad app; I ain't got no problem with window resizing 😛 The simple fact is you likely have no idea you're using Catalyst apps until you come across a bad one, which is the way it should be. Either way, it’s still native, maybe even Apple’s /preferred/ native solution for system apps, considering it’s taken over a good 30–40% of them in just a few years 😉