成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

.NET平臺開發Windows Phone 7、iPhone及Android應用

移動開發 開發
本文為著名開發者趙劼為InfoQ撰寫的一篇文章,詳實記錄了如何基于.NET/C#,開發面向Windows Phone 7,iPhone及Android三個平臺的應用程序,以及其中的注意事項。

編者按:在Windows Phone 7發布之后,移動開發領域除iPhone和Android之外季軍即將明朗,越來越多的開發者開始向Windows Phone 7平臺轉移。本文為著名開發者趙劼為InfoQ撰寫的一篇文章,詳實記錄了在近日舉辦的Modern .NET DDD Conference會議上,著名開發者Chris Hardy在他的演講中展示了如何基于.NET/C#,開發面向Windows Phone 7,iPhone及Android三個平臺的應用程序,以及其中的注意事項。

首先Chris列舉了三個平臺上使用的工具及框架等周邊環境:

  Windows Phone 7 iPhone(MonoTouch) Android(MonoDroid預覽版)
操作系統 Windows Mac 跨平臺
開發工具 Visual Studio 2010 MonoDevelop VS 2010 / MonoDevelop
設計工具 Expression Blend 4 Interface Builder XML文件 / DroidDraw
開發框架 Silverlight for WP Silverlight 3的超集 Silverlight 3的超集
社區情況 極好 較好 尚早

iPhone VS Windows Phone 7 VS Android
iPhone VS Windows Phone 7 VS Android

MonoTouch是Novell公司推出的基于Mono的iPhone OS應用程序開發套件,并可以將應用程序發布至蘋果應用程序商店。Mono是一款基于ECMA標準開發的.NET運行環境,使用JIT(Just-in-Time)編譯方式來執行IL代碼,不過由于iPhone OS設備的限制,MonoTouch使用了AOT(Ahead-of-Time)編譯方式,直接將原生代碼部署至iPhone OS設備(iPhone,iPhone 4,iPad)上。MonoTouch還提供了一個Linker,它會將SDK及程序代碼中真正使用到的部分靜態鏈接至應用程序中,從而削減了應用程序的體積。使用MonoTouch開發出來的應用程序可以在iPhone OS設備上獨立運行,這是因為MonoTouch會將一個運行時放入應用程序內部的原因。據Chris稱,這會給應用程序的體積帶來大約6MB的增長。

使用MonoTouch,.NET/C#程序員可以利用現有的知識進行開發,能夠使用反射、泛型、LINQ、Lambda等各種高級的.NET/C#特性。面向原生API的綁定存放在monotouch.dll中的MonoTouch命名空間下,并與CocoaTouch(即用于iPhone OS開發的原生Objective-C框架)的命名空間映射。在綁定時,MonoTouch不是一味地直接暴露出Cocoa Touch的功能,而是在一定程度上將它的API改寫為更傾向于.NET程序員的形式。例如UIView的Frame屬性為System.Drawing.RectangleF類型,而不是Cocoa Touch中原本使用的CGRect。對于一些如NSArray這樣的類型,MonoTouch也在合適的地方將其轉化為強類型的數組。在調試方面,MonoTouch使用了Mono的Soft-Debugger,支持在模擬器、真機,甚至通過WIFI進行調試。

MonoDroid是針對Android系統的應用程序開發套件,大體和MonoTouch相同,目前正處在預覽發布階段,只有少量早期預訂的用戶拿到了SDK。

據Chris稱,有了MonoTouch和MonoDroid便可以復用相當部分的代碼,包括現有的開源項目,如Json.NET、FlickrNet及XnaTouch。XnaTouch是一款基于MonoTouch的XNA框架實現,簡化XBox及Windows Phone 7上的游戲向iPhone OS上的移植工作。不過在復用時并不能共享二進制文件,而必須針對不同的平臺重新編譯代碼。

在UI部分,三個平臺各有原生的解決方案。除了Windows Phone 7以外,iPhone和Android分別使用MonoTouch及MonoDroid提供的原生API的C#綁定進行開發。例如,MonoTouch進行UI開發時使用的是iPhone OS標準的應用程序的架構,包括其MVC驅動方式。開發人員可以通過Interface Builder編輯XIB文件,MonoTouch會自動根據XIB的內容在局部類中生成C#代碼,所有的outlet,action等元素都會在代碼中得到體現。

