Mono in Transition; C# or Objective-C?
Funny that although I have been trying to cancel my "InformationWeek" magazine subscription for quite some time, just as the publisher threatened that the June 13, 2011 issue "may be one of your last unless you revew now" comes an article, ".NET Alternative in Transition", that finally peaks my interest, partially because the publisher beat some of my other traditional sources of technology news, but partially also because of the relevance to the cross-platform mobile development project I started earlier this year and discussed in a series of blog entries.
Work on open source project Mono, originally started by Ximian in 1999, continued to flourish after being acquired by Novell in 2003, but Novell was in turn unexpectedly acquired by Attachmate in November, 2010, the sale of which completed in April, 2011 alongside a sale of "certain intellectual property assets" to CPTN Holdings, a consortium led by Microsoft, that included Mono. Attachmate fired the entire team of Mono developers in May, 2011, and although it retains intellectual property rights for Mono, much of which is copyrighted by Novell and available under an open source license, lead Miguel de Icaza moved quickly to form a new company, Xamarin, with the core Mono development team.
De Icaza's first goal is to push ahead with Mono on mobile devices, specifically Apple iOS and Android, with development in Microsoft C# (which he describes as a "beautiful language") on mobile devices as the first priority. True portability between these two platforms and Microsoft Windows Phone is the goal, and Xamarin Studio is set to be released later this year. De Icaza clarifies this direction in an interview with "Application Development Trends" magazine. Because Novell owns some of the technologies that the Mono team has already built, such as MonoTouch and Mono for Android, Xamarin needs to build some of its initial products from scratch, including new .NET incarnations for Apple iOS and Android. De Icaza:
At Novell we built both open source and proprietary products. The open source code is, well, open source. And the proprietary things are owned by Novell. We need to rebuild those things if we want to be in the market with similar products.
In response to de Icaza's original blog entry, it is apparent that there is a lot of discussion surrounding pricing, because Xamarin offerings are planned to be commercial. Of course, the other common discussion point is the viability of these products, which Xamarin currently plans to release as a suite. As one commenter to de Icaza's blog entry mentioned, Android already has Java, and Windows Phone already has C#, so C# for Apple iOS might be seen as one of the only real benefits being offered here (i.e. no need to program in Objective-C, which does not have a reputation for being a "beautiful language"), even given the fact that platform portability is what is being sold.