Mailing Lists: Apple Mailing Lists
Image of Mac OS face in stamp
Re: How to create a custom cursor using Carbon ?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to create a custom cursor using Carbon ?




On May 23, 2006, at 2:01 AM, Graeme Gill wrote:

Eric Schlegel wrote:
On May 22, 2006, at 9:37 PM, Graeme Gill wrote:

Cross platform compatibility, historical reasons, and simplicity. If I mix in any other language, it will be C++ to be able to use WxWidgets, again for cross platform compatibility.

OK, but keep in mind that Objective C is probably the most common language being used today to provide new system services in Mac OS X. It will become more and more difficult to build a fully savvy Mac OS X application without using some Objective C-based APIs. It would behoove all Mac OS X developers to become familiar with Objective C.

This seems like a really bad move to me. There's a bigger world for applications than just MAC OS X, and confining full functionality
to a language that's effectively platform specific, seems like an attempt at "lock in". Since it's easy to call C code
from C++ and (presumably) Objective C, not to mention lots of other languages (ie. scripting languages), it would
seem to me that the sensible approach is to create base system API's to be C compatible, and base other language
bindings on top of that.


The alternative for cross platform development is probably a horrible translation layer, where Objective C API's are encased in C, so that
they can be invoked from other languages. Needless to say, if that is the only alternative, full MAC OS X support will probably
lag behind, and there will be fewer applications for the platform.

It might seem this way at first, but in general this is not a problem.

There is going to be an impedance mismatch between cross platform code and any platform specific services you need. Moveover if the service is platform specific on one platform, it is likely to be specific to any other platforms as well (i.e. unless you use OpenGL, the graphics libraries of modern OSes are all different API). Typically, the operating system services you have to call through Objective-C are prime examples of this (many represent technologies that don't even exist on other platforms)... even if the calls themselves were straight C routines, they wouldn't do you any good whatsoever on another platform.

If you want to create a cross platform API you will typically wrap that code in your own abstraction layer. Since the service is likely to be platform specific on every platform you're going to need a "Horrible Translation Layer" on every platform anyway. Calling Objective-C in the Macintosh implementation of that layer is requires very little in the way of logistics.

Scott


_______________________________________________ Do not post admin requests to the list. They will be ignored. Quartz-dev mailing list (email@hidden) Help/Unsubscribe/Update your Subscription: This email sent to email@hidden
References: 
 >How to create a custom cursor using Carbon ? (From: Graeme Gill <email@hidden>)
 >Re: How to create a custom cursor using Carbon ? (From: Eric Schlegel <email@hidden>)
 >Re: How to create a custom cursor using Carbon ? (From: Graeme Gill <email@hidden>)
 >Re: How to create a custom cursor using Carbon ? (From: Eric Schlegel <email@hidden>)
 >Re: How to create a custom cursor using Carbon ? (From: Graeme Gill <email@hidden>)
 >Re: How to create a custom cursor using Carbon ? (From: Eric Schlegel <email@hidden>)
 >Re: How to create a custom cursor using Carbon ? (From: Graeme Gill <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2011 Apple Inc. All rights reserved.