Hacker News new | past | comments | ask | show | jobs | submit login

I know what you mean. Would love to just have AppKit/UIKit with some platform integrations (e.g. correct widget themes) on other platforms. Closest that exists to that is GNUStep, but it’s stuck on an old version of Objective-C (no Swift) and targets something like OS X 10.6 with API compatibility.

Outside of the that the next closest I’ve tinkered with is GTK, but since version 3 it kinda gave up on looking right running under anything but GTK/Qt-based desktops. It’s easy to make idiomatic bindings for which is nice though.




Yea, GNUstep isn't bad.

It uses an old version of ObjC? Are you sure that's correct? ObjC is open source right? There is no reason to be using an old version.

Yeah the frameworks are kinda old but the new frameworks (since ~2014) don't really bring anything new to the table. And Swift is overrated anyway.


Not entirely sure about Obj-C version.

Disagree regarding frameworks, though. The newer snapshot-based APIs for NSTableView, NSOutlineView, and NSCollectionView (added in 2020 as part of macOS 11) are a massive improvement over the old index-based ones for example, and there’s been numerous polish and quality of life improvements scattered throughout.

Also disagree about Swift if only for the large number of things it comes with out of the box that’d require a third party dependency with Objective-C, but so many more errors being caught at compile time, no need to maintain header files, and no awkward split between C and Obj-C for basic types are nice too. I still enjoy Obj-C for some types of projects but as project complexity increases so too does my preference towards Swift.


Oh I didn't realize they were still adding APIs to AppKit. That's cool.

Yea I mean the ObjC vs Swift thing.... a matter of preference. I trust Steve Jobs more than I trust Tim Cook. I hate the feature creep in Swift. I hate Swift optionals. ObjC compiles faster than Swift. The ObjC ABI/runtime is superior to the Swift ABI/runtime (which allows for cool stuff like https://cycript.org). I like the dynamic typing a lot. Managing headers is a non-issue for me, I just consolidate everything into one monolithic header file.

I've worked in pretty big ObjC codebases (1M+ lines) so I know most of the tricks to deal with complexity. For Swift, max I've dealt with is 100k lines and it was crippled with tech debt. Frankly, the other engineers on the team were terrible, so maybe that's why. They abused the shit out of RxSwift and refused to use the `!` force-unwrap optional feature




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: