Mono的第一个商业版本:MonoTouch

MonoTouch是Mono运行时的一个移植版本,附带了一个适配器层,以便.NET开发人员能够使用原生的iPhone GUI工具包。MonoTouch在Mono的世界中是独一无二的,因为它是Novell发布的第一个商业Mono产品。如大家预料的一样,引起了社区的强烈反应。

包含在MonoTouch中的主要组件是:

  • MonoTouch.dll,访问iPhone原生API的C#互操作程序集(基础类、Quartz、CoreAnimation、CoreLocation、MapKit、Addressbook、AudioToolbox、AVFoundation、StoreKit和OpenGL/OpenAL)。
  • 命令行SDK,用来编译C#代码和其他CIL语言代码,让它们可运行于iPhone模拟器或iPhone/iPod Touch设备中。
  • Mono运行时的商业许可(让你的代码可以使用Mono运行时的静态连接引擎)。
  • MonoDevelop插件,让iPhone开发更加简单,并集成了Interface Builder以方便创建GUI应用程序。

对MonoTouch一个常见的异议,就是大家认为Objective-C已经是iPhone开发最适合的语言。然而,Miguel de Icaza宣称,C#具有一些重要的优势。

随着mtouch命令和互操作功能的完成,我们开始尝试把Apple iPhone例子由Objective-C移植为C#。在这个过程中,我们发现两件事情:C# 3.0的构造器的初始化器是个非常棒的功能。

并且,这些被移植后的例子只有同样的Objective-C程序的一半体积。

Miguel接着解释到,MonoTouch的XML+分部代码隐藏类的方式如何消除Objective-C头文件和代码文件所需的那种冗长繁复。

大家的另外一个不满就是,MonoTouch不是开源的。新购买的单用户许可每年每人需要支付399美元,而企业版则需要支付夸张的999美元/每用户。由于和Apple的iPhone SDK紧密的集成在一起,程序员还是必须使用Mac来进行开发。

查看英文原文:Mono’s First Commercial Release: MonoTouch

你可能感兴趣的:(Mono的第一个商业版本:MonoTouch)