Sunteți pe pagina 1din 17

Mobile Content

Development
with Objective-C
Agenda
• Acquaintance
• Introduction
• Why Objective-C ?
• Objective-C History
• Object-Oriented Programming (OOP) Concepts
• Requirements
• Resources
• Demo
Acquaintance

• Introduce yourself
• Expectations
• Software experience
• Hobbies
Introduction
• Mobile Content from Scratch
• Idea to Life
• Software Engineering
• Agile team development
• Media data
• Technologies
• iPhone
• Next - ?
Why Objective-C ?
• iPhone, iPod Touch, ...
• Cult devices
• 17 million iPhones, 13 million iPods - March 2009
• iTunes App Store - March 2009 (8 months)
• Application delivery model
• 25000 applications, > 10000 games
• 800 million downloads
• Mac OS
Objective-C
• From Structured Programming (C) to
Object-Oriented Programming (ObjC)
• Inspired by Smaltalk
• Strict superset of C
• Object-Oriented Features with a Minimal
Amount of Syntax
Objective-C History (1)
• Created by Brad Cox and Tom Love (1980s)
• “Object-Oriented Programming, An Evolutionary
Approach” by Brad Cox (1986)
• NeXT
• Licensed Objective-C from StepStone (1988)
• NeXTstep, OpenStep (Objective-C language and
runtime, Libraries and Tools)
Objective-C History (2)
• GNUstep - free implementation of OpenStep (1992)
• Apple
• Acquired NeXT (1996)
• Rhapsody, evolved into Mac OS X
• Cocoa API (continuation of Foundation Kit, App Kit)
• XCode (formerly Project Builder) and Interface
Builder
• UIKit - UI Framework for iPhone OS (equivalent of
AppKit for Mac OS X)
OOP Concepts (1)
• Class
• Defines the abstract characteristics (type) of an
object
• Attributes (properties)
• Behavior (abilities, what can do)
• Instance
• Particular exemplar of the class
OOP Concepts (2)
• Method
• Ability of an object; a “function” that it can perform
• State of the object
• Set of values of the attributes of this object
• Message
• To send data to another object
• To ask an object to perform particular method
OOP Concepts (3)
• Inheritance
• Subclass inherits attributes and behaviors from the
superclass

• Subclass can introduce new or alter existing method

• Encapsulation
• “Black Box”

• Conceals the implementation details

• Polymorphism
• Objects of different classes respond to identical messages
differently, in accordance with their actual class
Requirements

• Software
• Mac OS X v.10.5.5
• iPhone SDK for iPhone OS 2.2.1
• Accept Developer Program
Other Platforms

• GNUstep
• Cross-platform, open-source
• Based on Cocoa API
• iPhone not supported: no UIKit
Web Resources

• http://developer.apple.com/documentation/Cocoa/
Conceptual/ObjectiveC - Introduction to Objective-C
• http://developer.apple.com/iphone/ - iPhone
DevCenter
• http://www.gnustep.org/ - GNUstep Project
Homepage
Books
• “Programming in Objective-C” by Stephen Kochan
• “The iPhone Developer’s Cookbook” by Erica Sadun
• “iPhone in Action” by C.Allen and Sh. Appelcline
• “iPhone SDK Development” by B. Dudney and C.
Adamson (The Pragmatic Programmers)
• “Learning Cocoa with Objective-C” by J. D. Davidson
Demo
Questions ?

S-ar putea să vă placă și