|
|
 |
Class Description
Cocoa Development teaches application programmers the essentials of designing and implementing graphical applications using Cocoa.
Cocoa is a powerful, object-oriented software development environment--included with Mac OS X--that features graphical tools, rich frameworks, and a predefined application infrastructure that supports rapid development of sophisticated applications.
This five-day course provides comprehensive, hands-on training using real-world examples. With the skills acquired in this course, developers can build full-featured applications using the most advanced software environment on Mac OS X.
PreRequisites:
- Some experience with the C programming
language or a C-derived language such as Objective-C, Java, or C++. You don't need to be an expert!
- An understanding of object-oriented
concepts
- General experience with Mac OS X (recommended
)
| Objective |
Learn how to develop applications for Mac OS X using Cocoa. |
| Audience |
Software developers creating Cocoa applications for Mac OS X. |
| Description |
Cocoa Development combines lectures, demonstrations, and hands-on student exercises in Objective-C, performed on Mac OS X systems.
The course covers :
- Objective-C essentials
- Developer tools, such as Xcode and Interface Builder
- Foundation Framework classes for application design (examples: data classes, collection classes, file management classes, and process management classes)
- Application Framework (AppKit) classes for graphical user interface implementation
- Design patterns: Model-view-controller, target-action, delegation, notification, key-value coding
- Drawing and event handling
- Document-based applications
- User defaults and preference management
- Pasteboards and undo/redo
|
| Duration |
Five days. |
Syllabus: Cocoa Development
| Introduction and orientation |
Introduces the Cocoa development environment, including tools, frameworks, languages, project types, and principal design patterns. Establishes the range and scope of topics and the expectations for the course.
|
| Essentials of Objective-C |
Covers the essential concepts, syntax, and features of the Objective-C language relevant to Cocoa application development. Includes types, messages, classes, and protocols.
|
| Interface Builder |
Introduces Interface Builder for constructing user interface components. Covers controls, outlets, target/action, and initialization.
|
| Multiple interface files |
Examines the use of multiple interface files for application design and implementation. Covers bundles, File’s Owner, and common designs for modular, encapsulated components. Includes initialization and cleanup issues and techniques.
|
| Delegation |
Presents delegation, a key design pattern used throughout the AppKit for customizing the behavior of standard framework objects. Applies delegation to objects such as windows, table views, and the application itself. Includes handling of sheets for alert messages.
|
| Document-based applications |
Explores the Cocoa multidocument architecture for applications requiring multiple, simultaneously open files. Covers project structure, framework classes, subclass responsibilities, built-in menu functionality, the undo manager, and registered file types.
|
| Table views and key-value coding |
Examines table views as a case study of a more complex user interface element. Includes the use of key-value coding, an important Foundation Framework design pattern.
|
| Archiving |
Presents object serialization in Objective-C using encoding and archiving. Explores the practical use of archiving for files and pasteboards.
|
| Notifications |
Covers notifications, including notification center, observers, and selectors. Looks at notifications as a communication mechanism between AppKit objects and custom classes.
|
| Defaults and User Preferences |
Explores defaults, property lists, and the Foundation Framework classes for getting and setting parameters that control application functionality--enabling an application to have default settings and user-configurable preferences that persist across invocations of the application.
|
| Events and Responders |
Covers event handling, focusing on the responder chain and its role in target/action, multidocument applications, and dynamically updating menu items.
|
| Pasteboards |
Examines the workings of pasteboards supporting cut, copy, and paste within an application and across applications. Covers pasteboard objects, data types, and archiving.
|
| Custom views |
Presents views, rendering, and event handling. Includes a variety of topics, such as image compositing, Bezier paths, colors, strings, event messages, and methods.
|
| Cocoa Bindings |
An introduction to using Cocoa bindings to replace traditional mechanisms such as target-action and delegation in some situations.
|
|
|
| |
|
|