Hi Brett,
Thanks for the input. But I also heard about Code Warrior. What do you think of it?
Main Topics
Browse All TopicsI am from the Windows programming World and wanted to get a quick start on Mac programming. I did a quick preview on Cocoa at the Apple Developer Site. I just wanted to know if Cocoa is much different from C++ and MFC++. I'm not even sure if it's a good analogy between the 2 worlds. I would appreciate any Mac expert who'll give some ideas.
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
Code Warrior was the only reasonable IDE for doing development on the classic Mac OS.
It is still used by many developers that maintain Classic apps for OS 9 and Carbonized apps
for OS X. I have never used it, so I can offer no opinions. It also costs money.
XCode derives from the NeXTSTEP development environment and is the preferred IDE for
doing Cocoa apps for OS X. It is also free from Apple. It ships on the "Developer Tools" CD
of the Mac OS X 10.3 distributions, and may also be downloaded from Apple's Developer Page:
http://developer.apple.com
Mac OS X presents several programming interfaces to the developer:
Cocoa - Objective-C/Objective-C++:
that derive from the NeXT OpenStep specification. Apple recommends new application
development on OS X use the Cocoa APIs.
Cocoa - Java: Java interfaces to the Cocoa Frameworks. Allows Cocoa development
in Java rather than Objective-C. Cocoa Java has not tracked newer frameworks
(most notably the AddressBook APIs). Although they are Java apps, Cocoa Java apps
are not generally portable across platforms in the same way that a Java app that makes
JNI calls to Win32 APIs are not portable.
Carbon - C/C++: These APIs derive from a subset of the original classic Mac OS toolbox.
These APIs allowed developers of classic Mac OS apps to create applications that would
run on both Mac OS 9 and Mac OS X. The Carbon interfaces also provided a path for
classic apps to move to OS X. Microsoft Office, Acrobat, and Quark are examples of
Carbonized apps.
AppleScript: In the past, I wouldn't have considered this a viable development evironment.
I don't think Apple even includes it in this list. However, recent Apple apps have become
highly scriptable and Applescript Studio has matured significantly.
Classic: This is basically a Mac OS 9 emulation environment that runs under OS X.
It runs most older Mac OS apps that have not been ported to OS X. It is an emulation
environment, llike Virtual PC or vmware. Since I was not a classic Mac user, I have
only run the Classic environment once or twice in the last 4 years. I believe that
never running Classic has resulted in an extremely stable OS X environment. I have
not suffered upgrade/preferences/datalo
Java: OS X has been closely tracking the releases of Java. OS X 10.3.4 includes
Java 2 v1.4.2. The java environment includes AWT and Swing implementations that
closely integrate with OS X's Quartz Display system. Many Java developers (including
James Gosling, Java's creator) consider OS X to be the best Java development platform.
Other developers complain that Apple doesn't provide developer previews of upcoming
Java releases.
WebObjects - Java: A server-side Web application development platform that derives
from NeXT WebObjects technology. WO provides extensive OO interfaces to
enterprise databases. WO apps are also portable, running on most Unix and Win32
Web deployment platforms.
BSD: This allows nearly any traditional Unix application to easily be ported to OS X.
Compiled apps usually only need to be recompiled. Interpreted apps and scripts
usually just run. OS X 10.3 added an X Window server and a Python installation.
The Fink project (fink.sourceforge.net) provides an environment to manage
dependencies and installation of thousands of traditional Unix apps for OS X.
XGrid: It may be a stretch to include this preview technology. XGrid provides a
framework for the development of cluster-based applications. It derives from the
NeXT Zilla distributed computing framework. It provides the construction of ad-hoc
clusters from idle Macs.
Can I use Xcode in other platforms like windows or Linux?
If it cannot be used, what is the alternative I can use for developing iphone Applications in windows.
I have an iMac to perform the final check. But nearly 5 developers are there. So which tool can I use to develop the application from windows(since I have no budget to purchase 5 macs)?
Sreejith
sreejth22,
You *could* possibly use XCode to develop generic Unix apps for Linux, but it is unlikely that you could use it to develop Windows apps.
You would not be able to run XCode on Windows or Linux. XCode itself only runs on Mac OS X. Most other components of the iPhone developer environment also only run on Mac OS X.
However, remember that Mac OS X is a true unix environment. You can set up multiple user accounts on your iMac and have your developers rlogin or slogin to the machine. If you want to forego the GUI IDE of XCode, you can still develop applications from the command line. [XCode itself is just a shiny wrapper over the GNU compiler utilities.] Indeed, I do most of my development on Mac OS X using emacs in a Terminal window - but I am very old-school. You could also use fast-user-switching to allow your developers to be simultaneously logged in to the Mac OS X GUI environment, but they would still have to fight over control of the keyboard/mouse/screen.
I don't develop iPhone apps, so I'm not using the iPhone SDK. I don't believe it requires an intel-based Mac, however. Buying your team several used Macs might not be as costly as you think. You do run the risk of your developers liking Mac OS X as a development environment and not wanting to go back to developing on Windows. That was my case.
Business Accounts
Answer for Membership
by: brettmjohnsonPosted on 2004-06-02 at 16:59:26ID: 11217953
It is not a completely unreasonable analogy. XCode, like Visual Studio is a ivers, etc
fairly complete IDE for developing applications. Like Visual Studio, XCode is
extensible, allowing development of applications/frameworks/dr
in any (or a combination of) several languages, including, ANSI C, C++,
Objective-C, Java, and AppleScript. It provides project asset management,
editor, class browser, incremental compiling and linking, integrated debugging,
and a GUI interface builder.
The Cocoa frameworks tend to be a bit cleaner and more consistent OO
frameworks than MFC. Cocoa AppKit objects tend to be higher level than
MFC objects and extensive delegation hooks avoid excessive subclassing.
Mac OS X w/ Cocoa (and its NeXTSTEP/OpenStep predecessors) has been my
preferred development environment for 15 years.