An old programmer is a new programmer again

Discussion in 'Mac Programming' started by jbucaran, Jun 1, 2009.

  1. jbucaran, Jun 1, 2009
    Last edited: Aug 13, 2011

    jbucaran macrumors newbie


    Aug 7, 2008
    • Database access and what options are available.
    • Creating documentation / help for applications.
    • Recommended software for designing beautiful icons for applications (as those traditionally found in every app).
    • Creating custom binary data files as well as text files.
    • Developings games (OpenGL, other options).
    • Interoperability with Windows only data like Access files, executables.
    • Internet access, URL requests, fetching data from REST resources.
    • Manipulation of basic OSX UI devices like the Dock, Menu (status panel in the top), KeyChain, iSight, etc.
    • Running applications in the background (does that even make sense?)
    • Interoperability between Cocoa applications written in Objective-C, Ruby, etc.
    • Packaging and distributing the application

  2. kainjow Moderator emeritus


    Jun 15, 2000
    As long as there is a C API for a database, you can access it in Objective-C. SQLite is built-in to the OS if you need simple databases. For most common ones there are Cocoa wrappers available. Just look around.

    Apple Help Programming Guide. Basically they're HTML pages that are viewed with Help Viewer.

    Photoshop. If you're not a designer, hire someone to do this for you.

    NSData, NSFileHandle, NSString.

    There are game libraries you can use (for example Unity). You can role your own via NSOpenGLView (which I did for a small game).

    You'd have to use some third-party library to read Access files AFAIK. What do you mean "executables"? You can't run those directly, but you could with virtualization.


    NSDockTile, NSStatusItem, Keychain Services Programming Guide. For video recording look at the QTCapture* classes in QTKit.

    Look up LSUIElement

    You can write Cocoa apps in Ruby, Python and Objective-C, but I'm not sure if you can mix it up since Ruby and Python are interpreted languages.

    For 99.99% of apps you'll just place your Release build in a DMG and upload it. You can use PackageMaker to create a package which then is installed with the Installer utility.
  3. lee1210 macrumors 68040


    Jan 10, 2005
    Dallas, TX
    kainjow did a good job of covering things, but i thought i'd plaster some links here in support of some of his points:

    For small things, sqllite will probably be adequate. Here's the intro page, and there's plenty of other documentation:

    If you need to run a larger database, mysql and postgres run fine on OS X. I can't say for anything else. Obviously MS SQL Server is a no go, but I'm guessing Oracle is available (though I've never tried it). As kainjow said, for any of these options if you can do it in C you can do it in Objective-C, and if you'd like you can write your own wrapper class if no one has done so already.

    For storing data, if it is a small amount often the "standard" way to do this is with property lists.

    For anything more than this, an archiving mechanism is provided. You can check this out here:

    There was recently a discussion about web services:
    Unfortunately this is an area you may find less refined, simply because in Java/C# there are already tools to deal with .wsdl files and generate the code you need.

    There are all sorts of ways to run things in the background. kainjow mentioned one way to present a Cocoa app in the background, but you can also start GUI-less things with launchd .

    Here is Apple's tutorial on RubyCocoa, which leverages the bridging available:
    It is part of a larger documentation set on Python and Ruby interaction with Cocoa.

    Here is the Package Maker User Guide:
    This isn't really necessary in many cases. I find it much more straight-forward to have a DMG that has a decent custom finder window with the Application Bundle (.app) ready for me to drag to Applications (or run from the DMG if i just want to try it out).

    Good luck!

  4. mpemburn macrumors member

    Jan 11, 2008
    Bel Air, MD USA
    Hi Jorge,

    I'm pretty much in the same boat -- a developer of many years just starting out with XCode (Cocoa and Objective-C, etc). Although I'd sworn off platform-specific development for many years, I was compelled to take up Mac programming when I discovered that there was just no good, standards-compliant application for image scanning on OS X.

    My approach has been more haphazard than yours -- I tend to throw myself into the midst of things and figure them out as I go along. Now about six weeks into my scanning app (working part-time between my paying work), I have a pretty good feel for how Objective-C works and how the code interacts with the user interface. My task was complicated a bit by the need to integrate Obj-C with an API written in C (the SANE API). It is a major headache interconverting between the data types of the two languages -- especially strings. Oy!

    The Apple "Developer Connection" documentation is superb and many classes reference pages have several full applications under "Related Sample Code" that illustrate not only practical examples of the class in question but also give a good feel for the best coding practices.

    Best of luck!

  5. jbucaran, Jun 5, 2009
    Last edited: Aug 13, 2011

    jbucaran thread starter macrumors newbie


    Aug 7, 2008
  6. duggram macrumors 6502


    Apr 17, 2008
    Good thread. I quit programming in 2001 when the bust hit Seattle. Back then I made fun of Mac! Not now. Back then I worked in VB for 3 years, Java for 5 years and earned a certificate in C++ from UW (Java wasn't available at the time). Life was good till they started locking doors, putting people out of work.

    A recruiter told me to go back to OR nursing. I had >15 years experience at it, but hated it. Now I'm in New Mexico, got busted up in a motorcycle accident and can't work. Also recently married a successful physician. She supports my desire (and me) to return to programming.

    A year ago I got a MBP, played with terminal, installed Netbeans and did some recreational programming on simple stuff. Fell in love with Mac OS X. But I still have a good Vista laptop that I'm sure will come in handy.

    Now I see a lot of ads for iPhone developers. Got a bunch of Macrumors recommended books and I'm hard at it. First with Cocoa/O-C on the MBP, then I'll start with iPhone. Signed up for Mac dev program. Reminds me of Microsoft in the 90's.

    If you have any other advice, I will be paying attention. BTW thank you for what's here already.


Share This Page