有HTML / XML這麼好的前端及UI解決方案,微軟為什麼還要繼續推WPF?
HTML這個體系在開發大型軟體產品的時候,還是存在一些比較麻煩的點,之前我在這篇裡面提到過:
還要多少年, 前端開發才能像客戶端開發那樣輕鬆? - 徐飛的回答WPF沒記錯比HTML5先出來吧?在這之前的HTML很多如今看起來很簡單的實現都很繁瑣。而且就算如此,HTML5還是很基礎。需要強大的交互能力和兼容性還要很長一段路要走。另外,LZ說的WPF應該是指silverlight吧?否則都沒有可比性。同樣的類比問題,有HTML這麼好的前端及UI解決方案,Adobe為什麼還要推出Flash?
答案是,HTML和這幾個老牌比還有一段距離。技術趨勢會變,但是並不意味著新技術一到來就是終結者,它還需要一個發展的過程。隨著IDE和各類js庫以及遊覽器支持度的提高。HTML應用也會變得越來越複雜,越來越強大。
- HTML 和 WPF 完全是2個東西。
- 如果你要問有HTML 為和還要推出 XAML。那我幫你 @vczh
- HTML 怎麼好了。我就不知道。
看了看問題的提問者,發現又是一個作者自問自答夾帶私貨的帖子。可憐還有這麼多人認真答題……你看看他的評論:」做技術要向前看, 別把幾十年前那種一堆標籤頁和控制項的UI帶到新世紀里來「,不就是說新的程序都應該按照他的審美觀寫么?可惜審美觀這東西永遠不會有一致意見,但是可以肯定是是改變界面一定有大把的人反對(參考Office 2007和Windows 8)。而且這個和在HTML5/WPF之間選擇有什麼關係?又沒有人規定MFC/WinForms/WPF/HTML5的程序該寫成什麼樣子。從Metro風格扁平方塊動畫滿地跑到一堆標籤頁和控制項的UI風格這些引擎都可以做。
只要市場夠大,有錢賺,微軟就可以推。至於這個市場有多大,看看有多少招聘廣告要求WPF,看有多少基於WPF的第三方組件產品廣告,看技術論壇上每個月有多少關於WPF的問題就知道了,和提問者的一廂情願一點關係都沒有。微軟在致力於將舊的基於GDI的程序(例如MFC和Windows Forms)遷移到基於DirectX的WPF,這個工作做了10年,進展不是很大,像Evernote這樣的程序嫌WPF太慢又換回去了,反正簡單的界面沒動畫也不需要多大顯卡資源,改C++性能更好還可以跨平台。但是只要CPU的速度瓶頸一直不解決,界面發展的未來還是在GPU上,這方面微軟的決策還是有根據的。
至於扯HTML5跨平台什麼的,你前端用Android後台用LAMP不給微軟交錢的話,微軟為什麼要推廣你的東西?沒人說你自己的東西不好,你自己去掏腰包宣傳啊。要微軟掏腰包你要給微軟生態系統貢獻才行,比如後台放在Azure上啊,或者前端支持Windows API啊,不過說到推廣力度嘛,當然是推只支持Windows平台的WPF對銷量更有幫助了。在這裡給自己的HTML5引擎打廣告的,省省吧,微軟推不推WPF,和你的引擎可以做的多麼的炫,一點關係都沒有。
用性能需求強迫用戶升級硬體的,也就操作系統可以乾乾,一個應用商這麼干不是找刪么?認為HTML可以解決一切開發需求的錯誤,蘋果犯過(IPhone1最初不支持原生應用),HP犯過(Web OS的平板發布後應用太少。最後不得不拋售),Facebook也犯過(CEO馬克·扎克伯格稱利用HTML5技術開發移動應用是該公司最大的錯誤決策之一),最後都是性能跟不上不得不放棄。另外,HTML5能不能跑還得看各家的HTML引擎的實現(比如Bad news: iOS 7"s HTML5 is full of bugs),一次編寫處處運行?Java早就證明這不過是一次編寫處處調試罷了。
評論中一些人滿口噴糞,已經刪除。WPF是2001年的事情了,再說了現在HTML你拿來做UI的話,跟WPF還是差遠。
樓主在提這個問題的時候倒不如問一下為什麼firefoxOS沒有火起來?
Firefox OS 想法非常美,拿Android和linux的底部直接boot到Gecko,firefox的瀏覽器引擎,firefox上的所有web app全都能在手機上跑,deploy完全沒有阻礙。
為什麼沒有火呢??我沒有學過graphics,但自己build到測試機上跑了一次,性能很差,ui也很難看,firefox知道這手機在美國沒市場,還專門挑qualcomm比較便宜的模型做超低端機,性能更差了,還是沒什麼起色
好嗎 你不覺得html的界面點起來很「虛」嗎,和原生界面比起來差的還是很遠。別說PC這樣的需要豐富元素的界面的系統了,即使是移動系統大廠商的應用有多少用html呢?
想像一下html和js寫的windows,畫面一定很美。。。
這年代已經沒 WPF 什麼事情了. 你看我們的新引擎, 整個界面都是 HTML5 寫的, 通過 nodejs 做 native 的交互, 無障礙.
如果你是一個像我一樣對操作細節有瘋狂追求的人, 那麼你寫界面的時候一定會希望更多的自定義和對原生控制項的修改. 這個時候你會發現 HTML5 的界面書寫才是你的好夥伴. 比如:
設計這種貼心的 gizmos:
精準的 tree view 插入提示:為每個控制項量身定做的 focus 視覺效果:甚至還有窗口間的 dock/popup:
然後一開 Dev Tools 就可以調節樣式, Debug, 很符合處女座們對 1px 的追求:WPF的XAML 是Windows store app 的基石
微軟從 Windows 8 開始,已經開始主推使用 HTML5 來開發 Windows 8 Store App。到現在為止,已經可以使用 HTML5 開發包括 Windows 8.X, Windows Phone 及 Xbox 在內的三個平台的應用程序 (Universal Windows App)
使用 WPF、或者準確的說使用 Silverlight 技術,和 HTML5 技術都可以開發 Universal Windows App。對 Windows 平台而言,HTML5 已經是 Native UI 的一部分我想問一下,如果客戶想要做個圓形或者三角行的登陸界面,用Html怎麼做?
-----------------------------------------------
.NET這麼好用,為什麼還要用JAVA?
因為你說的前端是那種幾個跳來跳去的頁面,實際成型的產品在可視界面上要複雜得多,稱其為客戶端,嗯,能把這倆聯繫到一起再提個問我也是醉了
他山界面 ,內嵌Gecko22.0,支持xul,html(5),css(3),js,c++互調,13MB.對於交互簡單的界面建議直接用html開發,對於交互複雜的界面,最好是使用XUL,比如開發一款IDE
我們先有戲還是是一款端游,還是採用Scaleform+flash來實現UI,雖然覺得flash快要被淘汰了,但是感覺還是有幾年生命周期的吧
如果b/s在任何條件下都好用的話,c/s根本沒必要存在。
推薦閱讀:
※JS中event.preventDefault()取消默認事件能否還原?
※這兩個js有衝突嗎?
※svg 和 canvas在移動端的兼容性如何?尤其是在動畫方面。謝謝!?
※vw相比rem,在實際開發中究竟有多大區別?
※如何快速開發多端應用?
TAG:微軟Microsoft | HTML5 | 用戶界面設計 | NET | WindowsPresentationFoundationWPF |