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