Coding Headstarts

Coding Headstart

Complete with introductory video, lesson guide and sample code in an Xcode project, you’ll learn to create new and compelling features in your application using the development languages, APIs and frameworks of Mac OS X Leopard.

 
 

In each Coding Headstart, you’ll find these valuable resources:

iTunes icon

Introductory Video

Hear Apple experts explain the benefits, new techniques, or enhanced capabilities covered in each Coding Headstart.

Lesson icon

Lesson Guide

These tutorials walk you step-by-step through the code and techniques you need to complete each lesson.

Sample Code icon

Sample Code

With sample code in an Xcode project, you get the essential ingredients you need to develop new features and capabilities in your application.

ADC Premier and Select members can access all the Coding Headstart resources through the Leopard Dev Center.

Watch Introductory Videos for Coding Headstarts

Click the links below to watch Apple experts introduce the benefits, new techniques, or enhanced capabilities covered in each Coding Headstart. Become an ADC Premier or Select Member today to access the lesson guide and sample code in an Xcode project.

Application Technologies

  • Automator src="images/poster.gif"

    Automator

    The Automator application provides a drag and drop interface for creating repeatable workflows to automate tasks.

  • Beyond Tables and Cells: Introducing Animated Collection Views src="images/poster.gif"

    Beyond Tables and Cells: Introducing Animated Collection Views

    NSCollectionView displays information as grid elements in rows and columns and introduces new concepts making its layout more flexible while adding great new visual effects.

  • Carbon and Cocoa Integration Introduction src="images/poster.gif"

    Carbon and Cocoa Integration Introduction

    Take advantage of the latest Cocoa technologies directly from your Carbon application.

  • NEW: Cocoa Controls src="images/poster.gif"

    Cocoa Controls

    In Mac OS X Leopard, Cocoa presents two new controls, NSPredicateEditor and NSPathControl, letting users express rules or filter criteria as well as letting them display file system paths.

  • Controlling Scriptable Applications With Python & Ruby src="images/poster.gif"

    Controlling Scriptable Applications With Python & Ruby

    Scripting Bridge allows you to control scriptable applications from Objective-C. Combined with RubyCocoa or PyObjC, you can use your favorite scripting language to control other applications and to use features from the Cocoa frameworks as well.

  • Core Data src="images/poster.gif"

    Core Data

    Core Data provides a powerful data model framework for use with Cocoa applications, and offers a great deal of flexibility for when, how, and how much data your application manages.

  • Getting Started with Calendar Store src="images/poster.gif"

    Getting Started with Calendar Store

    The Calendar Store framework in Mac OS X Leopard provides a high-level API for accessing and creating system-wide or application specific events and To Do's.

  • Getting Started with Cocoa Bindings src="images/poster.gif"

    Getting Started with Cocoa Bindings

    Cocoa bindings provide a way to keep model and view values synchronized without having to write a lot of “glue code.”

  • Introduction to Scripting Bridge src="images/poster.gif"

    Introduction to Scripting Bridge

    Scripting Bridge allows you to control scriptable applications from Objective-C. Combined with RubyCocoa or PyObjC, you can use your favorite scripting language to control other applications and to use features from the Cocoa frameworks.

  • NEW: Previewing Documents With Quick Look src="images/poster.gif"

    Previewing Documents With Quick Look

    The Quick Look feature of Leopard lets users view the contents of a file without having to launch an application to open it.

  • Simpler Threading With NSOperation src="images/poster.gif"

    Simpler Threading With NSOperation

    The NSOperation class in Mac OS X Leopard simplifies threading by providing an easy way to encapsulate tasks and execute them concurrently.

  • Tracking Buddy Status With AddressBook and iChat src="images/poster.gif"

    Tracking Buddy Status With AddressBook and iChat

    Mac OS X v10.5 applications can seamlessly share user data and services with other applications giving a consistent user experience across the entire system.

  • NEW: Transitioning From Carbon to 64-bit Cocoa src="images/poster.gif"

    Transitioning From Carbon to 64-bit Cocoa

    Carbon developers who want to build a 64-bit application for Mac OS X v10.5 need to use Cocoa to implement their application's user interface. This headstart will help you migrate an application's user interface from Carbon to Cocoa.

  • NEW: Writing a Spotlight Importer src="images/poster.gif"

    Writing a Spotlight Importer

    Spotlight in Mac OS X Leopard has a number of new features and enhancements, making it faster and easier than ever to find documents, applications, and information with a simple search field.

