This one seems to be a native app for macOS, not an Electron app. So, hopefully this allows to achieve higher performance with much lighter resource utilization.
very interesting. i wonder about the tech behind it. always wanted to get into native mac app development but objective-c is a little daunting. i wonder if it's using swift ui?
> It's mostly custom drawing on top of a customized AppKit textview. The Cocoa text system is wildly powerful, quite hard to do pixel perfect drawing with. No OpenGL or any fancy graphics libraries.
I'd be happy to discuss! My first all-swift project. Was pretty rough at first, but Apple's done a great job of iterating on it. 100% AppKit, though. SwiftUI looks super cool, but it's just too new for me to feel confident relying on it. Plus, we currently support 10.14 as well.
thanks for replying! the app looks totally awesome. i was asking my question because i have been gathering resources for learning swift but from time to time i would read things like it's not mature enough with some macOS frameworks and you have to use objective-c. these comments and the fact that the language itself kept changing/evolving are often off-putting. but i think this just renewed my interest!
I think Swift is there now. There were some very painful migrations, but for the past 2-3 years it has been different. It is true that it's a real pain to use some C-based APIs with it, but those are pretty rare. And, often you can find a Swift wrapper for them if you really need to. I've been using ObjC for 25 years, but I'm now pretty into Swift. I'd go for it.
You should be fine using all swift now. The only thing is there are FAR more resources for learning Swift in an iOS context out there then macOS and you may have to figure some things out on your own.
Non-native apps can be as performant as native ones. I imagine they checked alternatives to Electron and figured a native app would allow them to have better OS integration.
VSCode really stands out to me among Electron apps, which is why I would be really interested in a write up about what they are doing to get it so performant (I think Rust is a part of the answer). Of course you can write terribly performing code on all platforms, but certainly some make it easier and/or have their own performance requirements.
Part of it I think is the super text heavy use case. Unlike slack for isntance that'll have N 30MB gifs (probably multiple copies of each too) in memory at any given point.
And with all the resources of Microsoft behind it still can't compete with something like sublime on performance. I know it makes up for it in other areas like extensibility but I wouldn't describe VSCode as particularly performant.
Have you tried pasting a very long line or huge file into VSCode? I always have Sublime open for these cases where I need to look at a huge JSON file as VSCode just crashes or becomes unusable.