Boy oh boy, talk about a learning curve. It is not rocket science by any means, but learning how the new tools work, and work together, makes for some long self-education sessions.
The biggest issue that I face is just plain not knowing and/or understanding the various messages that get displayed or reported. As a Visual Studio developer on Microsoft Windows, I usually know what to do when Windows or Visual Studio tells me something. With the Mac and MonoDevelop, not so much. Again, change of environment, change of thinking.
So, if you happen to be like me, and want to get started with Monotouch, do these things:
Step 1: Purchase these books:
They are all pretty good and each has something unique to share.
- Learning MonoTouch: A Hands-On Guide to Building iOS Applications with C# and .NET
- Developing C# Apps for iPhone and iPad using MonoTouch: iOS Apps Development for .NET Developers
- Professional iPhone Programming with MonoTouch and .NET/C# (Wrox Programmer to Programmer)
Note: I wrote a review of Professional iPhone Programming in 2010 and need to carve out some time to review the others as well.
Step 2: Review the Tutorials and Documentation
While you’re waiting for your books to arrive, you can explore the Monotouch documentation. Xamarin has done a really good job of updating both their documentation and tutorials, which you may find here.
Step 3: Get the Tools
Ok, this may be the first step because without the hardware and software, you can’t do any development. I put this as step 3 because it may turn out that you don’t like what you see and you choose not to pursue your Monotouch development. If you DO choose to continue, you’ll need these things:
Apple’s XCode only runs on a Mac so you’ll need one at some point. I needed a new 64-bit laptop so I chose a Macbook Pro and I just run VMWare Fusion to handle virtual machines that I need for my real job.
An alternative may be MacinCloud, which is a cloud-based Macintosh rental service. I’ve not tried this personally but they have Monotouch pre-loaded so this could be an option.
Note: If you’ve tried MacinCloud, I’ll love to hear about it.
Well, it goes without saying that you’ll need Monotouch to do development with Monotouch. However, you don’t have to immediately purchase a license. The trial version will allow you to run your code in the simulator which may work for some period of time. A full license is required to actually deploy to a device.
MonoDevelop is the Visual Studio-like development for Monotouch. It handles most of the work necessary to talk to the Monotouch compiler, XCode, etc.
Conclusion of Day 1
Well, that’s about all there is for Day 1. I’m still working through tutorials and scanning my books myself. I think I’ll try to connect Macbook to my wide monitor tonight so that I can see the tutorial on one side of the screen and have the development environment open on the other. Working on a 15-inch screen and swapping back and forth proved ineffective for me personally.