新聞來源:歲月如歌
JavaScript游戲一段時間內(nèi)將還只是開發(fā)者們的“玩物”,要真正轉(zhuǎn)換為商業(yè)應(yīng)用,可能還有一段漫長的路要走。但是,當(dāng)Super Mario跳躍在Web網(wǎng)頁上時,這昭示著JavaScript的時代已經(jīng)到來了。JavaScript能做什么?2008年的答案是:JavaScript連游戲都能做!
喬布斯說:“活著就是為了改變世界,難道還有其它原因嗎?” 2008年,在Web前端開發(fā)界,無論國外還是國內(nèi),都發(fā)生了不少事情,有哪些是改變世界或即將改變世界的大事件呢?
JavaScript游戲
2008年4月9日,Dion Almaer發(fā)現(xiàn)了一款非常經(jīng)典的JavaScript游戲:Super Mario. 這款游戲由Jacob Seidelin開發(fā),大小僅14k.

(Super Mario JavaScript版本: http:///)
不少Web開發(fā)者們大跌眼鏡:這真的是用JavaScript開發(fā)出來的?答案是肯定的。這款游戲利用了Canvas元素(IE中用HTML模擬),圖像存儲在加密的字符串中,還用base64存儲了MIDI背景音樂。除了這些技巧,其它代碼就是我們熟悉的HTML、CSS和JavaScript.
Super Mario JavaScript版本的橫空出世(之前也出現(xiàn)過用JavaScript寫的游戲,但沒有像Super Mario一樣引起大家的關(guān)注),激起了一股用JavaScript編寫游戲的熱潮:
許多經(jīng)典的游戲都有了JavaScript版本:Pac-Man(經(jīng)典的吃豆子游戲), Space Invaders(太空入侵者),Spacius(百玩不厭的雷電)等等。
甚至還出現(xiàn)了一些比較復(fù)雜的角色扮演游戲:Andrew Wooldridge創(chuàng)造的Tombs of Asciiroth 和 CanvasQuest,Pierre Chassaing創(chuàng)造的ProtoRPG等。
伴隨JavaScript游戲的熱潮,還出現(xiàn)了不少專門用于游戲開發(fā)的JavaScript庫。最突出的是GameJS(基于Canvas的一個2D游戲開發(fā)庫) 和 GameQuery(這是jQuery的一個插件)。
除了用Canvas構(gòu)建2D游戲,用JavaScript還可以構(gòu)建3D游戲,還出現(xiàn)了非常出色的Processing.js,以及JavaScript PlotTool繪圖工具等等。
感慨:JavaScript游戲一段時間內(nèi)將還只是開發(fā)者們的“玩物”,要真正轉(zhuǎn)換為商業(yè)應(yīng)用,可能還有一段漫長的路要走。但是,當(dāng)Super Mario跳躍在Web網(wǎng)頁上時,這昭示著JavaScript的時代已經(jīng)到來了。JavaScript能做什么?2008年的答案是:JavaScript連游戲都能做!
大放異彩的jQuery
2008年,無論對于jQuery的作者John Resig還是jQuery庫本身來說,都是非常棒的一年。jQuery首頁上有一行很明顯的加粗文字:
jQuery is designed to change the way that you write JavaScript.
jQuery設(shè)計成可以改變你書寫JavaScript的方式。
jQuery用數(shù)據(jù)和事實證明了它的魅力。一定程度上,甚至可以毫不夸張地說:jQuery改變了Web前端開發(fā)界。下面是用Google Trends統(tǒng)計的常用JavaScript庫在2008年的搜索量曲線圖:

2008年9月份,jQuery團隊?wèi)?zhàn)績斐然:Microsoft和Nokia正式將jQuery集成進他們的應(yīng)用程序開發(fā)平臺。此外,Google的部分應(yīng)用里,也早就采納了jQuery. 從jQuery的首頁上還可以看出,DELL, Bank of America, Digg, Technorati, Mozzila等站點都在使用jQuery.
當(dāng)然,除了jQuery,其它JavaScript在2008年也都有可圈可點的發(fā)展。YUI3的Preview版本,是我見過的最具有發(fā)展?jié)摿Φ目蚣?。ExtJS在國內(nèi)的普及也非常迅猛,JavaEye社區(qū)里,ExtJS一定程度上成了Ajax的代名詞,各種有關(guān)ExtJS的技術(shù)文章和書籍非常多(遺憾的是書籍的質(zhì)量不高)。Prototype不溫不火。Mootools則在低調(diào)中用其優(yōu)雅的代碼吸引了不少忠實用戶。
感慨:上面提到的每個JavaScript庫都是非常優(yōu)秀的,掌握任何一個,對于我們的日常工作來說,都綽綽有余了。只是對于2008年來說,jQuery的表現(xiàn)太突出了,連我這個天天工作用YUI的人,在2008年,都不得不為jQuery鼓掌,為John Resig喝彩!各種JavaScript庫的爭奇斗艷,這是JavaScript時代已經(jīng)到來的另一個標(biāo)志。
蹣跚起步的網(wǎng)頁工業(yè)化
2008年,如果你是一名Web前端開發(fā)工程師,卻沒有聽說過“柵格”兩個字,那你一定是工作太忙太專心了。2008年10月份,在淘寶UED博客,出現(xiàn)了一篇“
960的秘密”,揭開了網(wǎng)頁柵格系統(tǒng)在國內(nèi)的研究小熱潮。
伴隨著柵格系統(tǒng)的爭論,國內(nèi)的前端技術(shù)博客里還出現(xiàn)不少對CSS框架和布局的探討。這一切,所要解決的是以下兩個問題:
- 網(wǎng)頁的規(guī)范性。隨著站點的成長,頁面會以幾何級數(shù)的速度增加。面對成千上萬個網(wǎng)頁,如何保持風(fēng)格的一致性是一個不小的挑戰(zhàn)。
- 網(wǎng)頁的工業(yè)化產(chǎn)出。在遵守規(guī)范和保證質(zhì)量的基礎(chǔ)上,如何讓頁面制作容易,如何讓運營人員能批量制造頁面,這是目前許多大型站點面臨的另一個問題。
國內(nèi)站點中,淘寶、百度有啊、網(wǎng)易等站點的已逐步采用柵格系統(tǒng)。淘寶的首頁和頻道目前已經(jīng)全部柵格化,同時嘗試性開發(fā)了TMS(模板管理系統(tǒng))來解決網(wǎng)頁的工業(yè)化產(chǎn)出問題。
感慨:網(wǎng)頁的高質(zhì)量工業(yè)化產(chǎn)出,在國內(nèi)很多公司才剛起步。2009年,我相信工業(yè)化將依舊是Web前端開發(fā)界的關(guān)鍵詞。
這些也很出色
- 漸進增強。2008年10月份,Aaron Gustafson在ALA網(wǎng)站上發(fā)表了一系列有關(guān)漸進增強的文章,探討的核心問題是:JavaScript應(yīng)該做什么以及Web前端開發(fā)的技術(shù)流程。JavaScript游戲讓我們看到了JavaScript的魔力,Aaron提醒我們不能濫用JavaScript,我們要仔細(xì)考慮JavaScript的使用場景。可用性,無侵入性,可訪問性等等,這些理念是每一個前端開發(fā)工程師需要好好思考的。
- D2(前端技術(shù)論壇)。 2008年,在北京和上海分別舉辦了兩屆D2,這是國內(nèi)前端開發(fā)工程師們的兩場盛會。前端工程師,這個新生的職位逐步被國內(nèi)各大公司接受。D2的意義在于,我們聚集在一起,發(fā)出了自己的聲音!
- Google Chrome的誕生。 2008年,Chrome, JS V8引擎,Google迫使各大瀏覽器廠商開始比拼JavaScript引擎速度,這是JavaScript時代已經(jīng)到來的另一個標(biāo)志。Google和Mozzila的努力,在年末的時候帶來鼓舞人心的統(tǒng)計結(jié)果:IE的使用率跌破70%. 萬惡的IE6,早點滅亡吧。2009年,Google的號角和淘寶網(wǎng)即將掀起的 NO IE6 活動,將加速IE6的滅亡。
最后,用兩句話來結(jié)束本文:
2008年,我們努力改變世界!
2009年,我們繼續(xù)改變世界,同時世界將開始為我們而改變!