InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

Mono的第一个商业版本:MonoTouch

作者 Jonathan Allen 译者 朱永光 发布于 2009年9月19日

领域
语言 & 开发
主题
MonoTouch ,
嵌入设备 ,
iOS ,
Mono ,
.NET ,
嵌入式系统开发 ,
操作系统 ,
移动 ,
iPhone ,
编程

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

译者 朱永光 是IT自由人和环境保护者,微软最有价值专家(MVP)和MCSD。

不是说苹果不让第三方的语言在上面运行吗? 发表人 yibing zhang 发表于
不出意料,MONO果然要收费了 发表人 Lee Jet 发表于
现在做iPhone应用的大部分都在用本地网页技术了 发表人 wen bob 发表于
Re: 现在做iPhone应用的大部分都在用本地网页技术了 发表人 Chu Kevin 发表于
  1. 返回顶部

    不是说苹果不让第三方的语言在上面运行吗?

    发表人 yibing zhang

    不是说苹果不让第三方的语言在上面运行吗
    如果是真的话还是C#比Objective-C要好用啊
    成本也低啊

  2. 返回顶部

    不出意料,MONO果然要收费了

    发表人 Lee Jet

    这世界没有免费的午餐,MONO作为第一个可移植.Net framwork,被广大.net开发人员所关注,往往大家都误以为跨平台就是免费。然而忽视了MONO本身是有一个商业性的公司所开发的,这注定它天生是不会免费。

  3. 返回顶部

    现在做iPhone应用的大部分都在用本地网页技术了

    发表人 wen bob

    只需要一个通用的webkit框架,把网页加载显示,就OK了,程序本身都是用javascript的,这种程序还很容易就移植到Android平台。我现在负责的项目都是这么做的。mono注定卖不出多少的,呵呵。

  4. 返回顶部

    Re: 现在做iPhone应用的大部分都在用本地网页技术了

    发表人 Chu Kevin

    iPhone上的很多程序都不是用webkit和JavaScript开发的吧?这种模式,在WM6.5也支持。但是个人感觉还是客户端程序更好。