JavaScript成瀏覽器戰(zhàn)爭(zhēng)主戰(zhàn)場(chǎng)
據(jù)國(guó)際報(bào)道,JavaScript悄悄運(yùn)行于網(wǎng)站內(nèi)部10幾年后,已經(jīng)成為第二輪瀏覽器戰(zhàn)爭(zhēng)的一個(gè)主戰(zhàn)場(chǎng)。
JavaScript誕生于1990年代中期,程序員用它可以做很多事情,從基本的網(wǎng)站菜單到網(wǎng)絡(luò)表格程序。
當(dāng)時(shí),微軟IE瀏覽器正在挑戰(zhàn)網(wǎng)景的Navigator。IE贏得了那場(chǎng)戰(zhàn)爭(zhēng),不過(guò),IE現(xiàn)在面臨Moazilla的Firefox,Google的Chrome,蘋(píng)果的Safari以及Opera瀏覽器的挑戰(zhàn)。
所有IE挑戰(zhàn)者們都在鼓吹其Javascript的性能,他們甚至為其瀏覽器中的Javascript引擎專門進(jìn)行了命名:Chome叫V8,F(xiàn)irefox叫TraceMonkey,Opera的Futhark以及即將發(fā)布的Carakan,Safari剛剛才推出的Nitro。
盡管在JavaScript上落后于對(duì)手,微軟卻真正關(guān)注瀏覽器的整體性能,尤其是JavaScript的性能,不過(guò),當(dāng)微軟***的IE8瀏覽器出來(lái)時(shí),我們發(fā)現(xiàn),微軟內(nèi)部在JavaScript上存在巨大的觀點(diǎn)分歧。
IE總經(jīng)理Dean Hachamovitch說(shuō):“我們將讓JavaScript引擎變得更快,不過(guò)現(xiàn)在還不清楚有多少人歡迎這種性能,JavaScript是決定頁(yè)面渲染速度的一種因素。只是一種因素,不是靈丹妙藥。”
Hachamovitch認(rèn)為,由于JavaScript很容易測(cè)量,因此,它的性能已經(jīng)成為瀏覽器性能的代名詞。微軟公布的頁(yè)面載入測(cè)試中,IE8性能超越了Firefox 3.0.5和Chrome 1.0。
無(wú)獨(dú)有偶,IE8出來(lái)前一天,Google開(kāi)始宣傳自己瀏覽器的性能,Google發(fā)布Chrome Experiments網(wǎng)站來(lái)展示其高性能Javascript給瀏覽器所帶來(lái)的好處。
瀏覽vs運(yùn)行程序
上述公司的區(qū)別在于:微軟關(guān)注今日的網(wǎng)絡(luò),其它對(duì)手重視未來(lái)的網(wǎng)絡(luò)。
互聯(lián)網(wǎng)已經(jīng)由一種靜態(tài)網(wǎng)絡(luò)變成了包含各種應(yīng)用程序的頁(yè)面。換句話說(shuō),瀏覽器現(xiàn)在必須既處理數(shù)據(jù),又載入頁(yè)面。微軟是瀏覽器市場(chǎng)的主導(dǎo)者,其份額為67%,挑戰(zhàn)者們正在將目光對(duì)準(zhǔn)他們認(rèn)為的未來(lái)主流。
Mozilla的Firefox主管Mike Beltzner說(shuō):“我們將JavaScript的速度變得越快,網(wǎng)絡(luò)將會(huì)變得越有趣,越具有交互性。”
Google也認(rèn)同這種觀點(diǎn),Chrome工程師Darin Fisher說(shuō):“由于Javascript的限制,許多Web程序員感到沮喪,他們沒(méi)法實(shí)現(xiàn)自己的想法。這不是唯一的瓶頸,但Google還是認(rèn)為,目前提高瀏覽器性能的***機(jī)會(huì)還是在于提升Javascript的性能。”
讓JavaScript變得更快,Google有直接的利益。Google是云計(jì)算的***擁護(hù)者。
不過(guò),Google Docs,Google Calendar和Gmail這些并不是僅有的云計(jì)算產(chǎn)品。Yahoo,F(xiàn)acebook等許多網(wǎng)站都在廣泛使用JavaScript,微軟自己也在開(kāi)發(fā)網(wǎng)絡(luò)版的Office。
對(duì)于Web程序來(lái)說(shuō),只強(qiáng)調(diào)Javascript有些簡(jiǎn)單化。Web程序還可以從新的Web標(biāo)準(zhǔn)技術(shù)中獲益,比如HTML5,CSS3等。不過(guò),Javascript提供了一種程序語(yǔ)言將所有這些Web元素融入網(wǎng)站,而不僅是顯示一些東西。
一場(chǎng)競(jìng)賽
JavaScript競(jìng)爭(zhēng)不僅過(guò)去存在,它已經(jīng)逐漸在一些網(wǎng)絡(luò)程序編程中流行開(kāi)來(lái)。比如雅虎Mail,人們可以點(diǎn)擊郵件,將其拖動(dòng)到文件夾中。這種高端的Javascript技術(shù)叫做Ajax。
Beltzner說(shuō):“幾年前,人們開(kāi)始接受以JavaScript為中心的新的開(kāi)發(fā)模式,程序員們希望讓瀏覽器處理更多的東西。”
2008年,Javascript引擎逐漸成為瀏覽器領(lǐng)域的競(jìng)爭(zhēng)焦點(diǎn)。6月,Webkit發(fā)布了SquirrelFish引擎,然后SquirrelFish Extreme也出現(xiàn)。Firefox8月發(fā)布了TraceMonkey,Google9月隨Chrome發(fā)布了V8,Opera今年2月發(fā)布了Carakan,本月,蘋(píng)果在Safari 4 beta中發(fā)布了Nitro引擎。
Beltzner說(shuō):“我認(rèn)為,是WebKit 真正引發(fā)了這種競(jìng)爭(zhēng)。”
微軟有自己的考慮。IE高級(jí)主管Amy Barzdukas說(shuō):“我們肯定關(guān)注其它瀏覽器,不過(guò),瀏覽器制造商們不僅應(yīng)該關(guān)心***技術(shù),而且還應(yīng)該關(guān)心瀏覽器的用戶。”
JavaScript vs Flash和Silverlight
對(duì)于Web程序開(kāi)發(fā),微軟有自己的回答,這就是Silverlight軟件,它的主要針對(duì)目標(biāo)是Adobe的Flash。Silverlight使用的是微軟C#,F(xiàn)lash使用的是ActionScript程序語(yǔ)言。
程序員Doob說(shuō):“Chrome中的JavaScript幾乎與Flash程序相當(dāng)。不過(guò),一般來(lái)說(shuō),JavaScript的速度只有Flash的3/4,這是JavaScript的一個(gè)缺點(diǎn)。”不過(guò),他說(shuō),JavaScript開(kāi)發(fā)工具還顯得原始,另外,不同的瀏覽器,JavaScript版本也存在不同。
他說(shuō):“ActionScript的主要好處是,它在任何瀏覽器,任何版本的瀏覽器中的表現(xiàn)都是一樣的,而JavaScript就不同了,它得看瀏覽器支持哪些功能。”
一般來(lái)說(shuō),隨著程序技術(shù)的成熟,JavaScript將形成標(biāo)準(zhǔn),不過(guò)現(xiàn)在,性能才是重點(diǎn)。
【編輯推薦】