Here it comes: .NET for the iPhone

By Scott M. Fulton, III | Published September 14, 2009, 11:49 AM

The big payoff for Novell's investment in an open-source version of a platform created by its rival in the operating system category, Microsoft, may come in the unlikeliest of places: Today, Novell begins shipping the 1.0 edition of MonoTouch, its commercial software development platform that extends the .NET Framework and the C# language...to Apple's iPhone.

Although this effort is itself an extension of Mono, the open source .NET extension for Linux and Mac that's funded by Novell, MonoTouch is somewhat different: First, it includes an exclusive, Mac-based development environment for iPhone. Second, it requires the iPhone SDK, which means MonoTouch is being marketed for registered Apple iPhone developers. Third, it ain't free -- a five-developer license costs $3,999.

"We debated internally what exactly Mono for the iPhone would be," blogged Mono creator Miguel de Icaza this morning. "We considered doing a Windows.Forms port, to bring Compact Framework apps to the iPhone, but that would have required a complete new back end for Windows.Forms and would have required also a 'theme' engine to make it look like the iPhone. We discarded this idea early on. We decided instead to go with a native binding the iPhone APIs. It would not be a cross platform API and it would tie developers to the iPhone platform, but it would also mean that applications would look and feel native, and developers would get closer to the iPhone."

Previously, it was possible for Mac developers using the Unity game development environment -- the one that originally used Java and that moved to Mono 2.0 for OS X last year -- to produce bytecode that does run on the iPhone, de Icaza noted, and several iPhone apps have already been produced that way. But the next logical step appeared to have been a binding for Objective-C, the object-oriented C language already familiar to Mac developers. While that's possible for the Mac -- a tool called Monobjc already does this -- there's no way to extend that bridge to the iPhone, wrote de Icaza, since its kernel actively prevents the use of just-in-time (JIT) compilers.

That's actually a bit of a problem for MonoTouch too, and the Mono team has actually posted a page of the various ways Apple has been no help. Because of what the iPhone prevents developers from doing by their own means, there's not only no JIT compilation but no way to do high-level debugging -- finding problems at the source code level through testing prior to compilation.

The MonoDevelop IDE for Mac, being used for MonoTouch development for iPhone

[Screenshot courtesy Novell]

Still, it's the quality of the compiled code that de Icaza believes could move iPhone developers to MonoTouch anyway. The same degree of size reduction and speed boosts seen by Unity when it moved from Java, he said, may be possible for iPhone developers moving from Objective-C. Compensating for the iPhone's lack of debugging support, de Icaza's team built an iPhone simulator called mtouch, so developers can debug off of the iPhone, prior to deployment. The mtouch tool serves not only as a staging area but as a deployment vehicle, building the .app bundle that gets transferred to the device itself (the documentation for this feature has apparently yet to be written).

The Personal Edition of MonoTouch, with a single license and the MonoDevelop IDE for Mac, is somewhat cheaper, selling for $399. Individual developers interested in deploying their apps through the iPhone App Store will need to invest in the Enterprise Edition, however, which sells for $999.

Comments

View comments by with a score of at least

That's a little harsh!

Score: -1

|

.NET is totally unnecessary for the iPhone.

Score: -1

|

Oh, that's why!

From Visual Studio Magazine:

"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."

Hope this will be optional. Don't want my iPhone slowed down with this crap, or with Adobe Flash for that matter.

Score: 0

|

Great article commun5.
Nobody actually needs .NET/Mono.
And about the cross-platform stuff.
Some stuff in .NET are patented!
Not the ECMA-certified language standard but some stuff used in .NET.
Mono has already a roadmap where it's being split in two: the ecma stuff and the patented stuff that enable compatibility.

Score: 0

|

And iPhone users who also use Mac computers need .NET Framework why?

Score: -2

|

Here it comes, but the question is will anyone use it. Also note this is coming from Novell not Microsoft.

Score: 0

|

Novell has been contracted by Microsoft to make Mono.

Score: 0

|

.net? So apple users have 20 minutes of post patch compiling to look forward to? I like Microsoft's strategy!

Score: -2

|

Could you explain what you are talking about? I must be lost.

Score: -3

|

.Net framework installations on Windows boxes typically require several base installations, and service packs to those installations (for security and bugfixes.) Those service packs and patches often require recompiling .net framework files, bringing 10-25 minute wait times, not to mention reboot times for every machine installed. Even on modern machines the wait times are fairly bad, so my tongue-in-cheek point above is Microsoft plans to install these frameworks so that users will simply get frustrated with their phones and the inevitable waiting they will have to do.

Thanks for the downvotes, folks. BN never disappoints.

Score: 1

|

Oh and Apple users are no strangers to waiting. Every plug-in is a sync of 10-20 minutes of waiting, not to mention the backups for OS upgrades, and the OS upgrades themselves. Microsoft should do a total cost of waiting for iPhones, because it is a *lot* of waiting, especially for 32Gig iPhones over USB2/Firewire.

Score: 1

|

I can see that. But I would doubt that the Apple one would require that. Mono is quite a different experience.

I've ran Mono in production environments and aside from some command line Linux stuff, everything went smooth.

Score: -1

|

Without .NET/Mono everything goes even smoother!

Score: 0

|

Google Buzz: Another attempt to harness the content firehose

Similar to how Google successfully remolded RSS into a Google tool, the company now wants to remold Gmail into one big Google party

Success: Google's Nexus One shipping support line takes tech support questions

UPDATED Though the support line had been set up for shipping, it now appears Google personnel are happy to hear technical concerns.

Goodnight, moon: What I learned from a space shuttle

Carmi Levy | Wide Angle Zoom: Can the tech sector learn a few lessons from the space program? Certainly, if you believe in learning from someone else's mistakes.

Netflix to FCC: NBCU + Comcast could bypass net neutrality

Weaning itself from the post office as its main means of video transfer, Netflix would like someone to ensure the Internet remains just as unencumbered.

Rhapsody to become an independent company

RealNetworks and Viacom subsidiary MTV Networks have begun the process of spinning off music service Rhapsody into an independent company.

Nvidia debuts new dynamically-switched graphics card technology

Today, Nvidia announced that its Optimus technology for GPU switching will soon be available in a handful of Asus notebooks.

Google lowers 'unusually high' early termination fee on Nexus One

Google has lowered the Nexus One's early termination fees which were twice as high as the norm.

Netgear and Ericsson introduce a mobile broadband hotspot with a twist

It's a mobile broadband hotspot, but it's for use in the home.

Report: Streaming video drove 72% global increase in mobile data consumption

A new study says streaming video is "the single most influential factor driving the need for increased mobile network capacity."

Stymied by continuing Nexus One 3G issues, Google blames the environment

If you're still afflicted with the 3G flip-flop trouble, then you might consider moving. That appears to be the only suggestion Google can give for now.

Wolfram|Alpha makes a strong argument for virtual keyboards

"Answer engine" Wolfram|Alpha has updated its iPhone/iPod Touch app, harnessing the strength of the virtual keyboard.