微软披露了Spartan中所使用的渲染引擎的细节
微軟披露了在Spartan web瀏覽器中所使用的新渲染引擎的更多信息,Windows 10的桌面版本和移動設備版本將預裝該瀏覽器。
\\Charles Morris是Spartan項目的項目經理主管,他在一篇博客帖子中詳細地解釋了該項目背后的成因、IE瀏覽器的歷史以及未來的計劃。該項目的成因之一是為了打造一個能夠與Chrome和Firefox競爭的現代化渲染引擎,除此之外,Morris還提到:“我們需要計劃這樣一種瀏覽器,在我們快速地引入現代化的HTML5特性的同時,它也能夠高度地向后兼容企業客戶的需求”。
\\新的渲染引擎最初是基于現有的Trident引擎進行開發的,該引擎中包含了向后兼容達20年的遺留代碼。在新的代碼分支創建之后,微軟耗費了幾個月的精力,以刪除各種不必要的代碼,例如文檔模式和VBScript等等,這些特性在精益的、更現代化的引擎中已無用武之地了。但是,為了繼續支持那些針對特性的老版本IE所創建的企業web應用,新的Spartan瀏覽器中依然保留了陳舊的引擎。Spartan能夠“無縫地”在兩種渲染引擎之間進行自動切換。
\\在Hacker News網站上的一篇討論中,微軟的高級web平臺工程師Jacob Rossi表示:“由于Spartan中移除了老版本IE中遺留的那些冗余部分,因此它的磁盤與內存占用都比IE要小”。
\\自從Windows Phone 8.1更新版本推出之后,微軟就改變了瀏覽器的用戶代理字符串(user agent),改變后的字符串會讓目標網站認為該請求是來自于某些更流行的設備的,例如iPhone。為了確保Spartan中能夠獲得最好的內容展示效果,新的瀏覽器也將繼續使用這一做法,它的用戶代理字符串將被改為:
\\\Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) \Chrome/39.0.2171.71 Safari/537.36 Edge/12.0\\請注意:在新的字符串中沒有了“Trident”的身影,取而代之的是“Edge/12.0”。
\\在這篇帖子中,微軟表示,他們曾經討論過是否要使用開源的WebKit渲染引擎,但最終還是決定開發一套自己的引擎。Morris說道:“雖然使用WebKit具有某些優勢,但經過進一步的調查后,我們還是認為這不是正確的方向,原因主要有兩點”。
\\\首先,Web的原則之一就是讓多種獨立的、并且能夠互操作的Web標準的實現共存,我們也認為Web不應該朝向單一的方向發展。其次,從整個工程所需的精力方面來看,與使用開源引擎開發全新的瀏覽器相比,如果我們能夠基于自有的引擎進行開發,就能夠更快地為客戶推出一個專注于互操作性的引擎。
\\\在推特上的一場對話中,用戶@sircmpwn詢問了微軟將Spartan瀏覽器的代碼開源的可能性。微軟對此回應到:“近期沒有將代碼全部開源的計劃,但我們會以別的方式擁抱開放性(例如通過http://status.modern.ie網站)”。
\\IE從版本11開始就設定為自動升級,在Windows 10中也會繼續沿用這一持續更新的設定。多年以來,由于IE的兼容性和“怪癖”所造成的問題一直飽受web開發者們的抨擊,至于Spartan能夠平息這些批評的聲音,還有待時間的檢驗。
\\查看英文原文: Microsoft Shares Details on Spartan Rendering Engine
總結
以上是生活随笔為你收集整理的微软披露了Spartan中所使用的渲染引擎的细节的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: No monitoring data i
- 下一篇: eclipse的tomcat运行mave