News

Tool Opens Windows on the iPhone

As .NET developers await the release of devices based on a long-awaited update to Microsoft's Windows Mobile, they can now start to port their enterprise apps to Apple's iPhone.

Novell today released MonoTouch 1.0, a tool designed to let programmers who use Microsoft's .NET Framework develop applications for the popular iPhone and iPod devices. MonoTouch is the first tool to come from the Mono Project targeted at a mobile platform.

The Mono Project is an effort organized by Novell to bring .NET and Windows-centric development languages and platforms to Linux, Unix, Macintosh and other operating environments.

Miguel de Icaza, founder of the Mono Project and a Novell VP, said the decision to develop MonoTouch came from a campaign by .NET developers seeking an alternative tool to develop for the iPhone. "We were bombarded with requests," de Icaza said in an interview.

While Apple boasts more than 50,000 applications on its App Store, building applications for the iPhone primarily requires developers to program in C and Apple's Objective-C languages. That is not appealing to many enterprise development shops.

"We are seeing a lot of iPhones work their way into the enterprise yet the number of people willing to make the commitment to bring in people with Objective-C skills is low," said Joseph Hill, a Novell product manager.

"The iPhone is something that employees are using and IT organizations have to figure out how to deal with that," said Philippe Winthrop, director of enterprise mobility requirements at Strategy Analytics. According to the market researcher, one of every four employees within enterprises uses an iPhone.

MonoTouch 1.0 consists of a software development kit that can be integrated into Novell's MonoDevelop, an IDE that allows C# and Visual Basic developers to use their .NET-based use code and libraries for the iPhone.

Travis Siegfried, an IT advisory specialist for IBM Global Services' mobile consulting organization, said the tool promises to enable the development of Windows-centric enterprise applications for the iPhone. "This will allow additional iPhone development in the corporate sector as opposed to games and fun applications currently available in the AppStore," said Siefgried, who has been involved in a number of enterprise iPhone projects.

There are nuances and limitations of the tooling. For one, developers must use an Apple Macintosh to output the code just as they must with Objective-C. Also de Icaza said: "This is the first time that we've taken a dynamic system like .NET and turned it into a fully static system. We had to build a full static compiler that would take .NET code and just generate static code with no JIT compiler. So in fact when you run Mono on the device there is no JIT available at all.

"The only thing you have is object services, garbage collection services, threading services but it is not a traditional .NET runtime," he added. "None of the dynamic features of .NET are present on this. That's the limitation that Apple has imposed at legal level and at a technical level."

That means there will be restrictions to what developers can build for the iPhone. Burning in corporate code based on dynamic .NET code such as Iron Python or Iron Ruby will not be an option, he said. Static code C# and Visual Basic Code, however, will not be a problem, he added.

Furthermore, any applications developed for the iPhone will have to use the iPhone interface. "There's no Windows Forms, no Silverlight or WPF, it must be the C# language," de Icaza said. Novell does plan to introduce a Silverlight compiler for the 2.0 release, he added, though he didn't specify a timeframe. That will allow developers to push Silverlight applications to Apples iTunes App Store.

For now, developers must use the MonoTouch APIs, which ensure the application looks like an iPhone. "It uses all the widgetry and the user interface elements of the iPhone," he said.

Novell is offering two versions, personal and enterprise editions. The latter allows developers to circumvent the Apple App Store for enterprise deployments. The personal version costs $399 per developer, the enterprise costs $999.

About the Author

Jeffrey Schwartz is editor of Redmond magazine and also covers cloud computing for Virtualization Review's Cloud Report. In addition, he writes the Channeling the Cloud column for Redmond Channel Partner. Follow him on Twitter @JeffreySchwartz.

comments powered by Disqus

Featured

  • VS Code 1.125 Adds Copilot Spend Meter After Billing Shock

    VS Code 1.125 adds in-editor visibility into additional Copilot budget usage as GitHub's AI-credit billing model continues to draw developer scrutiny.

  • TypeScript 7.0 RC Moves Microsoft's Go Rewrite Into the Mainline Compiler

    Microsoft's Go-based TypeScript rewrite has reached Release Candidate status, moving from a separate native-preview package into the regular TypeScript npm package while leaving some ecosystem-facing API work for TypeScript 7.1 or later.

  • Microsoft Highlights Visual Studio Live! Event Lineup and Longtime Developer Community Role

    A Microsoft MVP Blog post on Visual Studio Live!'s longevity arrives as the 2026 conference series continues with upcoming stops at Microsoft HQ, San Diego and Orlando.

  • Using Local AI to Cut Copilot Usage-Based Billing Shock

    After being gobsmacked by the new billing plan using almost all my monthly credits in one or two days, I tried pushing some Copilot-style coding work onto local models in VS Code. What I found was less "free AI" and more "pick your pain": cloud charges on one side, heavy local resource use and long waits on the other.

Subscribe on YouTube