換個角度看AJAX的七宗罪

來源:互聯網
上載者:User
ajax

我覺得以上說的7宗罪是站在門戶網站的角度來說的,如果換個角度,比如做企業服務應用軟體b/s版(特別是用asp.net做的),我反而認為是7個優點.

罪之一:對搜尋引擎的支援不好.(企業服務應用軟體b/s版是用企業用,不需要理會搜尋引擎)

罪之四:破壞了Web的原有標準.(能用就行,這麼學究幹嘛)

罪之五:缺少一個沒有標準之爭、沒有back和history的瀏覽器(企業服務應用軟體b/s版用戶端(特別是用asp.net做的)基本都是IE)

------------------------------------------

上面三宗罪就不適用於企業服務應用軟體b/s版,

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

罪之三:冗餘代碼更多了

上面兩宗罪,如果是使用ajax.net和microsoft的atlas就大大解決了這兩個問題.

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

我發現企業服務應用軟體b/s版(不論是否用asp.net做的),只要上點規模,使用大量xml是很常見的事情.

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

不同意,起碼現在microsoft就出了個atlas.

古詩有雲:"橫看成嶺側成峰",換個角度看,我覺得這七宗都不是罪

答完之後,我覺得這個問題很值得也寫在blog裡面,於是草成此文。

另附樓主文章:

最近覺得Ajax很流行,Google了一下,發現了這個文章,大家能不能說一下自己的看法?

  罪之一:對搜尋引擎的支援不好

  這其實更像一個大大的諷刺,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 >點擊查看全部</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設計者的眼球更加寬廣,讓一些大膽的設計成為現實,但是我也會很冷靜的小心翼翼的利用這個利器,利器雖好,一不留神刺傷的是自己。



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.