目前Win10UWP通用應用數量正在增加,但部分用戶可能會感覺疑惑,既然都已經通用了,為啥一款應用總是先有PC版,而用戶最迫切需要的Win10 Mobile版卻還要繼續等待,比如先後發布的Win10 UWP版《淘寶》以及《網易雲音樂》應用。
要解釋這個問題,需要了解一些Win10 UWP應用開發方面的問題,感興趣就往下看。
什麼是UWP?
UWP,全稱Universal Windows Platform,即統一Windows平台,這裡的統一包括内核共享、代碼庫統一以及API的統一,被統一的平台包括PC、平闆、手機、Xbox One、物聯網設備以及HoloLens設備。
一款UWP應用針對各平台的代碼大部分都是通用的(一個項目),隻有很小一部分是平台特定的。在發布到應用商店時需要針對不同平台(處理器)分别編譯。
開發者意願
微軟在宣傳UWP時經常使用“編寫一次,在各平台發布”的口号,但這裡的“在各平台發布”是由開發者自行決定的。微軟當然鼓勵開發者針對各平台優化代碼,盡可能讓應用在不同類型設備中運行,但這并非強制措施。
有時候開發者并不想讓應用在某個平台中出現,比如一款應用可能在PC中Web體驗方式更佳,開發者可能就不會發布PC版本。而一款對計算機性能要求較高的遊戲應用,開發者可能會放棄手機版支持。
以上能夠解釋為什麼一款UWP應用隻有PC版或Win10 Mobile的問題,但為何不同平台版本經常會先後發布呢?
硬件環境差異
盡管我們所使用的各種設備運行相同内核的操作系統,但硬件配置卻大有不同。
比如對于PC來說,目前絕大多數PC都使用非觸摸屏,交互方式主要為鍵盤和鼠标,而手機應用以觸摸交互為主,某些元素比如标題欄和跳轉列表是PC版特性,手機應用并不顯示。反過來,移動應用還需要考慮方向/重力感應等傳感器等信息。
到了Xbox中,交互方式又發生了變化,沒有鼠标、鍵盤,也沒有觸摸屏,交互方式更簡單,複雜的菜單交互顯然不适用。
另外,在移動設備中還包含後退物理按鍵,而在桌面PC中則沒有,應用需要針對移動設備的後退按鍵事件作出響應。為節省内存,Windows Phone設備會限制後台應用運行數量。内存不足時,部分應用可能會被強行終止,開發人員需要針對這些情形做出處理。
另外一個主要不同之處就是屏幕尺寸,開發人員需要針對不同尺寸屏幕對界面中的元素進行調整,使得其在各種設備中都能更好地顯示。
開發路線不同
開發者可能需要為不同平台開發不同的功能,或者在時間安排上有區别,意味着需要走不同的開發路線,因此盡管使用相同的UWP平台,但需要分别開發和維護。這也造成了不同平台版本不同步的問題。比如,微軟《消息》應用在手機和PC中功能就不盡相同,二者上架商店的時間也不同。
總之,通用并不意味着應用就一定并且同時出現在各平台。通用,是微軟為開發者準備的“福利”,讓開發者可以針對不同的平台編寫同一套源代碼,減輕開發者負擔和維護成本。但具體如何開發,還取決于開發者自身。
在像Surface這樣的二合一觸摸PC設備變得越來越流行的今天,通用應用優勢漸顯。我們也期待開發者能夠越來越重視Win10 UWP平台,通用應用數量和質量能更上一層樓。(via: WindowsCentral)
微信搜索“IT之家”關注搶6s大禮!下載IT之家客戶端(戳這裡)也可參與評論抽樓層大獎!
,