近來(lái)Web專(zhuān)業(yè)人士變得非常興奮,原因也不令人意外。微軟最新版的瀏覽器,InterNET Explorer 9,剛剛發(fā)布。很多人都在討論它的變化,以及最新的版本是不是實(shí)質(zhì)的改進(jìn),或者是改進(jìn)很小,改變太晚。
在前面的文章中,Jacob Gube對(duì)IE9有比較積極的評(píng)價(jià)。我來(lái)充當(dāng)一個(gè)反對(duì)派角色,展示出它的另一面。
我與IE9的緊張關(guān)系
有一天早上我起來(lái)并查收我的Twitter消息,我看到一條令我非常興奮的消息:IE9的第一個(gè)發(fā)行候選版發(fā)布了!
現(xiàn)在,在網(wǎng)頁(yè)設(shè)計(jì)師當(dāng)中,我可能是最懷疑IE的人之一我們現(xiàn)在不討論IE6笑話(huà)但是在這次我體驗(yàn)了很多beta版本并看到了一些很好的工作。IE9真的不一樣。
我立刻下載了它,并開(kāi)始安裝過(guò)程。一切順利。然后我執(zhí)行了必須的微軟重啟這已經(jīng)是2011年了裝一個(gè)軟件還需要重啟計(jì)算機(jī),無(wú)所謂了,死不了之后我打開(kāi)了這個(gè)瀏覽器。
到此為止,事情比我想像中的要順利。然而正是在這剛開(kāi)始使用的時(shí)候,我對(duì)IE9的負(fù)面體驗(yàn)出現(xiàn)了。我訪(fǎng)問(wèn)我自己的網(wǎng)站看看會(huì)是什么樣,我想只有下面這張圖的面部表情可以準(zhǔn)確表達(dá)我看到內(nèi)容之后的感受:
如果我開(kāi)發(fā)網(wǎng)絡(luò)攝像頭,你應(yīng)該會(huì)看到這樣的表情。
我的網(wǎng)站完美組織的布局被破壞了。它不但渲染得很差,而且渲染缺陷實(shí)在是太大了以至于再多的IE條件注釋都解決不了它們。(親愛(ài)的IE9,26歲的小伙子頭上長(zhǎng)了白頭發(fā)一點(diǎn)都不酷。)
這時(shí),我做出了許多出格舉動(dòng):我大叫不不不不不不不!!,太大聲了以至于街上的一只狗都咆叫回應(yīng)。
幸運(yùn)的是,我可以使用XUA Meta hack解決這個(gè)問(wèn)題(對(duì)于語(yǔ)義的和良好組織的標(biāo)記語(yǔ)言來(lái)說(shuō)都是多余的)。
可能這些bug會(huì)在最終發(fā)布的版本解決。但是我是個(gè)現(xiàn)實(shí)主義者,我覺(jué)得可能沒(méi)有那么幸運(yùn)。
IE正在改善
在大家在下面寫(xiě)評(píng)論,用IE9中許多值得贊揚(yáng)的新特性反駁我之前,我應(yīng)該說(shuō)明微軟在改進(jìn)它的瀏覽器上做了很多工作。而且事實(shí)上,我們比其他任何人都更需要這個(gè)更新。
所以,在討論使得我憎恨IE9的原因之前,必須先說(shuō)一下它的一些好的方面。
首先,雖然很多人可能不承認(rèn),但是IE確實(shí)是我們現(xiàn)在所提的web標(biāo)準(zhǔn)的先驅(qū)。他們是發(fā)明家。我們今天所能看到的網(wǎng)頁(yè)就是他們?cè)缙诠ぷ鞯闹苯咏Y(jié)果。
可以這么說(shuō),微軟推動(dòng)的改變并不總是能達(dá)到目的,但是沒(méi)有像IE6這樣的瀏覽器,我們可能不會(huì)看到像CSS3中overflow-x和overflow-y這樣的屬性,網(wǎng)頁(yè)字體,Ajax,與及一度有用的條件注釋?zhuān)ㄎ覀冮_(kāi)發(fā)過(guò)程中的救世主)。IE9中的新特性讓我很感動(dòng),它們值得擁有。
另外,我特別喜歡微軟擁抱HTML5和CSS3的方式。雖然在每一個(gè)方面都不是很完美,但是我們從它現(xiàn)在支持的標(biāo)準(zhǔn)中至少應(yīng)該看到微軟正努力提高瀏覽器的體驗(yàn)。
而更令人驚喜的是,微軟正在測(cè)試過(guò)程中的對(duì)透明度的支持(讓每個(gè)人獲得測(cè)試版本并傾聽(tīng)反饋)真正地讓它們的瀏覽器回到通往成功的道路上來(lái)。
IE9會(huì)是新的IE6嗎?
從一開(kāi)始,早期的警示信號(hào)就出現(xiàn)了,人們批評(píng)微軟對(duì)引入HTML5和CSS3的選擇(包括未完成的標(biāo)準(zhǔn)),認(rèn)為當(dāng)它過(guò)時(shí)的時(shí)候,糟糕地渲染(已經(jīng)存在)和將來(lái)的改變可能會(huì)讓這個(gè)瀏覽器陷入像IE6一樣的困境。其它瀏覽器頻繁的發(fā)布周期和自動(dòng)更新(默認(rèn)的)可能會(huì)將這個(gè)問(wèn)題最小化,但是IE總是如此緩慢的主版本發(fā)布過(guò)程,它將很可能會(huì)成為2020年的IE6!
如了鮑爾默還有誰(shuí)能把我們從這些問(wèn)題中解救出來(lái)?
此外,在反饋程序里報(bào)告的bug數(shù)量超過(guò)5000個(gè)以及IE團(tuán)隊(duì)感謝jQuery團(tuán)隊(duì)更新它們的JavaScript庫(kù)以對(duì)IE9友好的公告讓我懷疑這會(huì)是我們暗淡的前景。
Microsoft Connect:接近5300個(gè)公開(kāi)問(wèn)題報(bào)告(我的問(wèn)題也在其中)。我的天哪!
程序員,設(shè)計(jì)師以及服務(wù)提供商針對(duì)新的瀏覽器修補(bǔ)他們的代碼時(shí)總是提心吊膽。如果瀏覽器遵從標(biāo)準(zhǔn),這些bug可能一開(kāi)始就不會(huì)出現(xiàn)在那。
在一個(gè)新瀏覽器出來(lái)之前是否很?chē)?yán)峻地需要修補(bǔ)代碼?事情會(huì)變得到底有多糟糕呢?
回顧一下hasLayout的日子,這些問(wèn)題看起來(lái)和我們以前遇到過(guò)的一樣。是的,微軟自從IE6以來(lái)走了很長(zhǎng)的路了,是的,它也盡全力使它的瀏覽器跟上時(shí)代。但是在談到它做得有多好的時(shí)候至今當(dāng)已知的問(wèn)題還留給我們?nèi)ソ鉀Q的時(shí)候它還宣稱(chēng)自己比競(jìng)爭(zhēng)對(duì)手好看起來(lái)是無(wú)法原諒的。
營(yíng)銷(xiāo)機(jī)器
在一份致微軟的信中,Mozilla聲明微軟吹噓的IE9對(duì)標(biāo)準(zhǔn)的高度支持是不準(zhǔn)確的。微軟總是有針對(duì)IE有效的營(yíng)銷(xiāo)策略,基于它實(shí)質(zhì)上有偏差的聲明和不準(zhǔn)確的調(diào)查。
Mozilla發(fā)表此聲明以示IE的公告有多么地不準(zhǔn)確。
然而營(yíng)銷(xiāo)不能改變?yōu)g覽器本身,這些誤導(dǎo)消費(fèi)者的處理方式,不管是過(guò)去還是現(xiàn)在,都是在為IE建網(wǎng)站的人的傷口上撒鹽。
沒(méi)錯(cuò),微軟的新瀏覽器離完美還差得遠(yuǎn),也沒(méi)有哪個(gè)瀏覽器能做得十全十美。所有其它瀏覽器也有它們的缺陷和bug,缺失技術(shù)以及不完整的標(biāo)準(zhǔn)實(shí)現(xiàn)。
但是,微軟的問(wèn)題在于它對(duì)自己的裝扮以及它有時(shí)令人失望的走一步退兩步的方式。
IE9是一款現(xiàn)代瀏覽器嗎?
想了解這一點(diǎn),我們只需要查看微軟Tim Sneath的一篇博文,他專(zhuān)注于什么構(gòu)成現(xiàn)代瀏覽器。他反駁Mozilla的公開(kāi)信的主旨是我關(guān)注的地方。
現(xiàn)代瀏覽器不是實(shí)物而是努力
首先,Sneath聲稱(chēng)Mozilla狹隘地定義了現(xiàn)代瀏覽器。而我個(gè)人贊成Mozilla按其自己的術(shù)語(yǔ)對(duì)現(xiàn)代瀏覽器的定義,如果Mozilla放寬它的定義,微軟可能會(huì)做得更糟糕。
下面我以自己的理解摘取了一些Sneath的觀(guān)點(diǎn)來(lái)說(shuō)明為什么IE9不是現(xiàn)代瀏覽器。
現(xiàn)代瀏覽器更快。他們通過(guò)GPU充分利用潛在的平臺(tái)來(lái)渲染圖像, 利用多核CPU來(lái)編譯和執(zhí)行JavaScript并使得Web程序運(yùn)行起來(lái)盡可能的快就像本地程序一樣
新版本的IE改進(jìn)了界面,速度和可用性,并且IE9的渲染速度確實(shí)能很好的與其它瀏覽器抗衡。但是談到瀏覽器自身的速度(以及相對(duì)于Chrom和Opera更憑直覺(jué)的界面),這些不同依然很無(wú)力。窗口和標(biāo)簽加載時(shí)間很不給力,除了渲染引擎,界面真是比不上其它任何一款瀏覽器。
設(shè)置菜單就是IE9的界面不一致的簡(jiǎn)單示例。比如,F(xiàn)12開(kāi)發(fā)者工具,這是我在產(chǎn)品中見(jiàn)過(guò)的最爛的設(shè)計(jì);為了保持一致性,它應(yīng)該是像查看下載這樣的選項(xiàng)。
RSS和Atom通知功能不知道為什么從地址欄消失了,取而代之的是我們必須使用更不明顯(而且是默認(rèn)隱藏的)的命令欄。想想你如果不搜索一下的話(huà)如何打開(kāi)命令欄。如果這對(duì)你這樣的科技達(dá)人來(lái)說(shuō)都比較困難,想像一下對(duì)于上年紀(jì)的用戶(hù)會(huì)是什么樣子。
讓刷新和停止按鈕分開(kāi)也是相當(dāng)多余的;這些瀏覽器按鈕就像燈的開(kāi)關(guān),在頁(yè)面渲染的時(shí)候,你要么就是想刷新要么就是想停止頁(yè)面。
這只是一些IE9讓瀏覽器UI感覺(jué)很粗糙的簡(jiǎn)單例子。
現(xiàn)代瀏覽器支持豐富的令人沉浸的體驗(yàn),這種體驗(yàn)?zāi)壳爸荒芡ㄟ^(guò)插件或本地應(yīng)用程序來(lái)實(shí)現(xiàn)。他們可以在不犧牲性能的情況下無(wú)縫地混合視頻,失量和光柵圖像,音頻和文字。
這好像指的是像Flash和HTML5這樣的技術(shù),IE9在這些方面做得很好,特別是配合硬件加速,在Windows平臺(tái)上它甚至能在CPU占用率方面超越Chrome(如下圖)。
瀏覽SunSpider時(shí),IE9與Chrome在Windows Vista下CPU使用率的對(duì)比。
現(xiàn)代瀏覽器在特性準(zhǔn)備好了才去實(shí)現(xiàn)它,提供可預(yù)言的模式,開(kāi)發(fā)者可以依賴(lài),而不是突然停止或移除標(biāo)準(zhǔn)。他們不為了通過(guò)合成測(cè)試而寫(xiě)半成品的實(shí)現(xiàn),而是通過(guò)確認(rèn)可操作性的測(cè)試套裝來(lái)驗(yàn)證
雖然在渲染引擎中保持舊的標(biāo)準(zhǔn)可以看作是一個(gè)一些開(kāi)發(fā)者可以以來(lái)的很有用的兼容特性,但是我不能理解為了那些愿意升級(jí)的人維護(hù)一個(gè)如此老舊的標(biāo)準(zhǔn)如何可以稱(chēng)之為現(xiàn)代瀏覽器。
web變化了,并且需要標(biāo)準(zhǔn)化。繼續(xù)支持舊標(biāo)準(zhǔn)(就像舊瀏覽器一樣)只會(huì)使得兼容性在長(zhǎng)久上很難實(shí)現(xiàn)。如果舊代碼仍然被支持,那么設(shè)計(jì)者就沒(méi)有創(chuàng)新動(dòng)機(jī)(除非他們有需求或興趣)。以現(xiàn)狀看來(lái),這個(gè)產(chǎn)業(yè)已經(jīng)有很?chē)?yán)重的代碼,語(yǔ)法,標(biāo)準(zhǔn)質(zhì)量差的問(wèn)題。必須兼容老式代碼可能會(huì)打擊設(shè)計(jì)者更新它們知識(shí)的意愿。雖然現(xiàn)在這可能不是什么問(wèn)題,但是我們可以不需要含停滯,特別是在專(zhuān)利技術(shù)上。
另外一個(gè)問(wèn)題是不像IE8IE9不支持Window XP(一款看上去還很堅(jiān)挺的操作系統(tǒng)),在這個(gè)系統(tǒng)上可能可以?shī)Z取許多用戶(hù)以讓他們享受現(xiàn)代瀏覽器的好處。
對(duì)于Sneath提到的確認(rèn)可操作性的測(cè)試組合,正如我們?cè)贗E的生命周期中所看到的一樣,測(cè)試組合條目的數(shù)量從來(lái)沒(méi)有對(duì)瀏覽器的渲染穩(wěn)定性帶來(lái)變化。為什么現(xiàn)在它現(xiàn)在就可以呢?
現(xiàn)代瀏覽器對(duì)標(biāo)準(zhǔn)的支持在一個(gè)早期階段,因此開(kāi)發(fā)者可以體驗(yàn)和驗(yàn)證新的標(biāo)準(zhǔn),而不是對(duì)于一些不穩(wěn)定的原型也這么做
最終這個(gè)免責(zé)聲明支持了我對(duì)IE9不看好的想法,這也是為什么網(wǎng)頁(yè)設(shè)計(jì)師在未來(lái)的一段時(shí)間內(nèi)還需要忍受。對(duì)于IE的每一個(gè)新版本,想讓使用者升級(jí)都是一個(gè)掙扎。IE6今天還在使用。這看起來(lái)一切都還好并且允許實(shí)驗(yàn)是好的,但是它些存在的標(biāo)準(zhǔn)被主要的InterNET用戶(hù)所授受,具有間歇性升級(jí)周期的瀏覽器(像IE9)無(wú)疑使得平均的網(wǎng)頁(yè)設(shè)計(jì)測(cè)試過(guò)程變得更加復(fù)雜。
為什么它很重要
我對(duì)瀏覽器的批評(píng)不是起源于于它如何引起我的不滿(mǎn);遠(yuǎn)遠(yuǎn)不是。這款瀏覽器改進(jìn)了,并且它將會(huì)幫助我們將一些現(xiàn)代特性帶給觀(guān)眾。
IE9是不是現(xiàn)代瀏覽器呢?在我看來(lái),不是,僅僅因?yàn)樯芷诘倪@些問(wèn)題,補(bǔ)丁支持和其它瀏覽器(雖然不完美)正在努力創(chuàng)新。
網(wǎng)頁(yè)設(shè)計(jì)師應(yīng)該在這里對(duì)每個(gè)新的瀏覽器挑刺,而IE好像就是另一個(gè)追趕發(fā)行,還有我們以前看到的一樣的問(wèn)題。Web正在進(jìn)化,人們用來(lái)訪(fǎng)問(wèn)它的工具和技術(shù)也在進(jìn)步。只有適應(yīng)需求的瀏覽器才能生存下去。
IE9是一款好的瀏覽器嗎?是的。它和它的競(jìng)爭(zhēng)者處在同一個(gè)水平么?可能是吧。在它的生命期它能保持住嗎,IE可以活到第10個(gè)版本嗎?我不太確定。
對(duì)于IE9來(lái)說(shuō),未來(lái)是可以爭(zhēng)取的。
對(duì)于我來(lái)說(shuō),還是要回到工作中去,為又一個(gè)微軟的瀏覽器寫(xiě)補(bǔ)丁和hack。
it知識(shí)庫(kù):為什么IE9是網(wǎng)頁(yè)設(shè)計(jì)師的噩夢(mèng),轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。