Author: Dimitris Tavlikos
Audience: C# developers interesting in creating iOS apps
Reviewer: Ian Elliot
Want to use C# to develop iOS? A cookbook sounds like a great idea.
It is probably always better to use the native development system to create native apps - but some programmers just don't get Objective-C. It looks like C++ but somehow it seems to do things backwards. Xamarin has been offering an alternative for some time. You can create iOS apps using C#, but again there is a certain amount of strangeness to overcome in programming the UI. This book should help you get over your initial difficulties and give you a view into what it can be like once you have mastered C# iOS development.
The only real problem is that Xamarin seems to develop the system at high speed. The book is already slightly out of data in that Xamarin has updated things so you can use Xamarin designer rather than Xcode. However, as much of this book is based around the code this isn't a real problem as long as you are aware that things have changed a little.
The book starts with the UI and after a quick introduction to the development tools it starts off with some recipes for the basic UI View. The recipes start off nice and simple, basic use of buttons and work their way up to custom views. None of the recipes are really advanced this is more about getting you to learn how to do the sorts of things you are likely to encounter when you start to create apps.
Chapter 3 continues with the exploration of the UI with View Controllers. Chapter 4 deals with data including SQLite and then the next chapter moves back to the UI with a consideration of how you can display the data including, lists, tables and grids.
Chapter 6 deals with web services, increasingly central to mobile apps. After dealing with Rest the book also gives a recipe for WCF services in iOS - well this is C#.
Chapter 7 starts a section that deals with device hardware and services. First we have recipes for multimedia including using the camera, playing music, using the microphone and interacting with the album. Next we move on to more general iOS features, phone calls, text messages, contact, address book and calendar. In Chapter 9 attention is given to other device hardware such as orientation, battery sensor and the accelerometer and gyroscope. There is also a number of recipes dealing with the problem of handling touch events and gestures.
From here we move on to consider geolocation services - from finding location to display maps and overlays. Chapter 11 is a round out on general purpose graphics. This ranges from basic line drawing to animating views.
The final few chapters deal with more advanced topics such as multitasking and with topics related to localization and deployment. The final chapter is a fun look at some advanced recipes. If you have always wanted to implement a page curl effect then there is a recipe for that. So too are recipes for using physics in UI elements, custom animation and text-to-speech. It looks like there is another book in here trying to get out.
The recipes are all easy to follow and to understand and provide a useful introduction to the basic facilities of the C# iOS system that Xamarin has created. This isn't a book about cross-platform development, which is one of the big advantages of taking the Xamarin approach, but it does focus on iOS in a way that a cross-platform book couldn't. It also doesn't teach you anything about C#, but I can't imagine a reader wanting to take the Xamarin approach unless they already had an investment in the language.
While this isn't a complete primer on the topic the recipe approach works well if you like finding out about systems by seeing how standard tasks achieved using the tools at hand. As long as you are a reasonable C# programmer this is a good way to move into iOS programming.
This book can be bought from Amazon - click on the book displays - or direct from Packt