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