Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-swt-dev] Mac OS X Port

Hi Ringo,

Because Carbon is a C api as is the lowest level Windows widget API?

No, because Carbon's level of abstraction is *low* enough to get the SWT details right!
As a Eclipse JDT UI developer and therefore SWT user
I know that the SWT API is one thing and its 'dynamic behavior' in a real application is another thing. Ensuring that the same application code results in the same application behavior on different SWTs implementations (no platform specific 'ifdefs'!) requires a tremendous effort of the SWT developers! And it requires that you have the flexibility to access lots of low-level stuff. Cocoa (or Swing, or AWT) is more like SWT itself: it is high-level and hides all low-level details. If you are lucky you can map every SWT abstraction to a Cocoa abstraction. But a single detail required by SWT that is not available in Cocoa can kill you!

I mainly developed in Java so far. Didn't do any C/C++ programming on any other platform I used. This also means that I'm not familiar with the path that Apple takes concerning their libraries. Correct me if I'm wrong, but isn't Carbon a temporary (even long term) migration path for Classic to OS X conversion? My idea of the whole situation is that Apple is pushing developers to go the Cocoa way and only to use Carbon for a first port of an app to OS X and then start mixing Carbon with Cocoa, finally resulting in a pure Cocoa app. If this is the case, I would not like to do a binding to Carbon.

Yes, the NeXT guys at Apple see the future in Cocoa. However Apple's history is not based on NeXT's applications and APIs and Objective-C. Most current MacOS X productivity applications are Carbon-based (And I'm using one right now and I see no problem with them). And in todays world Objective-C looks somewhat strange. Apple has spend a tremendous effort in the Carbon libraries which run both on MacOS 9 and X. For the forseeable future (> 5 years) Apple will support and improve them and will make certain useful Cocoa features available.

I would not try to implement SWT on top of Cocoa without Apple's support.
But SWT on top of Carbon is possible (BTW: I ported our ET++ Application Framework (= SWT+JFACE) to the Mac Toolbox and lately to Carbon without problems).

My 0.02 CHF...
--andre


Back to the top