5 ms·
ObjC++ uses C++11 (plus you NEED ObjC/ObjC++ to make calls to Cocoa).
by mhenr18 13y ago
ObjC++ uses C++11 (plus you NEED ObjC/ObjC++ to make calls to Cocoa).
- shmerl 13y agoThat's my point. Learning the language just to use some platform specific non portable technology like Cocoa? No thanks. Better to stick with what's reusable, like C++ and Qt.
- jamespo 13y agoMac users typically don't like non-native UI apps
- shmerl 13y agoThis is not specific to Mac users. Most prefer applications which integrate with their desktop environment well. It's a tradeoff. Using something like Qt will try to mimic the native UI close enough, even if not 100%. But saves you the time on learning each native toolkit. I'd say it usually pays off, and that small percent doesn't worth the effort (especially if the project is supposed to be cross platform).
- klibertp 13y agoWho downvoted this guy and what for, when he's only stating his opinion on what tools to learn if one wants to develop for desktop? And I personally think he's (shmerl) right. Learning a couple almost completely redundant APIs, but each with it's own problems, gothas and plain stupid decisions is hardly a good thing.
- tonyedgecombe 13y agoYears ago I would have agreed with you, now I'm not so sure. Most users know so little about the UI of their computers that they don't know when to click the mouse once or twice. They spend their day working on Windows, checkout Facebook on their iPhone on the way home, play a game on a Playstation then send some email using Gmail on Safari. Then you have the major changes within operating systems over recent years, Windows Vista/7 and Windows 8 both introduced major UI changes as has OS/X. Peoples interaction with computers has become much more diverse. Unless the UI is jarringly different they just aren't going to notice.
- bitwize 13y agoIron law of native desktop app development: Code to your platform's native GUI API -- no wrappers. Or your user base will notice and one-star that shit. You have less of an excuse on the Mac, which has literally the best GUI API in Cocoa that anyone has ever invented.
- shmerl 13y agoIron law of native desktop app development: Code to your platform's native GUI API -- no wrappers. Not so iron, if you have many platforms to manage. Usually it doesn't worth it to manage tons of separate toolkits for each platform, if there is no common abstraction at all. It's just too costly.
- bitwize 13y agoIf you don't mind your app looking like shit on all platforms, this is a viable strategy. A lot of specialist applications are like this: for example, I used to develop Qt-based GUI tools for robotics. If your app looking like shit will cost you significant sales -- as is the case for most productivity and design apps -- then yes, you have to port the GUI bits to each and every toolkit you're using.
- shmerl 13y agoNot true. Lot's of applications use generic abstractions and look good at the same time. Firefox, LibreOffice, VirtualBox and etc. If you don't know how to make good GUI using generic toolkits it doesn't mean it's not possible. Anyway, if you buy application for its "looks" - there is something seriously wrong already. It should look good, no doubt, but it should be functional first. >as is the case for most productivity and design apps Completely the opposite. They tend to provide completely custom, not native looking UIs, and therefore using cross platform toolkits for them only makes more sense.
- bitwize 13y agoNobody on Mac runs Firefox except to test with because it's so obviously non-native. And I wouldn't describe LibreOffice as "not looking (and running) like shit". Again, nobody on Mac actually uses it, and Windows has the real Office.