一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

OS X 上使用.NET開發應用程序

  MonoMac是面向Mac OSX API的C#綁定,其API設計主要受到了MonoTouch的啟發,后者可以基于Mono開發原生的ios應用程序。MonoMac套件的目標之一,也是發布獨立的 .app應用程序,讓最終用戶擺脫對Mono的依賴。MonoTouch的成功則是一個良好的基礎,于是Mono開始將Cocoa API使用C#和.NET世界中的模式與慣例用法表現出來,并提供開發人員整套Cocoa應用程序的開發工具。

  Mono之父Miguel de Icaza表示,.NET從一開始便設計成為一個易于互操作的框架,他對于跨運行時及框架的無縫通信提供了許多高級的支持,這對創建Cocoa API的綁定很有幫助。MonoMac的設計原則與MonoTouch非常接近,它充分考慮到.NET程序員的習慣需求,例如使用Lambda表達式和委托來表示Objective-C API中的“block”。

  Cocoa的API由兩部分組成,一部分是基于C的API,例如AudioToolbox、CoreGraphics、CoreFundation和CoreText,它們利用P/Invoke的方式直接封裝成C#類。而在UI層面上則是大量的Objective-C編寫的API,例如Foundation和AppKit。MonoMac提供了新的一套新的綁定引擎MonoMac.ObjCRuntime,以及btouch綁定生成器。

  MonoMac僅僅是一套用于開發OSX應用程序的類庫。MonoMac團隊同樣發布了一套基于MonoDevelop的開發工具,其生成結果便是Mac OS下的app應用程序包。此外,Mono 2.8還包含了一個新工具叫做“Mono打包器(bundler)”。這個打包器可以檢查你的.NET應用程序,并將其依賴的部分打包在一起。這個技術如今已經用于OSX版本的Banshee項目(一款基于Mono和Gtk#的播放器),這樣發布后的應用程序無需在目標機器裝有Mono框架。

  MonoMac使用MIT X11許可協議發布。源碼分為兩部分:monomacmaccore,都可以在GitHub上獲得。前者包含了面向MacOS的綁定,而后者則包含了MonoMac和MonoTouch共用的代碼。

  看完上面這段介紹,聰明的你知道主角是MonoMac了,下面我向大家介紹下開發環境的搭建和第一個Helloworld程序的開發:

  第一步:需要有一臺Mac 電腦,可以采用虛擬機搭一個也行,為了更好的操作體驗還是準備一臺Mac的機器比較好,2011年1月14日蘋果優惠打折,毫不猶豫的就在香港apple商店上下單買回來一個MacBook Air(CPU:1.86 GHz Intel Core 2 Duo, 4GB RAM,128G SSD),價格10000HK$。

  第二步:Mac開發環境Xcode和Monodevelop的安裝,當然在安裝mac系統時,如果選擇IT用戶,很多開發系統也就自動安裝好了,比如jdk、maven、svn,Python的環境, 然而不是所有的軟件開發環境都會安裝好,比如xcode 、ios sdk 。

  1、到,選擇 Mac 和ios 開發,登陸后就可以下載Mac開發工具,里面包括Xcode,這個工具是免費的,這點比微軟的政策好啊,就是要善待開發者。Xcode的環境和 Visual Studio 非常的相像,有Visual Studio的使用經驗非常容易入門.。

  下載完軟件,點擊運行如圖:

      2、上邊的那幅圖中有xcode和ios SDK的安裝說明,下面那幅圖是軟件安裝的圖標,點擊下邊的Xcode and ios SDK開始安裝。

          3、一路繼續就可以了

          4、下載和安裝 MonoDevelop 2.4, 這是Mono的一個IDE ,是開源和免費的,他要求 Mono 2.4 和 GTK。 Mono安裝過程十分普通,而MonoDevelop的安裝方式對于Windows用戶可能有些特別。在加載了dmg文件以后,會彈出這樣一個界面:

        1. 根據提示,此時您只需要將MonoDevelop的圖標拖至右側目錄中就可以了。
        2. 下載和安裝 MonoMac。 MonoMac的插件安裝參考http://www.mono-project.com/MonoMac#Obtaining_MonoMac也很簡單。安裝完MonoMac的插件,在MonoDevelop的新建項目的對話框上就有了MonoMac的項目類型。

          下面我們就用MonoDevelop和Xcode一起使用來完成第一個Mac Helloworld程序的開發,下面的內容主要基于這篇博客http://www.satter.org/2010/09/NET-development-for-os-x.html,所有用到的圖片也是這篇博客的,我只是按照這篇博客的內容熟悉了一下開發環境,其中也碰到了一些問題,我會以紅色的文字進行標識,相信也是你體驗的時候會碰到的問題,不過這篇博客需要翻墻才能閱讀,你懂的:

          首先需要創建一個MonoMac的工程,我們命名為HelloMonoMac:

        6a00d8341c55c153ef0133f425f49e970b-800wi  MonoDevelop是英文的,是因為在中文的Mac系統下,MonoDevelop界面上的中文會亂碼,通過MonoDevelop—〉Preferences –>Visual Style –>General—>User Interface Language 選擇English就可以解決。

          創建的項目有下面文件:

        • info.plist - 一個文本文件包含應用程序的一些屬性字符串,類似于.NET項目的AssemblyInfo.cs,具體參考 reference guide.
        • Main.cs - Main.cs里包含了項目的啟動代碼.
        • MainMenu.xib - 菜單資源和代碼文件. 具體參考Interface Builder User Guide
        • MainWindow.xib - 主窗口的界面文件,具體參考Interface Builder User Guide 而MainWindow.xib.designer.cs文件則是MonoDevelop根據xib文件中的標記所自動創建的C#代碼,在絕大部分情況下我們不會去修改它。

          MonoMac使用Xcode的模式構建UI應用,Xcode使用MVC模型。XIB文件中包含UI和你的代碼,也就是View。你的控制器和模型用.NET來寫,也就是你必須使用Xcode來構建UI,因此必須安裝Xcode。

          使用Interface Builder進行界面的布局,在MonoDevelop的項目上雙擊MainWindow.xib文件,便會打開Interface Builder。我的使用過程中卻發生這樣的一件事,無論怎么雙擊也打不開Interface Builder,開始以為是MonoDevelop的問題,就使用Xcode創建一個項目,也是一樣的問題,最后是通過下面的方法解決的:通過Finder找到Developer/Applications/Interface Builder 先運行Interface Builder,就可以了。

          下圖有4個窗口,左為Library窗口(近似于VS中的Toolbox),可以通過拖拽方式將控件加入到窗口里去;中間上方是可視化的UI編輯器,下方則是對象管理器,顯示了界面中定義的對象;右側便是用來修改屬性的Inspector窗口(近似于VS中的Properties窗口):

        interfacebuilder

          在Library里找到NSButton,把它拖到中間的UI 編輯器窗口上,修改“Button”為“點擊我”:

        interfacebuilder2

          下面添加一個NSTextField,方法和NSButton類似,我們要做的一件事就是按下按鈕的時候,修改TextField的文本顯示:

        interfacebuilder3

          下一步是建立UI和控制器之間的接口,首先是一個更新文本的屬性,然后是通過一個事件 控制按鈕的點擊,控制器來我們使用C#代碼進行編寫。到Library找到MainWindowController

          并在下方下拉框中選取Outlets,并使用下方加號添加一個id,修改為NSTextField:

        interfacebuilder4

          下一步是建立label和NSTextField之間的映射,這是個比較有趣的操作。回到MainWindow.xib窗口,選中“File’s owner”,在屬性窗口中選擇第五個,一個向右的箭頭按鈕。再將label右側的小圓點拖動至NSTextField,當你釋放鼠標你要看你NSTextField標簽所聯系在一起:

        interfacebuilder5

          快完成了。下一步是在Interface builder建立一個按鈕點擊事件。 到Library的窗口。確定它仍然顯示MainWindowController。選取Action。點擊“+”和增加buttonClicked 類型為 NSButton。在屬性窗口中,您應該看到一個新收到行動稱為buttonClicked。把它和在畫布上的按鈕按照標簽相同的方法建立關聯。

        interfacebuilder6

          最后一步是保存我們的界面修改結果,這一步很重要哦,因為MonoDevelop是根據xib的內容,自動生成了相關的C#代碼。

          現在我們回到MonoDevelop項目中,將下面的代碼加入到MainWindow.Controller.cs文件。關鍵是添加一個方法——buttonClicked,也需要NSButton。程序就會按鈕點擊的時候觸發請求該這個方法:

        int count = 0;  
        partial void buttonClicked(NSButton sender)
        {
        label.StringValue
        = string.Format("Button clicked {0} times.", ++count);
        }

        NET技術OS X 上使用.NET開發應用程序,轉載需保留來源!

        鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

        主站蜘蛛池模板: 狼人伊人干 | 国产午夜视频在线 | 手机日韩理论片在线播放 | 美女性视频网站 | 午夜视频国产 | 国产一区二区三区高清 | 欧美一区二区三区精品国产 | 色资源在线观看 | 日韩午夜在线视频 | 牛牛本精品99久久精品88m | 国产午夜小视频 | 国产成人精品日本亚洲网址 | 精品福利| 夜色亚洲 | 国色天香成人网 | 日本热久久 | 成人a大片高清在线观看 | 亚洲成a人片77777群色 | 特黄aaaaa日本大片免费看 | 深爱五月激情五月 | 怡红院在线观看精品 | 黄色小视频在线播放 | 国产麻豆精品一区二区 | yiren22亚洲综合高清一区 | www.日本精品 | 日本网络视频www色高清免费 | 91看片淫黄大片在看 | 国内自拍视频一区二区三区 | 国产亚洲玖玖玖在线观看 | 国产精品99精品久久免费 | 国产精品亚洲视频 | 国产精品久久久久毛片真精品 | 成人综合在线视频 | 99久久精品免费看国产四区 | 久久精品国产清自在天天线 | 精品国产成人高清在线 | 亚洲成人伊人网 | 国产四虎免费精品视频 | 国产精品video | 91精品国产丝袜高跟鞋 | 国产在线综合网 |