The following is a list of my articles, books, and publications on iPhone, iPad, and iOS development.
- Introduction to iOS Development with Visual Studio 2013 Using Xamarin published by Learn Now Online, LLC. With the new features from Xamarin, .NET developers have many things
that they can work with. Xamarin has provided support for Visual Studio
developers to write iPhone and iPad applications. Support for the
asynchronous APIs in .NET 4.5, the .NET 4.5 HTTP client, improved
gestures for an improved API to work with and other features as well.
- Introduction to iOS 7 published by Learn Now Online, LLC. In this course we will look at a number of new features for iOS 7. These
include the visual transition between views and a number of other new
features. We’ll look at iBeacons and more options for background
processes. iBeacons have the power to improve location management
services by giving really fine control over location and the information
at that location. The Background processing feature has been designed
for the mobile environment and takes into account power management
- Navigation in iOS with the UINavigationController and the UITabBarController published by Visual Studio Magazine. Developers like to create simple examples. Typically, these examples are
a screen of data and controls that users can work with. But rarely are
real-world applications a single screen of data. iOS provides developers
with several standard mechanisms to allow users to navigate between
multiple screens of data. This article will examine two controls that
developers can use to provide easy navigation for users: the
UINavigationController and the UITabBarController.
- Introduction to iOS7 with Xamarin published by Visual Studio Magazine. On Sept. 18, Apple formally began distributing iOS 7 to users. Within
one month, iOS 7 was running on 69.3 percent of iOS devices, according
to app monitoring company Fiksu. On Sept. 20, Apple began selling the
new iPhone 5s and 5c. While excitement surrounds the release of any new
operating system, Apple creates additional excitement for developers,
due to the rapid uptake of each new version of iOS. With iOS 7, Apple has provided a number of new features worth getting
to know. Since this column is called "Cross-Platform C#," the question
of the length of time it takes Xamarin to provide support for new
features comes up frequently. There's good news on that front, because
Xamarin has provided same-day support for the latest version of iOS.
This article will take a look at some of these new iOS features.
- Asynchronous Operations with Xamarin.iOS published by Visual Studio Magazine. The release of .NET 4.5 (and C# 5.0), in the fall of 2012, was a
blockbuster update with regards to asynchronous operations and threads.
Microsoft has added C# language keywords to take this non-linear
callback-based program flow and turn it into a much more linear flow.
Recently, Xamarin has updated Xamarin.Android and Xamarin.iOS to support
- Creating a User Interface with Visual Studio and Xamarin.iOS published by Visual Studio Magazine. No matter your feelings toward Apple, there's no denying the marketplace
likes the iPhone and iPad family of products. You can't ignore them,
and because you're reading this column, I thought it would be
interesting to look at the options you have for creating a UI with
- Cross Platform - Platform Exploration published by Learn Now Online, LLC.
In this course, we will take a quick look at Monocross.
With Monocross, we can have a device container, such as an iPhone or
Android container. Outside of that device container, we have device
independent code that we can use. Then we’ll look how to use MonoTouch
and Mono for Android to build applications that run on handsets as well
as tablets. For iOS, this means that we can use a Universal application
to build an app that runs on the iPhone as well as iPad. For Android,
this means that we can build one application that can run on handsets
and tablets. To end the course we’ll look at a few pitfalls that
developers need to be aware of when building applications using
MonoTouch and Mono for Android.
- Cross Platform - APIs for Cross Platform - Web Services, LINQ, Xamarin.Mobile, JSON, XML published by Learn Now Online, LLC.
In this course, we will look at the Xamarin Mobile API.
Mobile devices tend to have features that are functionally the same
except for the APIs. For example, there is a geolocation api. The
geolocation api is functionally the same across iOS and Android, yet the
APIs are very different. Then we’ll look at various other services that
can be commonly used in the mobile world with iPhone and Android. We
can use the same API to call out to web services to get data. When that
data comes back, we can use the same API in JSON and XML to process
returned data in the iPhone and Android.
- Cross Platform - Solutions and File Linking published by Learn Now Online, LLC.
In this training course, we will look at the background on
mobile, what is happening in the marketplace, why cross platform
development makes sense, and some general strategies for cross platform
development with iOS, Android, and Windows. These platforms all have one
thing in common; the platforms can all be targeted with the C#
language. Next we will examine file linking, general abstraction, the
observer pattern, partial classes, and conditional compilation. In file
linking, we can use cross platform language features, such as calling
web services, LINQ, XML, and JSON to handle the communication with a
remote data source on both android and iPhone.
- Google Maps for iOS published by Visual Studio Magazine. With the introduction of iOS 6 in September 2012, Apple Inc. removed
the map system based on Google Maps and introduced its own map system
for iPhone and iPad users. The introduction of Apple Maps, like any new
technology, came with its own problems. In December 2012, Google released its Google Maps SDK for iOS.
(Check the Google Maps SDK for iOS page for additional documentation as
new features are deployed to the product.) Google Maps for iOS has a
long, solid track record, given the use of its data in Android and many
years of usage. The introduction of Google Maps for iOS has resulted in a
measurable increase in the number of users who have updated their
existing iPhones from iOS version 5 to iOS version 6. This article will
look at using Google Maps for iOS using Xamarin.iOS.
- Introduction to Xamarin.iOS for Visual Studio
published by Visual Studio Magazine. Developers working with Xamarin
MonoTouch have been stuck with
developing on a Macintosh and working with MonoDevelop. This hasn't been
a bad thing. The Apple iOS SDK only runs on the Mac, so this
requirement hasn't been a major limiting factor in iOS development.
Unfortunately, .NET and C# developers are used to using Visual
Studio. Microsoft has spent a lot of time, effort and money to make
Visual Studio the premier software development tool in existence.
Xamarin Inc. has heard from those developers who want to integrate
Visual Studio with iOS development. On Feb. 20, Xamarin introduced Xamarin.iOS for Visual Studio.
This plug-in allows developers using Visual Studio to write iPhone and
iPad applications for the iPhone using the Microsoft .NET Framework and
- This Wrox Blox is for .NET developers who want to learn to develop for
the iPhone with C# using MonoTouch and MonoDevelop on the Mac. The
iPhone is the smartphone leader in mindshare and the amount of money
spent on applications. This lead in money spent on applications is
expected to grow over the next several years. Objective-C is the native
language for iPhone development. .NET developers, who work in the
largest general area of development frameworks, have looked at iPhone
developers with a great deal of envy. But with the release of MonoTouch,
.NET/C# developers can apply their knowledge to iPhone development.
This Wrox Blox will provide you with the basics of development on the
iPhone with MonoTouch and MonoDevelop.
- What .NET C# developers need to enter the hot field of iPhone apps
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.The subject is an introduction to MonoTouch.
- In 2009, Novell announced a version of its Mono .NET-compatible open
source development platform that's designed to run within the iPhone as a
native application. This version of Mono, named MonoTouch, generated
significant excitement within the .NET community. MonoTouch lets .NET
developers take a portion of their existing development knowledge and
use that to build applications that run on the iPhone. Although you
can't take an existing .NET application and run that application on the
iPhone, developers can apply their knowledge to building iPhone
applications. I liken this to you, as an American, going to England and
speaking the British dialect. You know the same basic language; but the
accents, mannerisms, and certain terms are different. This article was published in the April, 2011 edition of Dev Pro Connections magazine.
Introduction to the UITableView: Data is what makes applications go. It could be a Twitter search, a
running game score where you are playing against your friends, sales
data, or any other type of data that users want to base decisions on. In
this article, we're going to look at presenting tabular data to users
in a UITableView. The UITableView has a number of visually attractive
default styles that you can use. After we're done looking at these,
we'll look at creating a custom UITableView layout. Along the journey,
we'll look at some optimizations we can do that will give the user an
improved experience. After we're done with this, we'll look at some
strategies to get at various data sources, such as Representational
State Transfer (REST), Windows Communication Foundation (WCF), SQL
Server, and the on-board SQLite database. This article was published in the January, 2012 edition of Dev Pro Connections magazine.
- Introduction to Mapping and Location Based Services: Mobile phones are by definition, mobile. A couple of interesting
questions that come up when users are mobile are, "What's around me for
dinner?" and "Where can I get gasoline?" If you are a retailer or a
company, you want to tell potential customers that there is a retail
location near them. If you are a user, you might also be interested in
learning about how to go from where you are to a specific address. In
this article we'll look at these and associated features, so that we can
provide them to users via mapping and location services to users in iOS
This article was published in the January, 2012 edition of Dev Pro Connections magazine.
- Training on iPhone and iOS Introduction featuring iOS4: The iPhone and the OS of the iPhone, iOS, have set a standard for all
smart phones for usability. As iPhone became more powerful it made since
to advantage of that power and create applications for the iPhone that
allow employees or customers to use company systems to the companies’
benefit. This course introduces MonoTouch, a program add-on for
Xcode that is used to create applications for the iPhone and iOS using
C# and the .NET framework and not in the native Object C language of
iOS, thus making it easier for C# programmers to create iPhone
applications. This course will start off with an introduction to the
iPhone, Xcode and MonoTouch. Then move on to application events, screen
controls and tabular data. iPhone mapping and location services as well
as integrating with other applications via URLs are discussed.
- A bundle of 3 best-selling and respected mobile development e-books from Wrox form a complete library on the key tools and techniques for developing apps across the hottest platforms including Android and iOS. This collection includes the full content of these three books, at a special price:
Working with Images and Animation on the iPhone and iPad with .NET and C#: Part 1. Multimedia has come a long way during my career in programming. I
remember the HP-41C, the first calculator that I used day to day in my
years (unfortunately, I've only gotten geekier as I have gotten older).
It could only output text and a few beeps. I was in nirvana and thought
couldn't get any better. Now, everyone in my family has an iPhone and an
iPad. With these devices, we can use software and hardware to record
audio and video, take and display pictures, and modify this content.
- Professional Android Programming with Mono for Android and .NET/C#, ISBN: 9781118026434, by Wallace B. McClure, Nathan Blevins, John J. Croft, IV, Jonathan ***, and Chris Hardy
- Professional iPhone Programming with MonoTouch and .NET/C#, ISBN: 9780470637821, by Wallace B. McClure, Rory Blyth, Craig Dunn, Chris Hardy, and Martin Bowling
- Professional Cross-Platform Mobile Development in C#, ISBN: 9781118157701, by Scott Olson, John Hunter, Ben Horgen, and Kenny Goers
In this article (part 1) and the one soon to follow (part 2), I will
discuss developing multimedia applications for the iPhone/iPad/iOS with
C# using Xamarin's MonoTouch
iOS development platform. Specifically, in the
two-part series we'll explore taking pictures, displaying pictures,
recording video, and playing video in iOS. In my experience, these are
common operations performed by iPhone and iPad users. And for good
measure, along the way we'll bounce a golf ball around the screen of
and we'll do it all in C#. This article was published in the April, 2012 edition of Dev Pro Connections magazine.
Cross Platform Development with Mono for Android and MonoTouch -
Many years ago, in fact pre-Java, I remember a hallway discussion about the desire to write a single application that could easily run across various platforms. At the time, we were only worried about writing applications on Windows 3.1 and Mac OS 7.x. There were many discussions about windows, user interface concepts, and specifically a rather long discussion as to whether Mac users would accept a Mac application that didn't have balloon help. Thankfully, the marketplace answered this question for us with the Windows API winning the battle.
A similar set of questions is currently going on in the mobile world. Unfortunately, at this point in time, there is currently no winning API and none currently in sight. What's a developer to do? Here are some questions that developers have (and there are many more):
- How can mobile developers target Android and the iPhone with the same code?
- How can .NET developers share their code across Android, iPhone and other platforms?
- How can developers give applications the look and feel of the specific platform and still allow as much code as possible to be shared?
- Mobile devices share many common features, such as cameras, accelerometers, and address books. How can we take advantage of them in a platform independent way and still give the users the look of every other application running on their platform?
In this article, we'll look at some solutions to these cross-platform and code-sharing questions between Mono for Android, MonoTouch and the .NET Framework available to developers.