Chris也提到了其他一些必須針對平臺編寫特定代碼的地方,例如在文件的存儲上,MonoTouch和MonoDroid可以直接像本地路徑寫入數據,而在Windows Phone 7上則必須使用獨立存儲:

  1.     void SaveLocal(string data)  
  2.     {  
  3. #if (MonoTouch || MonoDroid)  
  4.         File.WriteAllText(_localPath, data);  
  5. #elif WINDOWS_PHONE  
  6.         using (var appStorage =   
  7.             IsolatedStorageFile.GetUserStoreForApplication())  
  8.         {  
  9.             var file = appStorage.OpenFile(_localPath, FileMode.Create);  
  10.             FileExtension.WriteAllText(file, data);  
  11.         }  
  12. #endif  
  13.     }  
  14.  

同理,使用WebClient獲取數據時,在MonoTouch及MonoDroid上可以直接調用DownloadFile相關方法來下載文件,而在Windows Phone 7中,則需要使用OpenRead相關方法處理二進制數據流。

【編輯推薦】

  1. Windows Phone 7對比Android 平分秋色
  2. 多圖詳解 Windows Phone 7功能升級過程
  3. 把Windows Mobile換成Windows Phone 7的5大原因
  4. 移動應用三法則:3LM欲開辟Android企業級市場
  5. Windows Phone 7破壞了.NET語言的協同發展?
責任編輯:佚名 來源: infoq
相關推薦

2010-11-03 15:10:04

SilverlightSilverlightWindows Pho

2011-04-08 10:02:06

日歷Windows Pho

2011-12-06 10:45:16

云計算應用Windows Pho

2011-12-03 20:03:26

iPhone

2013-07-30 11:18:37

Windows PhoWindows Pho

2011-03-21 09:05:40

IronRubyWindows Pho

2012-08-16 10:35:50

Windows Pho

2011-06-07 11:35:38

Windows Pho

2010-12-14 18:48:49

微軟

2010-12-01 09:01:31

獨立存儲Windows Pho

2011-08-09 10:42:24

微軟Windows Pho

2010-08-10 11:11:31

2010-10-25 13:21:17

Windows PhoMarketplace

2013-07-30 11:02:55

Windows PhoWindows Pho

2012-03-04 20:47:38

Windows Pho

2010-04-08 17:40:23

Windows Pho

2010-08-13 08:21:11

Windows Pho

2010-03-09 10:51:15

Windows Pho

2010-04-26 13:48:17

iPhone OSiOSWindows Pho

2010-08-05 17:28:59

Windows PhoHTML 5
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区播放 | 国产精品成人一区二区三区 | 久久乐国产精品 | 国产精品日韩欧美一区二区 | 超碰人人人 | 九九热在线精品视频 | 久久美国 | 亚洲精品久久久久中文字幕欢迎你 | 国产成人免费视频网站视频社区 | 97视频免费 | 妞干网福利视频 | a在线观看 | 日韩亚洲视频 | 在线精品一区二区三区 | 日韩三级 | 日韩av成人在线 | 国产精品免费一区二区三区 | 日韩午夜在线观看 | 国产美女福利在线观看 | 久久成人免费 | 国产高清免费 | 91高清视频在线观看 | 久久综合色综合 | 91久久夜色精品国产网站 | 欧美在线视频二区 | 天天澡天天狠天天天做 | 欧美一级久久 | av在线播放不卡 | 亚洲精品电影在线 | 成人黄在线观看 | 国产96色在线| www.v888av.com| 亚洲精品视频免费观看 | 国产剧情一区二区三区 | 99热这里有精品 | 日韩成人精品一区 | 狠狠操狠狠色 | 日韩欧美高清dvd碟片 | 久久综合久久自在自线精品自 | 亚洲天堂中文字幕 | 91精品国产综合久久婷婷香蕉 |