博客園客戶端(Universal App)開發隨筆 - Hello, Universal

在移動和雲成爲微軟的主題以後,Windows Phone 8.1 手機和Windows 8.1平板也漸漸成熟,吸引了愈來愈多的開發者。爲了讓開發者們高效的開發一款跨手機和平板的應用,微軟順勢推出了Universal應用的概念。express

今天咱們想向你們分享怎樣用C#和XAML語言開始開發一個跨Windows 8.1和 Windows Phone 8.1 的 Universal 應用。windows

準備

首先硬件方面咱們的計算機要支持Hyper-V功能或者有一部運行Windows Phone 8.1 操做系統的手機。app

軟件則須要在計算機上安裝Windows 8.1 和 Visual Studio 2013 update 2 及以上的版本。免費的面向 Windows 的 Microsoft Visual Studio Express 2013 with Update 4 就能夠,在http://www.visualstudio.com/zh-cn/downloads#d-express-windows-8 可以找到。操作系統

啓動Visual Studio 2013,首次啓動會須要註冊一個Microsoft帳號,有了的話直接登陸就能夠。debug

Hello Universal

如今咱們就能夠建立 Windows Universal App 了。code

在start界面上點擊新建項目或者在菜單欄上點擊文件->新建->項目blog

選擇已安裝->Visual C#->應用商店應用->通用應用程序->空白應用程序資源

選擇保存文件夾並輸入項目名稱,好比「my Universal」開發

點擊肯定。部署

好了,Visual Studio 已經自動爲咱們建立了Universal解決方案:

在解決方案資源管理器中能夠看到咱們的Universal解決方案包含3個項目,my Universal.Windows,my Universal.WindowsPhone,my Universal.Shared。

 

它們分別對應了Windows應用,Windows Phone應用,共享資源。

 

啓動

如今雖然咱們尚未寫一行代碼,但其實咱們的應用已經能夠運行了。

先來看看咱們的Windows應用:

點擊debug按鈕  

通過一段時間的編譯,咱們的Windows應用就啓動了。固然沒有什麼內容,只有一個Title is Here。如今把鼠標移到右上角,先關閉它。(這裏可能回到Visual Studio 後會看到仍是在debug狀態,須要手動中止一下Debug。)

接下來看看咱們的Windows Phone 應用。

點擊debug按鈕旁邊的向下小箭頭。

 

選擇啓動項目-> my universal.WindowsPhone(Windows Phone 8.1)

Debug按鈕發生了變化,文字變成了Device,若是你的計算機支持Hyper-V,那麼還會看到一系列windows模擬器(Emulator)。

 

先看看支持Hyper-V的狀況。咱們選擇一種模擬器,點擊debug按鈕。Visual Studio 會啓動對應的模擬器,在上面部署並啓動咱們的Windows Phone應用。(啓動模擬器會比較慢,咱們能夠在結束debug時不關閉模擬器,而是在Visual Studio中點擊中止Debug按鈕 ,這樣模擬器就不會關閉)

固然目前咱們的Windows Phone 也是沒什麼內容,一樣只有一行Title is Here。

下面看看若是咱們的計算機不支持Hyper-V的狀況:

一般咱們平常使用的Windows  Phone 8.1手機是不能立刻用於開發的,咱們要把它註冊爲開發者手機。

咱們須要把咱們的Windows Phone 8.1 手機經過usb線鏈接到電腦上,解開鎖屏。

接着在開始界面打開Windows Phone Developer Registration 8.1。

 

程序檢測到咱們的Windows Phone 8.1 手機後點擊註冊,輸入咱們的Microsoft帳號,就能夠把它註冊爲開發者手機了。

 

這樣就能夠在debug按鈕上選擇device,用手機而不是模擬器debug咱們的Windows Phone 8.1 應用了。

Universal 是什麼

你們可能注意到咱們的debug按鈕裏能夠選擇的啓動項目只有my Universal.Windows,my Universal.WindowsPhone兩個,那麼my Universal.Shared這個項目是作什麼用的呢?

實際上這個項目是Universal應用的重點,咱們能夠在其中共享Windows應用和Windows Phone應用的代碼。

咱們的應用既能夠在Windows上又能夠在Windows Phone上運行,它們的界面是有着很大區別的。可是背後的邏輯,運做方式卻幾乎同樣。在以往的開發方式中,咱們可能要寫兩套後臺代碼,分別維護它們。一邊發現了什麼問題,須要修改,還得檢查另外一邊的代碼。但當咱們建立了Universal 應用以後,這種狀況就會大大減小。只要修改同一個.Share項目,就能夠同時對Windows和Windows Phone應用產生做用。它們之間有所區別的地方,咱們也能夠用條件編譯來區分。

好比咱們能夠打開項目my universal.Shared中的App.xaml.cs文件:

 

能夠看到編輯區域左上角的選項有.Windows和.Windows Phone,目前選擇的是.Windows。在代碼區域中,夾在#if WINDOWS_PHONE_APP…#endif 之間的代碼則是灰色的狀態。這段代碼就是Windows Phone獨有的。如今顯示灰色是因爲咱們在左上角選擇了.Windows項目,它是不起做用的。

總體看來,Universal應用就是經過.Share項目共享了不一樣平臺的代碼,減小了跨平臺的維護工做,讓咱們可以實現高效的開發。

小結

是否是很是方便?一次建立,2個應用。這就是Universal的魅力所在。接下來咱們會一步一步向你們分享如何把這個簡單的應用擴充成爲一個功能完善的cnblogs閱讀器。歡迎你們繼續關注。

你能夠從這裏下載咱們分享的源代碼:

https://code.msdn.microsoft.com/CNBlogs-Client-Universal-477943ab

Windows Phone Store App link:

http://www.windowsphone.com/zh-cn/store/app/博客園-uap/500f08f0-5be8-4723-aff9-a397beee52fc

Windows Store App link:

http://apps.microsoft.com/windows/zh-cn/app/c76b99a0-9abd-4a4e-86f0-b29bfcc51059

相關文章
相關標籤/搜索