MonoTouch Has Added Support for Apple’s iPad
Within 24 hours of the announcement of the new iPad tablet from Apple, the MonoTouch team has released MonoTouch 1.9 (alpha), which is focused on helping developers to write .NET application for the iPad.
The iPad is the long-awaited tablet computer from Apple which aims to fill a gap between small mobile devices (e.g. mobile phones) and laptops. With the visual appearance of a scaled-up iPod Touch, the iPad is close to a netbook with an important difference: there is no external mouse or keyboard, the input being done exclusively though multi-touch; this means clicks, double-clicks and right-clicks become taps, pinches and twirls.
Developing Mono-based applications for iPad has similar requirements as developing for iPhone: MonoTouch using the iPhone SDK which includes support for iPad. It is important to note that, while theoretically one could develop iPad applications on Windows or Linux, in practice a Mac OS X Leopard or Snow Leopard system is necessary because the iPad Simulator (a hardware emulator) and Interface Builder (a visual tool for building the UI) currently only run on Macs. Also, Apple forced the MonoTouch team to install MonoTouch only if the iPhone SDK is present on the computer. That means developers are limited to the Mac closed environment. The complete set of requirements are:
- An Intel Mac Computer Running Mac OS X 10.5 or 10.6
- Apple’s iPhone SDK 3.2
- The latest Mono
- MonoTouch 1.9 Alpha
- MonoDevelop 2.2.1 (This is not mandatory, but is very helpful)
The iPhone SDK does not support creating applications both for the iPhone and iPad in the same time, but it is likely such support will be added later and it will be made available in MonoTouch as well.
Limitations that apply to iPhone development (and therefore which apply to iPad development too) include limited generics support, no dynamic code generation due to lack of support from iPhone OS, no remoting, no COM bindings and no JIT. MonoTouch contains many basic assemblies but none related to the client interface, so Silverlight, WPF or WinForms can’t be used to create the interface. The Interface Builder based on Apple’s Cocoa Touch should be used instead.
The InfoQ article MonoTouch: .NET Development for the iPhone can be used as a guideline for developing for iPad since they are both using the same iPhone SDK.