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