OS3 - DevDays Galway - Introduction To iPhone Development
Upcoming SlideShare
Loading in...5
×
 

OS3 - DevDays Galway - Introduction To iPhone Development

on

  • 1,480 views

A walkthrough of building a simple Twitter app. This will give a grounding in the fundamentals of an iPhone app development. ...

A walkthrough of building a simple Twitter app. This will give a grounding in the fundamentals of an iPhone app development.
The talk includes;
- Project Tools and Design Patterns
- Use Interface Builder to visually design your application's interface
- Responding to User Input
- How to connect your code to your Interface Elements

Statistics

Views

Total Views
1,480
Views on SlideShare
1,429
Embed Views
51

Actions

Likes
0
Downloads
26
Comments
0

6 Embeds 51

http://os3.ie 24
http://brightstarsoftware.com 13
http://www.slideshare.net 5
http://www.linkedin.com 5
http://www.os3.ie 3
http://codesignerror.blogspot.com 1

Accessibility

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

OS3 - DevDays Galway - Introduction To iPhone Development OS3 - DevDays Galway - Introduction To iPhone Development Presentation Transcript

  • Walkthrough of Building an iPhone App Damian OSuilleabhain OS3
  • Who Am I?
  • Who Am I? • Software Developer with 15 Years Experience
  • Who Am I? • Software Developer with 15 Years Experience • Worked with VB, Java, Classic ASP, JSP, C# and ASP.NET
  • Who Am I? • Software Developer with 15 Years Experience • Worked with VB, Java, Classic ASP, JSP, C# and ASP.NET • Bought an iPhone in 2008 - A gateway drug!
  • Who Am I? • Software Developer with 15 Years Experience • Worked with VB, Java, Classic ASP, JSP, C# and ASP.NET • Bought an iPhone in 2008 - A gateway drug! • Shortly thereafter Bought a MacBookPro, learned Objective C and Cocoa
  • Who Am I? • Software Developer with 15 Years Experience • Worked with VB, Java, Classic ASP, JSP, C# and ASP.NET • Bought an iPhone in 2008 - A gateway drug! • Shortly thereafter Bought a MacBookPro, learned Objective C and Cocoa • Now working as a Full Time Freelance iPhone Developer
  • Who Am I? • Software Developer with 15 Years Experience • Worked with VB, Java, Classic ASP, JSP, C# and ASP.NET • Bought an iPhone in 2008 - A gateway drug! • Shortly thereafter Bought a MacBookPro, learned Objective C and Cocoa • Now working as a Full Time Freelance iPhone Developer • 3 of My Own Apps on the App Store, 2 for Clients, More in development
  • Who Am I? • Software Developer with 15 Years Experience • Worked with VB, Java, Classic ASP, JSP, C# and ASP.NET • Bought an iPhone in 2008 - A gateway drug! • Shortly thereafter Bought a MacBookPro, learned Objective C and Cocoa • Now working as a Full Time Freelance iPhone Developer • 3 of My Own Apps on the App Store, 2 for Clients, More in development • Interested in collaborations or projects
  • Goal For This Session
  • Goal For This Session • A Walkthrough of Building a Simple iPhone Application
  • Goal For This Session • A Walkthrough of Building a Simple iPhone Application • Apply the Knowledge Gained in the Introduction to Objective-C
  • Goal For This Session • A Walkthrough of Building a Simple iPhone Application • Apply the Knowledge Gained in the Introduction to Objective-C • Give you a Grounding in the Fundamentals of an iPhone Application
  • What Will We Build?
  • What Will We Build? • “Epic Tweets”
  • What Will We Build? • “Epic Tweets” • A simple Twitter client
  • What Will We Build? • “Epic Tweets” • A simple Twitter client • Shows the public timeline
  • What Will We Build? • “Epic Tweets” • A simple Twitter client • Shows the public timeline • Demonstrates the principles discussed
  • Epic Tweets
  • Epic Tweets
  • Epic Tweets
  • What Will Be Covered
  • What Will Be Covered • Developer Tools
  • What Will Be Covered • Developer Tools • Design Patterns
  • What Will Be Covered • Developer Tools • Design Patterns • Project Structure  
  • What Will Be Covered • Developer Tools • Design Patterns • Project Structure   • Visually Design Your Application's Interface
  • What Will Be Covered • Developer Tools • Design Patterns • Project Structure   • Visually Design Your Application's Interface • Responding to User Input
  • What Will Be Covered • Developer Tools • Design Patterns • Project Structure   • Visually Design Your Application's Interface • Responding to User Input • Connecting the Interface to Your Code
  • What Will Be Covered • Developer Tools • Design Patterns • Project Structure   • Visually Design Your Application's Interface • Responding to User Input • Connecting the Interface to Your Code • What We Have Not Covered
  • What Will Be Covered • Developer Tools • Design Patterns • Project Structure   • Visually Design Your Application's Interface • Responding to User Input • Connecting the Interface to Your Code • What We Have Not Covered • Questions
  • Developer Tools
  • Developer Tools • Xcode
  • Developer Tools • Xcode • Interface Builder
  • Developer Tools • Xcode • Interface Builder • Simulator
  • Developer Tools • Xcode • Interface Builder • Simulator • Instruments
  • Developer Tools - Xcode
  • Developer Tools - Xcode • Xcode is an integrated development environment (IDE) that provides all of the tools you need to;
  • Developer Tools - Xcode • Xcode is an integrated development environment (IDE) that provides all of the tools you need to; • create and manage your iPhone projects and source files,
  • Developer Tools - Xcode • Xcode is an integrated development environment (IDE) that provides all of the tools you need to; • create and manage your iPhone projects and source files, • build your code into an executable, and
  • Developer Tools - Xcode • Xcode is an integrated development environment (IDE) that provides all of the tools you need to; • create and manage your iPhone projects and source files, • build your code into an executable, and • run and debug your code either in iPhone simulator or on a device.
  • Developer Tools - Interface Builder
  • Developer Tools - Interface Builder • Interface Builder is the tool you use to assemble your application’s user interface visually.
  • Developer Tools - Interface Builder • Interface Builder is the tool you use to assemble your application’s user interface visually. • Using Interface Builder, you assemble your application’s window by dragging and dropping preconfigured components onto it.
  • Developer Tools - Simulator
  • Developer Tools - Simulator • The iPhone simulation environment lets you build and run your iPhone application on your computer
  • Developer Tools - Simulator • The iPhone simulation environment lets you build and run your iPhone application on your computer • Presents the iPhone user interface in a window on your computer
  • Developer Tools - Simulator • The iPhone simulation environment lets you build and run your iPhone application on your computer • Presents the iPhone user interface in a window on your computer • Lets you simulate most of the actions a user performs on their device
  • Developer Tools - Simulator • The iPhone simulation environment lets you build and run your iPhone application on your computer • Presents the iPhone user interface in a window on your computer • Lets you simulate most of the actions a user performs on their device • Important to note a simulator, not an emulator. Does not give a realistic view of memory or processor performance
  • Developer Tools - Instruments
  • Developer Tools - Instruments • The Instruments environment lets you analyse the performance of your iPhone applications while running in the simulator or on a device.
  • Developer Tools - Instruments • The Instruments environment lets you analyse the performance of your iPhone applications while running in the simulator or on a device. • You can gather data about your application’s memory usage, disk activity, network activity, and graphics performance.
  • Design Patterns
  • Design Patterns • Delegation
  • Design Patterns • Delegation • Model View Controller
  • Design Patterns • Delegation • Model View Controller • Target-Action
  • Design Patterns - Delegation
  • Design Patterns - Delegation • The delegation design pattern is a way of modifying complex objects without subclassing them.
  • Design Patterns - Delegation • The delegation design pattern is a way of modifying complex objects without subclassing them. • Instead of subclassing, you use the complex object as is and put any custom code for modifying the behaviour of that object inside a separate object, which is referred to as the delegate object.
  • Design Patterns - Delegation • The delegation design pattern is a way of modifying complex objects without subclassing them. • Instead of subclassing, you use the complex object as is and put any custom code for modifying the behaviour of that object inside a separate object, which is referred to as the delegate object. • At pre-defined times, the complex object then calls the methods of the delegate object to give it a chance to run its custom code.
  • Design Patterns - MVC
  • Design Patterns - MVC • The Model-View-Controller (MVC) design pattern is a way of dividing your code into independent functional areas.
  • Design Patterns - MVC • The Model-View-Controller (MVC) design pattern is a way of dividing your code into independent functional areas. • The model portion defines your application’s underlying data engine and is responsible for maintaining the integrity of that data.
  • Design Patterns - MVC • The Model-View-Controller (MVC) design pattern is a way of dividing your code into independent functional areas. • The model portion defines your application’s underlying data engine and is responsible for maintaining the integrity of that data. • The view portion defines the user interface for your application and has no explicit knowledge of the origin of data displayed in that interface.
  • Design Patterns - MVC • The Model-View-Controller (MVC) design pattern is a way of dividing your code into independent functional areas. • The model portion defines your application’s underlying data engine and is responsible for maintaining the integrity of that data. • The view portion defines the user interface for your application and has no explicit knowledge of the origin of data displayed in that interface. • The controller portion acts as a bridge between the model and view and facilitates updates between them.
  • Design Patterns - Target-Action
  • Design Patterns - Target-Action • Controls use the target-action design pattern to notify your application of user interactions.
  • Design Patterns - Target-Action • Controls use the target-action design pattern to notify your application of user interactions. • When the user interacts with a control in a predefined way (such as by tapping a button), the control sends a message (the action) to an object you specify (the target).
  • Design Patterns - Target-Action • Controls use the target-action design pattern to notify your application of user interactions. • When the user interacts with a control in a predefined way (such as by tapping a button), the control sends a message (the action) to an object you specify (the target). • Upon receiving the action message, the target object can then respond in an appropriate manner (such as by updating application state in response to the button push).
  • Project Structure
  • Project Structure • Class Files
  • Project Structure • Class Files • Definitions (*.h)
  • Project Structure • Class Files • Definitions (*.h) • Implementations (*.m)
  • Project Structure • Class Files • Definitions (*.h) • Implementations (*.m) • Resources
  • Project Structure • Class Files • Definitions (*.h) • Implementations (*.m) • Resources • Property Lists (*.plist)
  • Project Structure • Class Files • Definitions (*.h) • Implementations (*.m) • Resources • Property Lists (*.plist) • Interface Files (*.xib)
  • Project Structure • Class Files • Definitions (*.h) • Implementations (*.m) • Resources • Property Lists (*.plist) • Interface Files (*.xib) • Images, audio etc.
  • The Code Demo
  • The Code Demo • Visually Design Your Application's Interface
  • The Code Demo • Visually Design Your Application's Interface • Connect the Interface With Your Code
  • The Code Demo • Visually Design Your Application's Interface • Connect the Interface With Your Code • Responding To User Input
  • What We Have Not Covered
  • What We Have Not Covered • Non Technical
  • What We Have Not Covered • Non Technical • Getting Set-up with Digital Certificates
  • What We Have Not Covered • Non Technical • Getting Set-up with Digital Certificates • App Store Submission Process
  • What We Have Not Covered • Non Technical • Getting Set-up with Digital Certificates • App Store Submission Process • Technical
  • What We Have Not Covered • Non Technical • Getting Set-up with Digital Certificates • App Store Submission Process • Technical • Details of the XML Parser
  • Questions
  • Questions • Any Questions on Anything We Have Covered?
  • Contact Details
  • Contact Details • Email: damian@os3.ie
  • Contact Details • Email: damian@os3.ie • Twitter: @DamianOS3
  • Contact Details • Email: damian@os3.ie • Twitter: @DamianOS3 • Web: http://os3.ie
  • Contact Details • Email: damian@os3.ie • Twitter: @DamianOS3 • Web: http://os3.ie • Happy to answer any questions you have on iPhone development
  • Contact Details • Email: damian@os3.ie • Twitter: @DamianOS3 • Web: http://os3.ie • Happy to answer any questions you have on iPhone development • Even happier to discuss any projects you would like me to do!