A few weeks ago, I decided it was time to learn something new. There is no doubt that tablets are the current hype, so I decided to choose between Android and iOs development. Android is a lot like Java, for which I have 11 years of working experience, so iOs is somehow more appealing to me at this moment. I also find that the interface that Apple has developed for its touch-based devices is absolutely beautiful, while Android is a bit behind in that aspect (might change with Android Honeycomb).
I have no experience whatsoever with Apple’s XCode, Interface Builder or Objective-C. So the best way to get introduced is by reading a book. After some research, I decided to buy ‘Sams Teach Yourself iPad Application Development in 24 Hours’. The book assumes you have no previous experience (although some programming experience and OO knowledge comes in handy). I won’t write a review of the book here (there are probably plenty of reviews out there), but I can say I recommend it to anyone wanting to learn iOs development. It describes the XCode IDE and Interface Builder (XCode3, about two weeks ago XCode4 was released, but the basics are probably the same). It also introduces Objectve-C, the most used UI components and some other important aspects such as reading/writing files, debugging, … The Objective-C part is really limited to the essentials, so the next book will probably be all about Objective-C.
I have currently read about halfway through the book. Some important stuff I have learned so far :
- Coming from a Java and PHP background, the syntax of Objective-C needs some getting-used-to. I suspect some application writing and a specific book about Objective-C will help.
- There is no such thing as ‘Windows’. Only views, either filling the entire screen or used in a popup/modal box.
- Each view has a Controller. In this Controller, you can create properties, which can be connected to the UI components in the Interface Builder. In the Interface Builder, you can also map actions (button click, text entered, …) to methods in your Controller.
- Once you know the basics and you have used one UI Component, it is pretty easy to use the other components as they work almost the same way. Of course they may have other porperties or other actions, but they should be pretty straightforward.
- Apple has done its best to provide as much functionality as possible out of the box that you will likely use in your applications. It takes just a few lines of code to include a web page, call a webservice, …
I hope the second part of the book will show me how to write real applications (opposed to reading an input value and displaying it in a label). With this I mean applications with code that is readable, manageable, reusable and testable. More on this when I have finished the book