麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > AJAX > 正文

AJAX的七宗罪

2024-09-01 08:15:07
字體:
來源:轉載
供稿:網友

引子

2005.2.18,Jesse James Garrett 的一篇A New Approach to Web Applications引出了AJAX這個web界的新名詞。加上新寵兒在降生下來就和足球名隊阿賈克斯、Google Suggest  Google Maps這些大腕息息相關,不想出名都難啊。但似乎人們給與AJAX的期望有點太高了,甚至有人提出了用AJAX取代Java Applet和Flash。不知Flickr是不是也聽到這種呼聲才把自己的Flash UI轉向了普通的javascript。AJAX是個偉大的東西,它是在不創造新技術的前提下誕生的一個標準,憑這一點就能招來大批的狂熱追隨者,AJAX看起來更像是楊過和小龍女練得玉女素心劍一樣,分開來沒有什么破壞力,但是二者合一就威力無比。

罪之一:對搜索引擎的支持不好

這其實更像一個大大的諷刺,AJAX的鼻祖是Google,但卻對Google自己支持最不好了,GMail主界面除過Top和Bottom外沒有一個鏈接就是最形象的諷刺了。雖然Mail本身是個私人的應用系統,但這個無鏈接的設計界面恰恰給AJAX開了個壞頭。Flash也有同樣有這個毛病。沒有鏈接的web就像森林中迷路的羔羊,這句看似廣告語,其實是web設計的根本原則。

罪之二:編寫復雜、容易出錯

javascript本是是個輕量級的小東西,現在被強迫重用起來,負擔可想而知。javascript對OOP的支持很少,這就限制了javascript代碼的可重用可封裝等等,從Google Mpa還是其他一些應用中能看到的都是無數的<script src="..."></script>這樣的文件包含,這些除了讓程序員頭昏的更快點,一點好處都沒有。更可怕的是在javascript中竟然沒有一款順手的Debug軟件,很多寫js的老手到今天還是用最原始的alert("")來調試,splinetech javascript HTML Debugger 算是一個看起來還像個樣子的調試器吧,可惜不是免費的,幾十大刀讓我這種窮人只能望而生嘆了。

罪之三:冗余代碼更多了

和上面說的差不多,層層包含js文件是AJAX的通病,再加上以往的很多服務端代碼現在放到了客戶端,所以每次打開一個頁面會包含很多的無用的js文件也一同下載下來。雖然寬帶越來越普及,但是減少代碼冗余還是每個web設計者的必修課。

罪之四:破壞了Web的原有標準

什么叫破壞web標準?<span onclick="location.href='detail/';">點擊查看全部</a>,這就是破壞了web標準。好好的A標簽放著不用,偏要用span。這種例子很多,flickr中的標題單擊后可以更改,這雖然(也包括我)是大家一致叫好覺得方便的設計,但同時這也是歧義了web元素本身的含義,物是人非這個詞不知道用的合不合適?

罪之五:缺少一個沒有標準之爭、沒有back和history的瀏覽器

哈哈,這句話語有點諷刺意義。現在的瀏覽器市場,不管是IE還是FireFox還是Opera等等。瀏覽器和瀏覽器之間的差異一直都是web設計者心中永遠的痛,支持的css不一樣,支持的客戶端腳本不一樣,有的竟然連客戶端腳本的用法都有不同。這讓程序員非常苦惱,最明顯的就是調用xmlhttprequest了,req=(window.XMLHttpRequest)?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");這段創建xmlhttp對象的代碼就是為了適應IE和非IE兩天陣營的瀏覽器的經典例子。說是沒有back和沒有history的瀏覽器,這也是一個諷刺,主要是指在AJAX下點擊鏈接是不Redirect頁面,所以不存在后退和前進了,同樣,沒有后退和前進也就無存找瀏覽歷史紀錄了。back和history存在的根本就是url的改變,在AJAX下人們發現不改url也同樣能達到內容改變這個酷酷的特點,何樂而不為呢?look http://www.dux2005.org/和http://www.zagodesign.com/,我承認這兩個站確實做得非常棒,但除了酷酷的感覺外,毫無用處。

罪之六:XML只是用來打幌子

xml從誕生那天起就被一致看好,大有非xml不娶之勢,我想Jesse James Garrett也是為了趨于流行才把xml強行加入ajax的吧。xml有一個致命的缺點,那就是加載的資源耗費,這好像是所有平臺下xml的通病。google map雖然是Jesse James Garrett推薦的AJAX的品牌代言人,但是gmap并沒有用xml,而是用了原生的javascript數組,我自己在用AJAX從服務端傳回數據時也從來不用XML,因為它讓我更繁瑣讓系統更慢。服務端首先要調用xml對要傳輸的數據進行封裝,客戶端得到數據后再調用xml進行解析,簡直是畫蛇添足。AJAX的一個重要特點是要身法輕盈,數據的傳輸盡量單一和簡陋,如果確實需要傳輸大量復雜的數據,也應該通過多次調用傳回。

罪之七:世界這么大卻找不到自己的家 

AJAX適用于什么?能干什么?能帶來什么?在網站上用AJAX那是笑話,除非像Google Map和Flickr這樣的專業領域的網站外,普通網站根本沒必要用這個技術;在龐大的企業應用市場估計還能有AJAX的一點容身之地,不過在MS、SUN不會看著AJAX這個野孩子來在他們的地盤上撒潑的,如果大家都用AJAX,那java給誰賣?.net給誰賣?所以AJAX在企業應用也不是長久之地。所以,AJAX現在找不到自己合適的位置是個很大的尷尬。疑病亂投醫,最近把AJAX的矛頭指向Flash和Applet就是一個例子。

當然,我也不是要把AJAX扁的一無是處,我本人就非常喜歡這門技術,它能讓web設計者的眼球更加寬廣,讓一些大膽的設計成為現實,但是我也會很冷靜的小心翼翼的利用這個利器,利器雖好,一不留神刺傷的是自己。

PS:這篇文章是昨晚寫的,今早卻神奇般的從網上看見了一篇文章Ajax: 99% Bad,文章是針對2000年那片著名的Flash: 99% Bad 寫的,其中的觀點和我所說的七宗罪中的幾宗相似。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天天操天天骑 | h视频在线观看免费 | 水多视频在线观看 | 国产女厕一区二区三区在线视 | 精品一区久久久 | 成人午夜视频网站 | 午夜精品久久久久久久96蜜桃 | 国产精品hd免费观看 | 伊久在线| 国产美女爽到喷白浆的 | 羞羞视频免费视频欧美 | 亚洲一级片免费观看 | 久久男人 | 在线视频观看国产 | 深夜毛片免费看 | 禁漫天堂久久久久久久久久 | 久国产精品视频 | av电影在线免费 | 夜间福利网站 | 国产69精品久久久久9999不卡免费 | 精品一二三区视频 | 亚洲精品一区二区三区在线看 | 一级黄色av电影 | 国产精品片一区二区三区 | www.69色| 欧美四级在线观看 | 宅男噜噜噜66国产免费观看 | 久久av免费观看 | 欧美精品免费一区二区三区 | 成人性视频欧美一区二区三区 | 精品国产一区二区三区四区在线 | 欧美一级黄色网 | 精品99在线视频 | 在线免费小视频 | 色啪综合| 好吊色欧美一区二区三区四区 | 国产精品视频一区二区三区综合 | 九九热视频在线免费观看 | 国产精品午夜一区 | 青草久久av | 91伊人久久 |