天天看點

Java開發者轉到WP7平台開發需要注意點

 如果你過去是Java開發者轉到WP7平台上需要注意哪些呢 ? Java和Windows Phone 7平台在開發上有很多相似的地方,主要是Java和.Net Framework的主要開發語言均為托管方式。在文法上Java程式員可以很容易的了解C#,但Zune123仍然給Java程式員一些需要學習的注意點:

  1. 語言特性:

   C#雖然和Java有很多相似之處,但微軟不可能100%的完全模仿,C#比較特别的就是屬性,相對于OOP和Model的編寫屬性顯得更符合項目的維護,同時在代碼調用時可以省去方法後面的()輸入。具體的細節建議大家檢視下C#和Java程式設計思想了解細節差異。

  using關鍵字,除了類似Java的import來導入一個package,當然在.Net Framework中叫命名空間外,using還可以自動釋放某塊代碼配置設定的記憶體,比如常用的I/O操作上,在使用IsolatedStorageFile方面會經常用到。

  2. XML解析

  對于Java開發者可能目前流行使用的是DOM或SAX,當然一般的Java Web Services提供的是JSON資料交換方式,在WP7平台上開發者一般使用XmlReader來讀取XML檔案,在XML解析方面使用了Linq to Xml,比如我們看見的XDocument、XElement這點和DOM還是很像的。

  3. 檔案I/O

   大部分的API均有對應,比如Java的InputStream可以對應C#中的StreamReader,但WP7使用了Silverlight中的隔離檔案通路,類似iPhone的應用一樣每個應用運作在自己的空間中,在沙盒方式下每個程式之間無法互相通路對方的資源。

 4. 網絡通訊

  在網絡通訊方面,WP7 Mango開始支援Socket,但微軟從.Net Framwork 3.0開始使用Web Services方式主要是WCF,WP7的Socket使用了異步回調方式,并沒有提供端口綁定支援,作為用戶端比較合适。在Http通訊提供了輕量級的WebClient和支援http header封包、post、get的HttpWebRequest類。同時微軟還提供了Push Notification的資料推送,通過微軟Live雲伺服器實作資料的中轉處理。

 5. 資料庫支援

  在資料庫方面WP7提供了本地的SQL CE資料庫,檔案字尾為sdf,支援SQL語句這點和桌面上的MS SQL Server的mdf很像,相對于Oracle、MySQL或SQLite而言,Windows Phone 7的資料庫更OOP些,在表結構和字段均類似屬性的設計方式。

 6. 界面UI

  在界面方面,傳統的J2SE主要使用SWT,到了WP7上,微軟提供了Silverlight庫的主要控件,同時借助Microsoft Expression Blend可以很好的設計出複雜的界面。

 7. 開發模式

 這裡WP7使用的是MVVM的方式,Model View和ViewModel,引入了Silverlight的資料綁定這個概念,對于UI和邏輯層的互通、更新Data Binding概念十分重要,這點必須熟練掌握。

 8. 音頻視訊

  這裡WP7并沒有使用Silverlight中的庫,而是靠微軟的XBox的XNA開發架構,這裡必須了解的是XNA作為遊戲開發架構需要實作主消息循環,在使用media播放音樂、處理麥克風等必須考慮。

   Zune123還是推薦大家,在充分了解C#語言之後看下Silverlight或WPF的内容之後,可以充分掌握對WP7開發。

繼續閱讀