Every so often I have a really cool book to review, today’s book is Beginning iPhone 4 Development for iOS 4 (iOS 5 version here) by apress. Its a comprehensive guide and manual for developing your very own iPhone, iPad or iPod Touch apps, all for $20. Its designed as an in depth look at the iOS SDK, and will hopefully teach you all the basics and the routes needed to begin developing your very own apps. I personally like to develop things for the Mac, I have previously reviewed Learn Mac Programming With Cocca before on this site which taught me how to work in the Mac environment, this book isn’t to big of a leap into the world of iOS devices.
Over the last couple of months I have been working through this book, it is actually the second in the series by apress for iPhone development. The first being iPhone and iPad Apps for Absolute Beginners (or the iOS 5 version), designed at the absolute beginner to any programming language. iPhone 4 Development assumes you know a little bit about programming. However, if you are completely new to the coding world, I reckon you will soon be able to pick it up.
- Welcome to the Jungle
- Appeasing the Tiki Gods
- Handling Basic Interaction
- More User Interface Fun
- Autorotation and Autosizing
- Multiview Applications
- Tab Bars and Pickers
- Introduction to Table Views
- Navigation Controllers and Table Views
- iPad Considerations
- Application Settings and User Defaults
- Basic Data Persistence
- Grand Central Dispatch, Background Processing, and You
- Drawing with Quartz and OpenGL
- Taps, Touches, and Gestures
- Where Am I? Finding Your Way with Core Location
- Whee! Gyro and Accelerometer!
- iPhone Camera and Photo Library
- Application Localization
- Where to Next?
The book starts out by introducing you to the iOS world. Since you are developing for mobile devices, the code and the development will be different. You are working with a phone, not a fully fledged Mac, therefore the interface and interaction with the app you will be creating will be different. Once you have breezed through the first chapter, you are ready to jump into the nitty gritty of actually coding. Developing apps on the Mac uses Xcode, therefore a good portion of the second chapter explains what Xcode is and the main features you will be using. I particularly like the tips section of this chapter as it explains some of the other features of development that you will be using.
Having read chapter one and two, chapter three will being to teach and show you how to actually code. You will develop a slightly more complex app than one mentioned in chapter two. One with two buttons on the side of the screen which change the labels text when clicked. Nothing amazing, but very useful in learning how the code base runs on an iPhone. The first half of the chapter deals with the code, with the second using the interface builder to develop the interaction by the user. There is a lot of code and some writing involved, but the books layout and clarity (along with Xcode intuitive interface) don’t make this task to difficult. The very last section of the chapter allows you to try the app out. Xcode has an iPhone simulator, so you can develop an app without a iPhone present (or iPad or iPod Touch for that matter).
Extending The Learning
At this point you will have learnt a couple of commands and had a basic look at the interface, if you enjoy this book as much as I did you will be having a wail of a time. Chapter four extends the interface aspect of iPhone development with sliders, segmented buttons and switches. Typical iPhone interface controls you see in every app (the standardisation of Xcode and iPhone development are the cause of this). Similar to previous chapters, you develop the code and then build the interface. The clear ‘code’ text along with the tips make understanding why you are doing something useful and actually writing the code simple.
By the end of chapter four I had an appreciation of how complex you can make an app. A lot of work is needed to get something simple up and running. At this point you have written a large amount of code and used the interface builder extensively.
I could at this point begin to explain every chapter in detail, how ever that would become a boring read. To summarise the next 15 chapters (covering all 630+ pages) take you into the finer aspects of apps on the iOS device. For example, chapter five takes into account the rotation function of your phone and the resulting applications view, chapter fifteen introduces and expands on gestures and multi touch swipes, chapter seventeen discusses the gyro and accelerometer for expanding user functionality and continuing chapters talk about the camera and core location.
The book also explains the more in depth aspects of development, for example chapter 13 introduces and discusses background processing through the use of Grand Central Dispatch, where your app can do more than more thing at once. This is very useful if you plan on have some complexity in your app, it is difficult to use your app if you have to wait for one task to finish before a second can commence. Its a difficult chapter to read, however a very useful one. Other similar chapters explain other complex topics which you need to understand in order to produce a good app.
Overall it is a very well written book. Other than the odd scratching the head moment, usually caused by myself typing something wrong or not thinking right the book delivers what it promises. It does get technical very quick, so if you have read of developed something before using objective-C, it is a great bonus. If you haven’t the one previous in the series is probably a very good read. I can’t say much more about this book. I found it great, and over the coming months I am going to be reading more and developing my little app.
However, it is not the latest version of this book and Xcode and the iOS world have moved forward. It has taken me a long time to read this book. Therefore if you want the latest addition I recommend iPhone and iPad Apps for Absolute Beginners, iOS 5 Edition. Its probably very similar, and written in a similar style to the version I have been using.
Therefore if you want to start iPhone development for $20 you really can’t go wrong. The apress series of books mean there is plenty of topics for you to read. For example there is More iOS 5 Development which builds upon this book and iOS 5 Games Development for something more specific. There is a lot of books in this series so you can be developing apps for years to come.
If you have any comments or questions, please leave one using the comment form below.