5 ms·
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?
- jacquesm 18y agoI'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 ?
- loluyede 18y agoI 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
- makecheck 18y agoMaybe Apple's implementation of Cocoa is Mac-only, but if you use something like GNUstep you can have the Cocoa APIs on other platforms.
- st3fan 18y agoI 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.
- loluyede 18y agoGot it, I was thinking about PyObjC anyway
- yan 18y agoIt 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.
- trevelyan 18y agoI'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.
- loluyede 18y agoObviously I'm considering QT only with the new license.