Forum > Carbon

How future "safe" is Carbon - anyone knows?

(1/18) > >>

MISV:
What I mean is - if I build a solution on Carbon/Lazarus today - can I risk it will suddenly not work? And/or are people here betting on Cocoa implementation then being ready? (I am fine with not being able to build 64bit for OSX for many years or having access to new APIs)

jwdietrich:
Unfortunately, the situation with the Carbon API isn't quite clear.

Basically, it is a deprecated API that dates back to 1998. Its aim was to facilitate the transition from classical Mac OS to Mac OS X. The native API Cocoa was and is preferred by Apple, and with the introduction of Mac OS X 10.8 (Mountain Lion) Carbon was deprecated. However, the Carbon APIs are still accessible to developers and, as it is currently understood, all Carbon applications will run even in future, but the APIs will no longer be updated. Interestingly, Apple made Carbon also available on iOS, although there wasn't a need for porting applications from classical Mac OS.

If you don't use too much OS-dependent code you will be fine with the abstract LCL-based API offered by Lazarus. The Cocoa widget set is getting better and better and it received considerable extensions in the recent past. Therefore I expect it to be easy to switch the widgetset once Cocoa is sufficiently supported. Certain small applications already run fine with the Cocoa widgetset.

skalogryz:

--- Quote from: jwdietrich on March 11, 2015, 02:37:05 pm ---Apple made Carbon also available on iOS, although there wasn't a need for porting applications from classical Mac OS.

--- End quote ---
How's that? Or actually, what should be considered part of Carbon?

Are CoreXXX frameworks carbon (i.e. CoreGraphics). They're rather treated as part of Cocoa as well.
Quartz 2d? But it is considered (declared by Apple) to be part of CoreGraphics.

I'd say it's more clear to use framework names: AppKit, UIKit ... etc rather than high-level "Cocoa" and "Carbon". Besides iOS is not Cocoa, it's CocoaTouch :D

...hmm... there's umbrella Carbon.framework :) but is there Cocoa.framework?

felipemdc:

--- Quote from: MISV on March 11, 2015, 01:15:46 pm ---What I mean is - if I build a solution on Carbon/Lazarus today - can I risk it will suddenly not work? And/or are people here betting on Cocoa implementation then being ready? (I am fine with not being able to build 64bit for OSX for many years or having access to new APIs)

--- End quote ---

I am working in LCL-Cocoa. Please test your application with it and report problems in the BTS. Please attach in bug reports minimal applications reproducing the problem. That's my proposed answer to your Carbon question: Test Cocoa, report bugs.

felipemdc:

--- Quote from: jwdietrich on March 11, 2015, 02:37:05 pm ---Interestingly, Apple made Carbon also available on iOS, although there wasn't a need for porting applications from classical Mac OS.
--- End quote ---

That's because many APIs are available only in Carbon with no Cocoa alternative. Part of those are supported in 64-bits and part isn't. Also many Cocoa parts were written on top of Carbon APIs, so they had no choice but to include them. And they deprecated only part of Carbon, not all of it. But still, they deprecated a large part of it.

Navigation

[0] Message Index

[#] Next page

Go to full version