Novell has announced the commercial release of MonoTouch 1.0, a solution for developing applications for the iPhone and iPod Touch using the Microsoft .NET framework, including C# and other .NET programming languages.
Novell officials touted the new technology as a liberating concept for iPhone application developers, because developers have primarily built iPhone applications using C and Objective-C, putting iPhone development beyond the reach of most .NET developers. With MonoTouch, the creativity of millions of .NET developers worldwide can be unleashed to build a vast array of iPhone applications, Novell said.
In an interview with eWEEK, Miguel de Icaza, vice president of developer platform at Novell and founder of the Mono open-source project, said, "We want to do what Eclipse did for the Java community, but for the .NET community."
MonoTouch was developed by the Mono Project team and it simplifies iPhone development by allowing developers to utilize code and libraries written for the .NET development framework and programming languages such as C#, IronRuby and IronPython. Individual .NET developers and independent software vendors (ISVs) can now sell their products into a massive new market, while corporate developers and IT organizations can deploy their applications in a new mobile computing environment.
The iPhone developer program license restricts developers from distributing scripting engines or Just-In-Time (JIT) compilers, which are required by managed runtimes such as .NET for code execution. As a result, the world of iPhone applications had been previously closed to .NET and Mono developers. Developers can now use MonoTouch while fully complying with these license terms because MonoTouch delivers only native code.
"Developing our mobile forms solution on multiple platforms before MonoTouch from Novell was time-consuming due to the diverse technology platforms," said Simon Guindon, mobile solution developer at TrueContext. "With MonoTouch, we can now optimize development for the future and enrich the Pronto Forms product offering at a faster pace."
Indeed, de Icaza said when the Mono team "took a bunch of Apple [Objective-C-based] samples and rewrote them in C#, they were one-half to one-third the size they were before -- meaning you use less code
The popularity of the iPhone and iPod Touch has created a huge market for iPhone applications. According to Scott Ellison, vice president of Mobile and Wireless at IDC, in its first year the Apple Apps Store had more than 50,000 available applications, and well over 1 billion downloads with an average of more than 140 new applications launched every day.
"The iPhone has experienced tremendous adoption in both consumer and business markets," said Al Hilda, program director, Application Development Software at IDC, in a statement. "Given that applications are a key reason for the iPhone's success, a solution that allows .NET developers to use existing skills to build iPhone applications is an exciting and consequential milestone in the evolution of mobile platforms."
The Mono team initially started working on the MonoTouch technology in 2008 when the team began working Unity Technologies, a game maker that was working on building Mono-based games for the iPhone, de Icaza said.
In a blog post, Tom Higgins, a product evangelist for Unity, said, "Unity has helped bring the Mono framework on to both the iPhone and the Wii console."
MonoTouch from Novell is a software development kit that contains a suite of compilers, libraries and tools for integrating with Apple's iPhone SDK. Microsoft .NET base class libraries are included, along with managed libraries for taking advantage of native iPhone APIs, Novell said. Also included is a cross-compiler that can be used for turning .NET executable files and libraries directly into native applications for distribution on the Apple Apps Store or for deployment to enterprise iPhone users. In addition, Xcode integration enables application developers to test on the device or in Apple's iPhone Simulator and ship applications to the Apple Apps Store for distribution.
In a blog post, de Icaza said MonoTouch consists of:
"??Ã MonoTouch.dll -- The C# binding to the iPhone native APIs (the foundation classes, Quartz, CoreAnimation, CoreLocation, MapKit, Addressbook, AudioToolbox, AVFoundation, StoreKit and OpenGL/OpenAL).??Ã Command Line SDK to compile C# code and other CIL language code to run on the iPhone simulator or an iPhone/iPod Touch device.??Ã Commercial license of Mono's runtime (to allow static linking of Mono's runtime engine with your code).??Ã MonoDevelop Add-in that streamlines the iPhone development and integrates with Interface Builder to create GUI applications."
"The vast majority of Windows-centric developers, ISVs [independent software vendors] and IT organizations have chosen the C# language and .NET for development," de Icaza said. "As such we have seen tremendous demand for tools to build .NET-based iPhone applications. We developed MonoTouch in response to this demand, giving both individual developers and businesses a solution that breaks down the barriers to iPhone application development."
Moreover, de Icaza said MonoTouch "is probably the most sought after piece of technology in the history of the [Mono] project. Since October we have been bombarded with requests for it."
Yet, although Mono is an open source project, MonoTouch is a commercial venture from Novell. MonoTouch Personal and Enterprise Editions are available now through http://shop.novell.com. For individuals only building applications for the Apple Apps Store, MonoTouch Personal Edition is available for $399 per developer for a one-year subscription. MonoTouch Enterprise Edition is available for $999 per developer for a one-year subscription, which includes maintenance and updates. A five-developer Enterprise license supports five concurrent developers and is available for $3,999 per year.