Ask HN: Would you choose Cocoa or Qt for a desktop application, and why?
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
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.
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.
Personally I think C++ is a big wart compared to the beautiful simplicity of Objective-C.
Got it, I was thinking about PyObjC anyway
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.
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 ?
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