HTML5的支持無處不在web
Qt支持全部主流平臺(並且非主流平臺碰巧用它作UI)瀏覽器
雖然理論上你能夠用HTML5適配更多平臺,但這不是大多數開發人員在現實世界裏使用它的緣由。HTML5開發者愈來愈多地放棄瀏覽器以及構建混合App。大部分移動開發者針對Android、iOS、Windows Phone和BlackBerry 10當中的幾個平臺進行開發。Qt不只支持這些平臺,而且還支持更多的。事實上,在實踐中咱們的數據代表,平均來看Qt開發人員實際上覆蓋的平臺比HTML5開發人員還略多一點。結果是,對於那些想在智能手機、智能電視等任何平臺運行軟件的開發者來說,Qt相比HTML5的一個顯著優點是讓二者不分勝負。框架
這點取決於你是否已是一個web開發者。若是你是,學習構建移動web應用可能比學習Qt容易些。然而若是你是新手,那Qt有明顯的優點——你只有一個框架要學;而HTML5呢,你在還沒開始的時候就要從十來個框架中選一個學習。Qt還有很是強大的文檔,而web框架則不必定有。在一個公平的比賽裏,這是Qt的一大勝利。工具
HTML5是開放標準,有多個開源實現。性能
Qt是開源的,可是有雙重許可,由一個單一的供應商有效控制。學習
顯然HTML5比Qt更加開放,這不老是一個優點。建立標準並讓多個供應商去實現的過程是漫長的,Qt能夠更靈活。若是你真的須要讓開源項目修復一些Bug或添加一個新特性,你能夠本身作或者花錢請人去作。若是你須要支持IE而且修復IE中存在的問題,那麼你必須本身解決或等微軟來解決。同時沒有供應商能鎖定HTML5,讓web哪兒也去不了。別人能夠買Qt並把它帶向與你目標不符的方向,或者他們能夠把價格提升到超出你的預算。HTML5在這點上有優點但不是一個明確的勝利。動畫
構建HTML5是免費的,也有一些非必須的付費工具能夠提供幫助。ui
對於移動端的大多數商業應用,Qt 須要商業許可證書。spa
Qt的開源許可協議與大多數應用商店不兼容。儘管Qt的iOS版本是在開源狀態下開發的,但你須要一個商業許可才能在應用商店上架。.net
HTML5的一個標準對應有多個獨立實現。
Qt是一個供應商在多個平臺上實現相同的運行時環境。
多個實現,與幾個開源夥伴和一個大型社區一塊兒彙報和圍繞兼容性問題工做造就了一個很是健壯的平臺。有一個供應商確保全部平臺表現一致,對你的應用兼容性來說幾乎老是更好的。Qt獲勝!
HTML5的DOM不是爲如今的移動應用構建的。
Qt Quick(QML)的scene graph是直接在OpenGL ES上構建的。
兩個環境都使用JavaScript。然而使用Qt時,若是你真的須要原平生臺的功能或性能,會更容易降低爲原生代碼。使用Qt,JavaScript和本地代碼之間切換的性能損失要低得多。然而,最大的區別是圖形性能。追求性能的人在使用HTML5時經常藉助於複雜的方案來規避DOM ,能不碰就不碰。在WebGL上構建整個UI看起來是有前途的方式,但得看將來的執行狀況。如今,WebGL已經有更普遍的支持(Apple在iOS8加入了對WebGL的支持)。Qt在這點上有很大優點,相比web開發者的CSS3,Qt還有更多的動畫選項。
使用HTML5,要麼依賴相似Ionic之類的第三方框架,要麼構建本身的原生界面元素的替代品。
使用Qt時你可使用那些克隆了原生界面元素的組件,或者直接調用原生UI。
在Qt裏能夠調用原生API,但這損失了跨平臺兼容性。實際上,當你須要真正的原生用戶體驗時,哪一個選擇都不能很好地知足需求。兩個方案均可以模仿某些應用的一個子集。通常來說,當你須要一個徹底自定義UI或原生外觀時,能夠採用跨平臺的方式。
經過對這些指標的比較,Qt比HTML5略有優點。然而你也可使用其餘指標來比較,得出結論。在實踐中,須要選擇適合項目的技術。兩個選擇都有優勢,若是你是一個HTML5開發人員,不熟悉Qt的產品,它們值得一看。還有一點我沒說起,Qt可使用webview來顯示HTML5內容,這意味着並不須要非此即彼,能夠合二爲一。