Development Tools and Languages

  • Coding Smarter with Objective-C 2.0 src="images/poster.gif"

    Coding Smarter with Objective-C 2.0

    Objective-C 2.0 provides several new features including properties, fast-enumeration, and garbage collection.

  • NEW: Expanding Your Code Options With RubyCocoa src="images/poster.gif"

    Expanding Your Code Options With RubyCocoa

    RubyCocoa is the Ruby scripting language melded with the Objective-C runtime enabling users to use the dynamic features of Ruby while having access to most Mac OS X frameworks.

  • Fundamentals of Kernel Debugging src="images/poster.gif"

    Fundamentals of Kernel Debugging

    Kernel debugging provides a way to track down and fix bugs in device drivers and other kernel extensions.

  • NEW: Improving Code Analysis With Instruments src="images/poster.gif"

    Improving Code Analysis With Instruments

    With Instruments you can analyze many aspects of your application's performance, including memory use, disk access, network activity, and more.

  • NEW: Optimizing Development With Xcode Organizer src="images/poster.gif"

    Optimizing Development With Xcode Organizer

    The Xcode Organizer is a powerful tool that lets you organize and build frequently used projects, including those that use external build systems, without ever having to open the project files themselves.

Graphics and Media

  • NEW: Accelerating Your Drawing Code with Quartz GL src="images/poster.gif"

    Accelerating Your Drawing Code with Quartz GL

    Quartz GL is a technology that enables Quartz drawing operations to run on the graphics processing unit (GPU) instead of the CPU enabling significant performance gains.

  • Adding Core Image Effects to Your Video Playback src="images/poster.gif"

    Adding Core Image Effects to Your Video Playback

    QTKit and Core Image are high-level, Objective-C frameworks built on top of a number of powerful Mac OS X graphics and imaging technologies, including Core Audio, Core Animation, Quartz 2D, and OpenGL.

  • Core Animation src="images/poster.gif"

    Core Animation

    Core Animation makes it easy to add rich animation — with great performance — in your application, resulting in an enhanced user experience with less code.

  • Creating a PDFViewer with PDF Kit Introduction src="images/poster.gif"

    Creating a PDFViewer with PDF Kit Introduction

    PDF Kit makes it easy to support the PDF document format in your Cocoa application, allowing you to handle document display, searching, and navigation with a minimum of custom code.

  • Enabling the OpenGL Multithreaded Engine src="images/poster.gif"

    Enabling the OpenGL Multithreaded Engine

    Running OpenGL in multithreaded mode on Mac OS X can make your application more responsive.

  • How to Make a Photo Viewer Using Image Kit src="images/poster.gif"

    How to Make a Photo Viewer Using Image Kit

    Learn how to incorporate images in your Cocao app using the built-in functionalities of the Image Kit frameowrk.

  • Performance Tuning Quartz2D src="images/poster.gif"

    Performance Tuning Quartz2D

    Learn how to apply performance tuning steps to optimize your drawing application and improve CPU processing time.

  • QTKit MyRecorder Sample src="images/poster.gif"

    QTKit MyRecorder Sample

    The QTKit framework in Mac OS X Leopard introduces a new set of Cocoa classes and methods designed to support professional-level video and audio capture, and pro-grade recording of media.

  • Resolution Independence Introduction src="images/poster.gif"

    Resolution Independence Introduction

    Depending on the type of application, the user interface, and the drawing technologies used, you may need to update your code and custom artwork to provide the best user experience on high resolution displays.

  • Try out Your Shaders with GLSL Showpiece src="images/poster.gif"

    Try out Your Shaders with GLSL Showpiece

    By using Shaders with 3D rendering, you can create amazing visual effects and transform typical 3D graphics into a cinematic experience.

Web and Safari

  • Adding WYSIWYG Editing to Your Web Page src="images/poster.gif"

    Adding WYSIWYG Editing to Your Web Page

    WYSIWYG editing makes it possible for website users to write and format bulletin board postings and other web content without learning a markup language.

  • NEW: Drawing Vector Graphics Using Canvas src="images/poster.gif"

    Drawing Vector Graphics Using Canvas

    Canvas is a technology built into the Web Kit and Safari that provides a 2D graphics context for drawing and image manipulation. With Canvas, you can take images and apply transformations, overlay shapes, add shadows, and perform various other operations to make rich interactive web applications.

  • Enhancing a Widget with Dashcode Introduction src="images/poster.gif"

    Enhancing a Widget with Dashcode Introduction

    Dashcode, the newest development tool in Mac OS X Leopard, makes it easy to jumpstart Dashboard widget development.

  • NEW: Extending Your Application with JavaScriptCore src="images/poster.gif"

    Extending Your Application with JavaScriptCore

    The JavaScript Core framework is a new framework in Mac OS X v10.5 that allows applications to run JavaScript code.

  • Writing a Webkit Plugin src="images/poster.gif"

    Writing a Webkit Plugin

    Web browser plug-ins are compiled bundles that help extend the content types supported by common web browsers.