Novell發(fā)布第一個商業(yè)Mono產(chǎn)品MonoTouch
不知讀者們是否聽說過MonoTouch,下面來介紹一下。
MonoTouch是Mono運行時的一個移植版本,附帶了一個適配器層,以便.NET開發(fā)人員能夠使用原生的iPhone GUI工具包。MonoTouch在Mono的世界中是獨一無二的,因為它是Novell發(fā)布的第一個商業(yè)Mono產(chǎn)品。如大家預(yù)料的一樣,引起了社區(qū)的強烈反應(yīng)。
包含在MonoTouch中的主要組件是:
◆MonoTouch.dll,訪問iPhone原生API的C#互操作程序集(基礎(chǔ)類、Quartz、CoreAnimation、CoreLocation、MapKit、Addressbook、AudioToolbox、AVFoundation、StoreKit和OpenGL/OpenAL)。
◆命令行SDK,用來編譯C#代碼和其他CIL語言代碼,讓它們可運行于iPhone模擬器或iPhone/iPod Touch設(shè)備中。
◆Mono運行時的商業(yè)許可(讓你的代碼可以使用Mono運行時的靜態(tài)連接引擎)。
◆MonoDevelop插件,讓iPhone開發(fā)更加簡單,并集成了Interface Builder以方便創(chuàng)建GUI應(yīng)用程序。
對MonoTouch一個常見的異議,就是大家認為Objective-C已經(jīng)是iPhone開發(fā)最適合的語言。然而,Miguel de Icaza宣稱,C#具有一些重要的優(yōu)勢。
隨著mtouch命令和互操作功能的完成,我們開始嘗試把Apple iPhone例子由Objective-C移植為C#。在這個過程中,我們發(fā)現(xiàn)兩件事情:C# 3.0的構(gòu)造器的初始化器是個非常棒的功能。
并且,這些被移植后的例子只有同樣的Objective-C程序的一半體積。
Miguel接著解釋到,MonoTouch的XML+分部代碼隱藏類的方式如何消除Objective-C頭文件和代碼文件所需的那種冗長繁復(fù)。
大家的另外一個不滿就是,MonoTouch不是開源的。新購買的單用戶許可每年每人需要支付399美元,而企業(yè)版則需要支付夸張的999美元/每用戶。由于和Apple的iPhone SDK緊密的集成在一起,程序員還是必須使用Mac來進行開發(fā)。
【編輯推薦】