.NET developers can now target both the iPhone and the Apple App Store. On September 14, Novell announced the availability of MonoTouch 1.0, a software-developer kit (SDK) that enables developers to create iPhone- and iPod Touch-based apps that leverage the Mono versions of .NET.
According to Novell, MonoTouch is a static compiler that turns .NET executables and libraries into native iPhone applications. Note that your MonoTouch iPhone apps do not ship with a JIT or interpreter, but as native code. This adheres to the requirements of the Apple iPhone Developer program, which proscribes developers from distributing scripting engines or JIT compilers. In addition to Mono's core Base Class Libraries, MonoTouch also ships with bindings for various iPhone APIs to allow developers to create native iPhone applications with Mono. Another significant feature: XCode integration enables developers to test their applications on a device or in Apple's iPhone Simulator. It also enables developers to send applications to the Apple Apps Store for distribution.
One of the key advantages of MonoTouch is that it lets you use C# instead of C or Objective-C, simplifying the effort required to create apps for the iPhone platform, especially for those already familiar with the .NET Framework.
You should be aware of one important caveat: You cannot create apps for the iPhone on Windows-based machines. Instead, MonoTouch requires a Mac and Apple's iPhone SDK to test on its emulator and deploy on the device. Also, deploying iPhone apps requires that you sign up for an iPhone Developer account. You can sign up for a free Apple iPhone Developer account. Apple's site notes that you must be using an Intel-based Mac running Mac OS X Leopard.
You can find more information on MonoTouch, including articles about the product and sample code. You can learn more about the Mono Project, which Novell sponsors. Finally, you can read up on what .NET features MonoTouch supports; you can also read up on what .NET features aren't supported in MonoTouch.
MonoTouch comes in two editions: Personal and Enterprise. A single-developer Enterprise license retails for $999, and it includes a one-year subscription that includes maintenance and updates. You can also purchase a five-developer Enterprise Edition license for $3999 per year. Finally, if you are interested only in developing iPhone or iPod Touch apps for distribution on the Apple App Store, you can purchase a non-transferable Personal license for $399. The personal license also comes with one year of MonoTouch updates and the ability to distribute apps built with MonoTouch on the Apple App Store. You can acquire either edition or learn more about both.