I need Mac programming resources.

I’ve been hired to develop a piece of software for a small business (don’t ask me what it’s for, I signed an NDA). He wants it to run on a Mac if possible, but I’ve never programmed on one before. I have done some projects in Linux, but not with the GUI. I plan on writing the backend in C++, possibly with an interface to an SQL database. There may also be a module for entering data on a handheld device and transferring it to the main application for processing. The GUI portion should be fairly straightforward, as most of the requirements are for crunching the data.

So Macheads, I need some help. I need recommendations on compilers, reference books or websites, tips on GUI programming, info on transferring data from various ports, anything else you think is the most useful for this Mac novice.

Off the top of my head:

Assuming we’re talking MacOS X here, one of the discs that came with the OS should be a “Developers’ Tools” CD. Install that, if you haven’t already – not only do you get the compilers and debuggers and documentation, but you also get Apple’s IDE, either Project Builder (MacOS X 10.2) or xCode (10.3).

You should be able to get things going by building the GUI front-end with the tools, then linking them up with your C++ back-end code. I think that requires a little bit of conversion between Objective-C and C++, but am sparse on the details myself – learning Objective-C and Mac development is one of those “I’ll get to it someday” projects I keep putting off…

Read the [http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/XHIGIntro/chapter_1_section_1.html]Apple](http://developer.apple.com/documentation/UserExperience/Conceptual/OSXHIGuidelines/index.html?[url) Human Interface Guidelines. Apple users are uncommonly demanding about software usability; it’s the main reason most of us tolerate the inconvenience of running a Mac in a Windows world. If you’ve never written for the Mac before, you can’t assume the GUI will be just a formality, even for a fairly rarefied data-crunching app. Your client will be more pleased with the results of your work if it conforms to the rules of Mac usability he/she is undoubtedly accustomed to.

Here, let me clean that up for you …

Apple Human Interface Guidelines

Thanks people. I don’t know what OS it’s for, actually. The client was going to loan me a Titanium PowerBook to use, since the only Mac I have is an old Performa 575. He came to me because he does work for my wife’s law firm, and he’s willing to accomodate my non-Macness. I’m going to write up an estimate of my research and development time and give that to him before I actually start with the project.

Another possibility is to simply program it in Java with SWING. MacOS X is froopy about that, and you’re platform-independent to boot. :slight_smile:

Froopy? :confused: