Hacker News new | ask | show | jobs
Ask HN: Would you choose Cocoa or Qt for a desktop application, and why?
1 points by loluyede 6339 days ago
I know that Cocoa is not cross platform and Qt is, but suppose you have to start from scratch, which one would you pick, and why?
5 comments

I'm assuming you are writing your desktop application for the Mac because you are considering Cocoa, if you're starting from scratch that's an excellent reason to pick a platform independent library.

That choice is one you usually make only once in the lifetime of an application, you'd better make the right one. And I'd widen the field a bit to include other options not limited to Cocoa and Qt. If you have a success on your hands you'll really regret not being able to easily support other platforms.

Let's turn it around, what compelling reasons would you have for choosing Cocoa over a platform independent solution ?

I think about TextMate success story where the author decided to go with the platform dependent library to make it shiny and not waste time fixing behavior bugs due to the multiplatformness
It depends. If I were to write an app that I was sure was only for macs, I'd write Cocoa only. I find it a joy to develop for.

If platform independence is important, I'd still choose Cocoa but try to wrap the main functionality in platform-agnostic C/C++ or the like.

I would choose Cocoa because it is awesome. You will have so much more fun. It is also the only way to create great Mac apps that have a correct native feel.

Personally I think C++ is a big wart compared to the beautiful simplicity of Objective-C.

Got it, I was thinking about PyObjC anyway
I've been critical of QT's somewhat restrictive license in the past, but the only reason not to use it with their coming shift to LGPL is the lack of iPhone support.
Obviously I'm considering QT only with the new license.
Maybe Apple's implementation of Cocoa is Mac-only, but if you use something like GNUstep you can have the Cocoa APIs on other platforms.