Functional Overview Cocotron Differences Platform Specific Resources Optional Libraries Sharing Modifications

COCOTRON FUNCTIONALITY

There is a lot implemented.

There is a lot not implemented.

Be mentally prepared for complete failure to compile your program for another platform on the first try or the 100th try, and then repeat that failure getting it to run properly. Some programs will have few problems, some will have a lot.

Generally speaking, newer classes and technologies are not implemented. More commonly used classes are typically implemented first

Don't get discouraged, after-all this has been largely a one and sometimes two person project, more contributors will mean more functionality.

ARC

Newer compiler features which require runtime support, such as ARC, are not implemented. There is an effort to get these done but it is slow going, compiler modifications and runtime work must be done.

Quartz

Of course it would be exciting if I had this whole huge implementation of Quartz done, but I don't. There is a rudimentary CoreGraphics API implemented. This is sufficient for a ton of stuff but can falls apart when you want to do more sophisticated graphics transformations.

There is an optional plug-in based on the AntiGrain library which is more performant and offers a different feature set

nib's

Text and binary nib's can be read. There is a large amount of nib reading logic in place, but some of the newer controls may not have full nib reading capability.

Text System

The text system is functional for simply laid out English but falls apart when you need better glyph support or fancier layout. Very rudimentary RTF parsing in place, no HTML support.

Some things not implemented at all, or barely working
  • AppleScript classes
  • NSDecimal*
  • NSPort*
  • Distributed Objects

There is obviously more missing not documented here, the easiest way to get started is to just start compiling your program and fix the failures, rinse, repeat.