Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
0_ Tutorial Start Here.html
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Tutorial: Updating a Classic application to modern Carbon</title>
<h1>Tutorial: Updating a Classic application to modern Carbon</h1>
This document shows how to port a small program from Classic to Carbon. More than just a simple porting sample, this project shows a best-practices method to convert legacy code to a "modern" Carbon application designed to take full advantage of Mac OS X. It's intended to be a little more complicated than the one step "turn on the standard handlers and remove most of your code" porting samples, yet still small and simple enough to not have to study it for six months.
This document is aimed at developers who have programmed on Mac OS before but are new to Mac OS X or Carbon. It is intended to be an accompanying narrative to go with the source code included with this document rather than a standalone document.
There is a wealth of Carbon information at
<a href="http://developer.apple.com/referencelibrary/GettingStarted/GS_Carbon/">Getting Started with Carbon</a>
. This document suppliments that material as a hands on tutorial laying out the steps to port a Classic application to Carbon, from making the application launch natively to making the application modern and truly Mac OS X savvy.
One of the nice things about updating to Carbon is that you can do it incrementally. The process has been broken down into six basic steps.
<li><a href="0_Tutorial/Classic.html">Prepare the Classic Code Base</a></li>
<li><a href="0_Tutorial/First%20Carbon.html">The First Carbon Version</a></li>
<li><a href="0_Tutorial/Carbon%20Events.html">Carbon Events</a></li>
<li><a href="0_Tutorial/Data%20Browser.html">The Data Browser Control</a></li>
<li><a href="0_Tutorial/Universal%20Binary.html">Universal Binary</a></li>