• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Super Newbie
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Super Newbie


  • Subject: Re: Super Newbie
  • From: Scott Ellsworth <email@hidden>
  • Date: Tue, 4 Nov 2003 14:04:24 -0800

On Nov 4, 2003, at 12:38 PM, Timothy Johnson wrote:

I am new to OSX development, heck I just purchased my first Mac last week. I am interested in programming Cocoa apps for OSX, and I have the latest Xcode from Panther. I need a kick start guide, because I don't know the first thing about using it.

Your best bet, then, is to get a raft of Cocoa books and start reading. I, personally, loved Aaron Hillegass book on Cocoa development, and I found the Anguish/Yactman book useful. I did not get as much out of Vermont Recipies (Bill Cheesman) as many, but a friend of mine thought that beat the pants off of the other two. Thus - I would probably grab all three, and read them in alternating shifts until they make sense.

Also, you will want to play with the examples in /Developer/Examples, as these can teach you things you would not otherwise know. For example, none of the books I listed above describe the brand new Controller architecture in Panther, which can save a lot of time.

[...]

Carbon is mostly used as a migration path from OS9 and previous apps. I don't need to use it if this is the predominate case.

It is also useful if you are primarily a C++-based shop. I suspect you do not need it.

Cocoa is for developing OSX native apps.

Correct.

Objective C and Java are used in different areas. This is where I get boggled.

Both are very good languages. I prefer Java myself, but you will find the vast majority of the Cocoa developers use Objective C, and thus you will want to get at least sufficient familiarity with it to read the code examples. Were I starting from scratch, I would start with ObjC, and if it gets annoying, try similar examples from Java.

You would still be writing a Cocoa app, and laying out the interface in Interface Builder, but you would use the Java language to program it. Personally, I find this quite effective, especially since I am very familiar with many existing Java libraries that do things I need to do.

For what it is worth, ObjC is the native language for Cocoa.

If you want a cross platform app, you cannot use Cocoa and its cool tool Interface Builder. You would use pure Java and the Swing UI library. This can be learned by going to Sun's site and going through the Java tutorial. Most of my paying work comes from pure Java swing apps. Again, this is not using Cocoa at all.

Are apps programmed using a combo of cocoa and java (for instance) or are entire apps done in cocoa?

Cocoa apps (which are Mac-only) are done entirely in Cocoa usually, and are usually done in Objective C or Java.

Pure Java/Swing cross platform apps are done in pure Java.

I hear AppleScript can make full featured programs, but i assume that since it is a scripting language and not compiled that it is slower once your application gets larger.

Applescript is a great way of assembling pre-existing tools to make usable apps. This is often used to wrap a command line unix tool in a pretty GUI shell. Carbon Copy Cloner is one of the more famous ones.

Since the heavy lifting is usually done by the command line tool, speed is rarely a problem.

Unless you have a pre-existing command line tool you want to wrap, I suspect you would be better served by using Cocoa.

Thanks for all your help sorting this out for me.

Good luck, and welcome to the fold.

Scott
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.

References: 
 >Super Newbie (From: Timothy Johnson <email@hidden>)

  • Prev by Date: Re: unsigned 16 digit integer data type?
  • Next by Date: Re: Super Newbie
  • Previous by thread: Super Newbie
  • Next by thread: Re: Super Newbie
  • Index(es):
    • Date
    • Thread