萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 安卓開發 >> Android 4.0和WP7.5開發技術對比

Android 4.0和WP7.5開發技術對比

  對於谷歌Android 4.0 Ice Cream SandWich和微軟WP7.5 Mango在開發技術上作對比,可以看出早期Google學習了Microsoft的WPF的設計方式,由於微軟Windows Phone 7發布緩慢,導致Google在技術上將微軟復雜的設計方式改進,從現在來看安卓冰激凌三明治和微軟WP7芒果來看開發技術上仍然存在著巨大的差異。對於 准備步入移動開發的網友,就目前主流的系統做簡單的分析:

  一、UI控件和設計模式

  對於WP7來說,整體控件數量不如Android豐富和實用,但也有一些創新的地方,比如說樞軸Piovt控件,在觸控操作上比Android 的TabHost強了很多,但沒有提供類似GridView這樣的控件在Siliverlight中,由於WP7的UI刷新機制基於MVVM模式,相對於 Android的MVC有些不同,需要繼承INotifyPropertyChanged接口,通過數據綁定來更新UI控件的值,相對比較繁瑣。在控件自 定義方面,WP7可以使用銀光的UserControl或從任何已有的控件中直接派生,對於Android來說這點基本相同,但提供的方法比如觸控、長按 相關的微軟這點都要 依賴Toolkit來實現,整體相對繁瑣很多。

  二、數據庫層

  微軟在數據庫方面一直有MS SQL,在手機上有SQL CE這樣的輕量級數據庫,但操作處理方面同樣需要實現INotifyPropertyChanged接口進行更新,修改表,似乎變得更加抽象。同時數據交 換方面微軟還有LINQ,在Web Services方面幾乎和J2EE差不多,但相對於手機上而言Android的SQLite似乎更好用明了,這點微軟確實輸了。

  三、系統執行模型

  在WP7.5 Mango上支持了多任務,內存管理幾乎和Android一模一樣,同時新增了類似iOS上的數據推送,需要微軟服務器中轉的Push Notification,由於考慮應用隨時被系統內存回收,必須保存每個頁面的數據到持久化的存儲中,比如類似Android的 SharedPreferences而在WP中為銀光的IsolatedStorageSettings,在很多地方微軟都在學習著谷歌,相比WP7到 WM6的改進來看。

  四、圖形系統

  這點WP7和Android有著天壤之別,Windows CE下3D為DirectX,2D為GDI方式渲染,而Android下為OpenGL,同時WP7無法使用本地語言開發,導致iPhone和Android程序員在3D方面很是陌生。

  五、文件系統

  在WP7芒果上,微軟學習了iOS那樣的封閉,每個應用完全獨立,所以沒有文件管理器這個概念,導致了Adobe Reader這樣的應用必須將pdf放入郵箱中,通過郵件附件來打開閱讀。同樣每個Windows Phone 7芒果手機一般不會有microSD卡,而是機身至少內置8GB或16GB的存儲空間,同樣無法用U盤功能,每個應用相對隔離,運行在自己的沙盒空間裡, 對於應用可靠性和安全有了保障,但是對於部分實現方面確實不夠好用。

  六、運行流暢度

  如果你看見WP7手機運行很流暢,那麼你可能真的錯了,在本質上Java虛擬機和微軟的.Net Framework運行時庫的底層效率差不多,但Android的手機一般運行著更復雜的桌面,比如左右N個主屏和一堆appWidget小插件,而微軟 似乎Windows Phone 7的應用一般限制在5個同時工作的,否則將會被結束任務,同時由於部分低價Android設備,導致整體硬件配置偏低,比如有ARM11的CPU,RAM 只有256MB的情況,而微軟WP7第一代手機至少配備了A8 1GHz的處理器,512MB的RAM,第二代的WP7 Mango手機配備了1.4GHz新一代高通Snapdragon,比如8X55系列,所以很多地方了看WP7更流暢,但其實從單個應用來看,WP7應用 的啟動速度遠不如Android平台上的應用,所以微軟甚至設計出了這樣的圖片為每個默認工程提供一個載入圖片。如果是微軟系統自帶的應用由於可以調用本 地的方法相對於第三方的Windows Phone應用來說啟動會快很多。

  最終結論是Android123仍然推薦大家在高效和開放的Google提供的平台開發,至少不會束縛你的 想象力和實現速度,微軟設計了很多限制和門檻,同時不開源在分析和實現上都會產生很多問題,至少Android的SDK可以工作在Mac OS、Windows各個平台和Linux上,而微軟似乎將WP7 SDK鎖定在Vista和Win7上。

copyright © 萬盛學電腦網 all rights reserved