如何評價微軟的Universal Windows Platform(UWP)?

微軟在Build 2015大會上推出了UWP,這將對Windows未來的發展產生什麼樣的影響,另外,也可以從技術角度談談UWP的特點。


最近試了一把開發,配合VS 2015和模擬器測試系統,不要太easy,爽得飛起。尤其是有Web或者WPF經驗的,能不能再easy點?


之前調研過,也嘗試著寫過,如下幾個個人體驗,說得不準確可以討論:

1. UWP的跨平台:這是大家最關心的,win10 x86版本還能裝.NET Framwork,為什麼要寫UWP的一大動力就是跨平台,如微軟宣傳的:一份代碼,所有家族

實際上微軟是怎麼實現UWP跨平台的呢?微軟無非用了兩種方法:.net framework時代,給不同平台的操作系統裝不同版本的.net framework,程序寫成中間語言,由framework解釋執行。所有與操作系統的交互都由framework來執行。為什麼WIN10不這麼做了呢,其實PC版win10還是這樣做,但是.Net framework有多大你我都知道,phone和arm這些設備怎麼裝呢?於是就有了第二個方案,微軟提取了.NET Framework,win32和com的很小一部分交集,做成了一個非常精簡的內核。因為足夠小,所以你能在手機,平板,IoT設備商使用這個內核,當你編譯的時候,可以根據你的目標平台(x64;x86; arm)選擇編譯結果(可多選)也就是說,如果你同時想在x64和arm上運行,編譯結果里包含兩套東西,各自針對自己的目標平台,編譯過程比較複雜,這裡就不細說了,有興趣的可以去看微軟有個叫UWP insider的視頻。說到這裡你應該猜到了,依靠.NET Framework的WPF呢?依靠win32的win form呢?還有那些CLR提供的GC,異常,反射呢?OpenGL呢?所以,對於一個老程序或者帶第三方包的程序,想port到UWP不那麼簡單,實際上非常的難。我想絕大多數原來想著把老程序攢吧攢吧跑在新平台上的同學退縮了。那我開發新程序吧,為了做到跨平台,UWP里目前可用的SDK功能不多,真的不多:wcf沒有duplex,OpenGL幾乎用不了(有一個angel的項目說是可以翻譯,實測,呵呵)不過你可以用微軟的D2D,沒試過沒有發言權;

2. 虎頭蛇尾,未完待續啊


個人感覺微軟還是需要搞個c++ gui的東東,類似gaclib @vczh


從我用過的幾個uwp來說,最直觀的感覺就是靈敏度高了很多。 上下滑動十分的跟手,這種感覺以前只在iPhone上才體驗過。


我覺得對開發而言,工作量並不會減少,反而會增加,而且不一定做得好。

現在的移動開發適配各種不同解析度的手機都已經焦頭爛額了,但是好歹它們還都是大長臉。這下好了,要適配pc端的大寬臉,你看手機上任何一個app的pc版都是和移動端完全不一樣的布局和操作方式,即便是universal也只是解決運行上的問題,操作方式不同才是天生的阻抗,這樣的話跟開發兩個app就沒什麼區別了。

最大的好處是某些代碼可以做到最大可能的復用,除此之外我覺得沒有別的好處了。


用27寸顯示器和鍵盤玩天天過馬路後,導致遊戲難度驟降。

請各位遊戲開發者慎重選擇 windows 平台。


從Windows 8開始,微軟便有了所謂的「metro」磁貼,試圖用這個統一所有的設備,就連Windows Phone 8都換了個響亮的名字叫Windows 8/10 Mobile,然而由於種種不足,至今未有很大起色。

目前真正實現了全面UWP的應用寥寥無幾,不同尺寸的設備,一套代碼通吃,說起來容易,現實就。。。要說做的比較成功的,可以說是微軟自己的「設置」,通過拖拽窗口大小,毫無違和感。換個角度來說,Apple也越來越把生產力重心放在iOS上,但即便如此,也有大量的操作需要用Mac而不是IPad完成,而且也未把桌面和移動系統強行劃一,不得不說,按現在微軟對移動部門的不上心,先天硬體不足,軟體上穩定性差,開發者熱情低,UWP很可能,先天不足,後天畸形。


跟我之前學安卓開發相比,簡直不能更爽,你懂調試秒開嗎?就是你寫好了代碼,點一下軟體一秒打開,然後你想真機調試,連接手機點調試,手機軟體也運行了,也就是一個軟體,既可以在電腦上調試也可以在手機上調試,真的VS不愧是最強IDE,中文界面,中文提示,斷點查看變數聲明的,爽你的不要不要的。跟我之前開發安卓的經歷就是各種應用已停止運行相比,還有代碼提示,真的,效率,兩個字效率。


Adaptive UI 非常考驗 UI UX 的功力 要做不容易


覺得最重要的還是一個商店,想一下你電腦上的應用和手機上的應用是一樣的,完全同步傳輸。當然前提是你用Windows phone


推薦閱讀:

支持 LaTeX 實時預覽的離線 Markdown 編輯器有哪些?
編寫一個新的操作系統,兼容windows(仿寫)合法嗎?
為什麼使用優化軟體會讓 Windows 變得不穩定?
有沒有可以替代驅動精靈的工具?
為什麼在Universal App的概念提出後,很多新發布的應用(國內)還是只兼容手機/PC?

TAG:微軟Microsoft | MicrosoftWindows | 移動開發 | Windows10 | Build2015 |