何謂Universal Windows Platform?
Windows 10 已經出來一段時間了,對於開發者來說最大的變更就是出現了所謂的Universal Windows Platform (UWP)
的開發平臺。
UWP其實一句話就可以概括,就是我寫一之app target UWP,同樣一隻app在所有平臺都可以使用。而這些平臺不只Windows本身繫統而已(Windows 10、Windows Phone 10 和 Xbox one),連ios 或者 android的app也可以透過UWP Bridge來達到在Windows上面執行起來。
這一篇我們將來看看UWP的介紹。
寫一次,那裡都(Windows家族)能夠執行
相信寫一次,那裡都能夠執行是所有app開發者希望能夠達到的目標,但是其實非常的困難。就光微軟的3個平臺(Windows,Windows Phone 和 Xbox)要共用一個code base從Windows Phone 7.5 開始做一直到Windows 8都沒有很成功。
從下面這張圖可以看到,直到了Windows 8.1,在Windows Phone和Windows之間才有一個比較能夠共用的api,但是xbox還是沒什麼辦法。
不過這一切在Windows 10都整個整合了。UWP的出現提供了一致性的api,只要支援UWP的環境都可以執行使用。
換句話說,以後只要一上架到Store之後,在Windows,Windows Phone和Xbox one都能夠下載安裝並且執行。
Windows 10 還有一件很讓大家期待的事情是,在Windows可以執行ios和android app。這個其實也是UWP所帶來的。目前的ios和android程式可以透過 UWP Bridge,來把ios和android程式target UWP來達到Windows平臺接能夠執行。
UWP的結構
其實UWP講白一點就是在多一層abstraction。以前在寫app的時候其實都是會target某一個平臺。例如是給Windows Phone 7.5用。但是這個造成比較強的coupling。
因此,UWP只是多加一層,讓所有app都target它,至於實際的OS平臺就被abstract出來了。
至於ios和android的程式,可以透過UWP Bridge的技術來達到把這兩個平臺的app轉到Windows。
從下面的圖片可以看出來,左邊是傳統的Windows 程式,中間則是UWP app,在右邊則是透過 UWP Bridge的ios和android app。
要開發UWP需要的技術/工具
基本上工具會需要用Visual Studio 2015以上的IDE。
UI介面的部份會需要用到響應式設計的概念 - 也就是依照螢幕大小而呈現出適合目前載具的內容。
開發語言可以是:html5+js+css,也可以是C#或者C++
結語
如果是app開發者,UWP其實可以花點時間看看,畢竟雖然Windows Phone的市場比較小,但是如果加上Windows和Xbox的話,那其實應該也很可觀。
希望透過這篇也讓大家知道什麼是UWP。
更多資訊