Our MonoTouch Book is out. It was great working with Chris Hardy, Craig Dunn, Martin Bowling, and Rory Blyth on this book. With this book, you'll be able to use your existing knowledge of .NET to target the Apple iPhone.
iPhone applications offer a hot opportunity for developers. Until the open source MonoTouch project, this field was limited to those familiar with Apple’s programming languages. Now .NET and C# developers can join the party. Professional iPhone Programming with MonoTouch and .NET/C#is the first book to cover MonoTouch, preparing developers to take advantage of this lucrative opportunity.
This book is for .NET developers that are interested in creating native iPhone applications written in .NET/C#. These developers want to use their existing knowledge. While .NET developers are always interested in learning, they also recognize that learning Objective-C and the specifics of the iPhone can be overwhelming. Those developers interested in MonoTouch will recognize that the cost of MonoTouch is easily made up by the ability to quickly target the iPhone using a language that they are already familiar with.
This book is designed for .NET developers that want to target the iPhone. It is designed to help you get up to speed with the iPhone, not to really teach you about the .NET Framework or C# language, which we assume you already know.
This book is designed with introductory material in Chapters 1 thru 4. You should read Chapters 1 thru 4 sequentially. These chapters introduce the MonoTouch product, the basics of developing with MonoTouch and MonoDevelop, and finally, the basics of presenting data to a user with screen and data controls and how to develop a user interface for the iPhone. Once you are comfortable with these concepts, you can typically move from one chapter to another and not necessarily have to read the chapters sequentially.
- Chapter 1 "Introduction to iPhone Development with MonoTouch for C# Developers"This chapter looks at how the largest segment of developers can target the smartphone with the highest mindshare, and that the smartphone is growing faster in marketshare than any other device.
- Chapter 2 "Introduction to MonoTouch"gives you a firm foundation in MonoTouch, MonoDevelop, Interface Builder, debugging, and deploying.
- Chapter 3 "Planning Your App's UI: Exploring the Screen Controls"teaches you about creating your application's UI and specifically how the UI on the iPhone can differ from UIs that you might have created before. You also explore the Input & Value objects from the Interface Builder Objects Library.
- Chapter 4 "Data Controls" shows the Interface Builder Objects Library Cocoa Touch classes for Controllers, Data Views, and Windows, Views, & Bars.
- Chapter 5 "Working with Data on the iPhone"looks at the SQLite database engine as well as strategies to store data off the device on a central server through SOAP and REST (using XML and JSON) without tying up the user interface.
- Chapter 6 "Displaying Data Using Tables"looks at displaying information in a table, using tables for navigation, taking advantage of UITableView's built-in editing features, and adding a search bar to a table.
- Chapter 7 "Mapping"covers CoreLocation and MapKit, using Location Services, and adding maps and geocoding to your application.
- Chapter 8 "Application Settings"focuses on application settings, and looks at two aspects of settings for your MonoTouch app: the Info.plist and your settings bundle. It covers what settings you might want to set in your Info.plist and why, and then looks at what code it takes to read and use the settings that you save in the settings bundle. And it also takes you through the building of the settings that you might have in a social media-type application. Going through each step, you will examine the Root.plist inside the Property List Editor and see the settings dialog that will result from it.
- Chapter 9 "Programming with Device Hardware" covers accelerometer device orientation, and proximity detection support, networking, and developing with battery life in mind.
- Chapter 10 "Programming with Multimedia" discussing integrating images and the image picker, watching and recording videos, playing and recording audio, and using animation
- Chapter 11 "Talking to Other Applications"discusses the ways you can use MonoTouch to talk to other applications on the iPhone, both Apple-built applications and those downloaded from the App Store. It also provides helpful ways of accessing the iPhone's Address Book and the iPod music library.
- Chapter 12 "Localizing for an International Audience" first defines internationalization and localization, then shows displaying translated text and images, formatting dates, times, and numbers, then extracting text for translation.
- Chapter 13 "Programming the iPad" the capabilities of the iPad are, what new APIs and controls have been introduced that you can use in iPad-specific applications, and how to build applications that can work on both iPad and iPhone devices.
- Chapter 14 "Just Enough Objective-C" provides you with a reference and introduction to Objective-C that will help you acquire an ability to comprehend Objective-C which is something that will come in very handy.
- Chapter 15 "The App Store: Submitting and Marketing Your App"discusses all things App Store. First, it talks about the process that you need to go through before you are ready to submit - this includes final testing with Ad-Hoc builds and a presubmission checklist. Next it addresses actually submitting to the App Store, and then finally what to do with your app after it's in the App Store. This chapter also touches on alternative monetization strategies such as ads or in app purchases.
A Word About Apple SDK License #3.3.1There has been a lot of discussion about Apple's SDK licensing restrictions and how they effect MonoTouch. As of the time of this writing, Apple has not rejected any apps that are written in MonoTouch for inclusion in the Apple App Store.