A full-day seminar presented by Daniel Steinberg. This workshop is being coordinated by Dr. Huimin Zhao, Associate Professor in IT Management, Lubar School of Business, UW-Milwaukee
Now it’s even easier than ever to start writing apps for the iPad, iPhone, and iPod Touch. The development tools are free; there is a wealth of books, screencasts, and other support materials; and many of the obstacles to getting started have now been removed.
iOS5 changes the way we write apps for our favorite mobile devices. In this workshop we’ll take advantage of new features like Automatic Reference Counting and Storyboards to quickly create simple iOS applications.
You’ll learn about Xcode and the other developer tools that Apple provides for free through the Mac App store. You’ll learn to write your code using Objective-C, the language of iOS development, and to design your interfaces using a GUI tool that is now part of Xcode. We’ll focus on the central role of View Controllers and finish the day with an example of storyboarding that involves many different scenes.
We start with the tools. Apple provides a complete set of tools and has continued to innovate and update them. You’ll learn your way around Xcode, Apple’s IDE. With Xcode, you will manage your projects, edit and compile your source code, design your interface, and model data. Companion applications include the iPhone Simulator and Instruments, which we’ll use to run and profile our applications.
At first the square brackets and colons that we use in Objective-C might seem funny. (We assume that you are familiar with a C-style language and understand if-else, for, and so on.) The syntax of Objective-C takes a little bit of getting used to, but soon you’ll value the self-documenting style of the language. Objective-C is a superset of C, and yet the way in which we write our code is vastly different. In Obj-C the focus is on the messages being sent and not on the state of the objects. We’ll explore the aspects of Obj-C syntax and programming patterns that may be unfamiliar.
View Controllers are the “C” in MVC. In iOS programming they are in charge of managing what you see on the screen. When a user presses a button or performs a gesture that takes us from one scene to another, we switch the control from our current view controller to the one that manages the next scene. In addition, in Storyboards you’ll think of every screen full of content as a scene and a View Controller will be the director of that scene.
Once you understand the central role of View Controllers, we can embrace the new iOS5 storyboard feature. We will lay out the flow of our application and enable it by providing the underlying code in the appropriate view controllers. You will learn to segue from scene to scene using gestures, button taps, and user selections. When we’re done, you’ll see the whole application laid out in front of you via the storyboard.
About the speaker
Daniel Steinberg has spent the last three decades programming the iPad, iPhone, and Mac OS X. OK, he hasn’t. But he’s been programming the iPhone and the iPad since the SDK’s first appeared in beta and Mac OS X for many years before. Daniel is co-author of the book “iPad Programming: A Quick-Start Guide for iPhone Developers” from the Pragmatic Programmers and author of their book “Cocoa Programming.” Daniel presents iPhone and Cocoa training for the Pragmatic Studio and consults through his company, Dim Sum Thinking. When he’s not coding or talking about coding for the Mac, the iPhone, and the iPad, he’s probably cooking or hanging out with his wife and daughter.
Who should Attend?
This workshop is for developers at all levels who want to write apps for the iPhone, iPad, or iPod Touch. In one day you’ll be introduced to the four fundamental areas of iOS development. After that, all you’ll need is an idea for your own app and some time to develop it. Attendees should be familiar with a C-style language and with Object Oriented Programming in some language.
Huimin Zhao is an Associate Professor in IT Management, Lubar School of Business, UW-Milwaukee.