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
3. Who Am I?
• Software Developer with 15 Years Experience
4. Who Am I?
• Software Developer with 15 Years Experience
• Worked with VB, Java, Classic ASP, JSP, C# and ASP.NET
5. 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!
6. 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
7. 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
8. 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
9. 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
11. Goal For This Session
• A Walkthrough of Building a Simple iPhone Application
12. Goal For This Session
• A Walkthrough of Building a Simple iPhone Application
• Apply the Knowledge Gained in the Introduction to Objective-C
13. 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
24. What Will Be Covered
• Developer Tools
• Design Patterns
25. What Will Be Covered
• Developer Tools
• Design Patterns
• Project Structure
26. What Will Be Covered
• Developer Tools
• Design Patterns
• Project Structure
• Visually Design Your Application's Interface
27. What Will Be Covered
• Developer Tools
• Design Patterns
• Project Structure
• Visually Design Your Application's Interface
• Responding to User Input
28. 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
29. 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
30. 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
37. Developer Tools - Xcode
• Xcode is an integrated development environment (IDE) that provides all of the
tools you need to;
38. 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,
39. 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
40. 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.
42. Developer Tools - Interface Builder
• Interface Builder is the tool you use to assemble your application’s user
interface visually.
43. 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.
45. Developer Tools - Simulator
• The iPhone simulation environment lets you build and run your iPhone
application on your computer
46. 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
47. 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
48. 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
50. Developer Tools - Instruments
• The Instruments environment lets you analyse the performance of your
iPhone applications while running in the simulator or on a device.
51. 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.
57. Design Patterns - Delegation
• The delegation design pattern is a way of modifying complex objects without
subclassing them.
58. 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.
59. 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.
61. Design Patterns - MVC
• The Model-View-Controller (MVC) design pattern is a way of dividing your
code into independent functional areas.
62. 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.
63. 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.
64. 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.
66. Design Patterns - Target-Action
• Controls use the target-action design pattern to notify your application of
user interactions.
67. 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).
68. 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).
83. What We Have Not Covered
• Non Technical
• Getting Set-up with Digital Certificates
84. What We Have Not Covered
• Non Technical
• Getting Set-up with Digital Certificates
• App Store Submission Process
85. What We Have Not Covered
• Non Technical
• Getting Set-up with Digital Certificates
• App Store Submission Process
• Technical
86. What We Have Not Covered
• Non Technical
• Getting Set-up with Digital Certificates
• App Store Submission Process
• Technical
• Details of the XML Parser
93. Contact Details
• Email: damian@os3.ie
• Twitter: @DamianOS3
• Web: http://os3.ie
• Happy to answer any questions you have on iPhone development
94. 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!