Re: [LONG] Making the right choice (was Re: How viable is Cocoa development?)
Re: [LONG] Making the right choice (was Re: How viable is Cocoa development?)
- Subject: Re: [LONG] Making the right choice (was Re: How viable is Cocoa development?)
- From: "Erik M. Buck" <email@hidden>
- Date: Sat, 26 Jan 2002 20:03:09 -0600
- Organization: EMB & Assocites Inc.
>
1) If I want to take full advantage of OSX, and have fastest access to
>
the latest and greatest capabilities of the operating system as it
>
evolves, should I use Cocoa or Carbon??
Carbon.
>
>
1a) When Apple implements new feature FOO or new technology BAR
>
in OSX, do I get to use FOO and BAR first in Carbon or Cocoa?
Carbon
>
1b) Right now (today!), can I access the most OSX features and Apple
>
technologies
>
using Cocoa? or Carbon?
Carbon does not need Cocoa at all. Many people feel that it is not possible
to make a Cocoa application that Mac users will like without using some
little bits of Carbon.
>
1c) Is it feasible to develop primarily in Cocoa, but use APIs from
>
Carbon? (or vice versa)
Cocoa applications may need Carbon. Carbon applications do not use Cocoa at
all.
>
1d) What is available in Cocoa that is not available in Carbon?
Drawers, services, 1/5 the number of lines of code, consistent and powerful
text widget, some panels.
>
1e) What is available in Carbon that is not available in Cocoa.
Lots of stuff already cited in this thread. It is also important to note
that many former Openstep APIs have been dropped in favor of arguably
inferior Carbon ones meaning that Carbon is growing and improving while
Cocoa is shrinking, devolving, and gaining bugs and performance problems
that it did not used to have.
>
1f) If I want to use the standard BSD features of OSX in my app, are
>
there issues which
>
make Cocoa a better choice than Carbon (or vice versa).
Cocoa probably is better because it has a history along side BSD. There is
less of an impedance mismatch between Cocoa and BSD, but Carbon can use BSD
also.
>
1g) If I want to integrate unix-based non-Apple technologies into my
>
application such as
>
Qt, IMSL, or third party C libraries, is Cocoa or Carbon the
>
right choice??
All existing integration is Carbon to my knowledge. Qt is build on carbon
for OS X. Java Swing is build on Carbon. Many C libraries don't depend on
Carbon or Cocoa.
>
>
My choice of technologies must be palatable to my management. The
>
pointy-haired ones do not understand technology, they understand
>
simplistic drivel like "Microsoft uses Carbon" or "Adobe makes $40
>
billion using Cocoa". So the question is:
>
>
2) Who are the big name (non-Apple) vendors shipping Cocoa applications
>
who can make management comfortable with my picking Cocoa as a
>
development technology?
There are none besides Apple.
>
2a) If I choose Cocoa, are there other sources of simplistic drivel
>
that might be
>
acceptable to the pointy-haired ones?
There were many marketing studies and a code comparison monitored by a
neutral party and lots of anecdotal evidence that Cocoa is 3 to 10 times
more productive for programmers than other technologies. However, in the
economics of software, programmer productivity is not always important.
>
3) Is it possible for Apple to ship OSX without Cocoa support? Without
>
Carbon support?
Anything is possible. It is more likely that Apple will ship the Cocoa
frameworks with future OS versions if only to keep their own applications
working. However, they may change the license so that third parties can not
use the frameworks. Apple did exactly that with Web Objects 4.1 and
Openstep Enterprise 4.2. It is still possible to but Web Objects 4.1 and it
runs on Windows NT complete with Interface Builder and project Builder and
Display Postscript and all of the frameworks. Apple modified the license so
that third parties are not allowed to use the frameworks. They can not be
used except by Apple's own applications.
>
>
3a) If Apple shipped an OSX without Cocoa (Carbon?) support tomorrow,
>
how
>
many shipping products (non-Apple) would be affected.
No product that Apple cares about would be broken if Apple forbid third
parties to use the Cocoa frameworks via license change. Why might they do
it ? Because it costs money to maintain Cocoa and answer developer question
and they don't want to spend the money. How about because they regard it as
their competitive advantage for their own apps and they don't want to have
to compete with other companies using Apple's own technology.
>
3b) If I shipped a Cocoa or Carbon App and Apple stopped shipping
>
Cocoa or Carbon
>
support with OSX, is it *possible* for me to provide a
>
functional application environment
>
without Apple's help.
Anything is possible. Ask about practical.