Carbon or Cocoa?

I’ve developing under Carbon and wonder if I should convert to Cocoa. I’ve noticed the comments on slow list boxes and my App accesses databases directly, so this could be an issue. Is it a big deal to convert from Carbon to Cocoa later?

We are at 10.9.x, Carbon is not supported anymore.
10.8, 10.7 and 10.6 are gone. There are very few users with OS < 10.6. All those run Cocoa.
Hope this helps you with your choice.

Unless you app uses specific Carbon Declares, why don’t you simply change Framework in the OS X build setting an run the app ? Chances are your code will run fine, and you will be able to see how the program performs.

I have done that with apps created back in 2002 for PPC, and they run perfectly under Cocoa without a change :slight_smile:

If you are making use of Threads, be aware that accessing UI from within the thread is verboten. Otherwise, there are minor differences in apps but for the most part I think you’ll like working with Cocoa apps better. Carbon projects had some longstanding issues that just don’t happen in Cocoa.

Good info, as the last time I used a Mac more than in passing was System 7 (remember that?), which was awhile ago!

System 7 was the first to support fonts adequately :slight_smile:

Define “adequately” :slight_smile:
Supported a few thousand Macs running system 6 and they dealt with fonts … awkwardly (Font DA mover anyone?)
In 1991 System 7 came along and it was a ton better since you no longer required Font DA mover
Man that was long ago & far away

[quote=80607:@Norman Palardy]Define “adequately” :slight_smile:
Supported a few thousand Macs running system 6 and they dealt with fonts … awkwardly (Font DA mover anyone?)
In 1991 System 7 came along and it was a ton better since you no longer required Font DA mover
Man that was long ago & far away[/quote]

Eons ago. When System 7 came out it enabled my then software publishing company now defunct to release a pack of 101 shareware fonts. Without the Fonts folder, Font/DA mover would have generated so much support request it would have been impossible…

In a way, iOS is going backwards it seems. It came out with no way to install fonts, and while it seemingly reluctantly became possible lately, font install is still just as cumbersome as Fonts/DA Mover today :wink:

My only questions would be, will apps compiled in Cocoa run in older Macs? What’s the cutoff point for support?

With the latest Xojo, the cutoff is OS X 10.7.

Will apps compiled in Cocoa run in Mac before 10.6? How far back does Mac support go for Cocoa?

No, the current version of Xojo will only create apps that run on OS X 10.7+.

RealStudio 2011 already could build Cocoa apps, but it was beta. So it does go back in time, but may not be as reliable as today’s.

You may want to generate two versions, one for 10.7 and newer, and one for before…

Cocoa goes back foreverish. If you’re trying to build for pre-10.4 you’ll see lots of compatibility problems.
However you can’t even build for pre-10.7 without the SDKs for it. (You’d need older versions of Xojo/RealStudio/REALBasic)

Honestly if you need support that old, you’d be better off with a web app. It seems like your app is for data presentation and storage, which is entirely doable.

To clarify a few points in this thread:

  • Carbon is present in 10.9 and still works just fine. It has been deprecated by Apple, though, and no major additions or fixes are planned.

  • This is also true of Xojo’s Carbon support. Only show-stoppers in Carbon will be fixed from here on out (true, Xojoers?)

  • I wouldn’t even consider using any older version of Xojo for Cocoa development. Only in the past few release-years has it become truly stable to the point where I would consider using it for a serious application. Previous versions were very, very shaky.

  • I also wouldn’t worry about pre-10.7 users. If this chart can be believed, they constitute around 20% of the market - and they’re probably the problematic 20% of the market, running fairly old hardware.

They are 20% of APPLES market… but may be 100% of a given niche developers market…

Well, my father-in-law is very annoyed with Apple as his iMac is running Snow Leo but Snow Leo is no longer being updated (especially with security and Safari etc). His words: “It’s a four and a half year old operating system!”

He has a point.

And no, he can’t update it to a newer OS. And not everyone wants to even if they can.

So any developer dropping Snow Leo could similarily irritate his customers.

People may also want to stay with Snow Leopard to keep Rosetta…

Like others, I had in time to manage the transition between System 9 and OS X, then between PPC and Intel. It does take longer than 4 and a half years for computers to retire. Heck, I still have a PPC Powerbook Wall Street from 1998 which works as new. http://lowendmac.com/1998/wallstreet-powerbook-g3-series/

Each time Apple jumped from one technology to another and made previous platforms obsolete, there was the need to support both the old and the new. In other words, to have two versions to suit all customers. As time goes, the old version users become less and less, until there is nos demand at all.

The issue is how should customers still using older systems be supported, and through which channel. The MAS refusal of programs with QT and QuickTime effectively condemns 2013R3.3 builds to oblivion, or at least to no more update. So supporting 10.6 becomes possible only through other channels such as independent web sites. Then users have a much harder time locating software for their system.

Frankly, it does not cost too much to keep a 10.6 version on the shelf. Should all efforts be put into a new compile for it instead of pursuing 10.9x and soon XX ? I doubt it.

[quote=80746:@Markus Winter]Well, my father-in-law is very annoyed with Apple as his iMac is running Snow Leo but Snow Leo is no longer being updated (especially with security and Safari etc). His words: “It’s a four and a half year old operating system!”

He has a point.

And no, he can’t update it to a newer OS. And not everyone wants to even if they can.

So any developer dropping Snow Leo could similarily irritate his customers.[/quote]

The percentage of machines that can run Snow leopard but cannot update is very small
It’s only the original Core Duo’s as far as I can tell that literally cannot as they are only 32 bit CPU’s
Every other machine after those can - the question is whether people will.
I have one of those mini’s and it cannot run anything newer but then that machine is 6+ years old

It is not about the age of the machine, it is about how long you support the OS. XP was supported for 14 years, so my father-in-law (a switcher) is understandably unimpressed.