1.7 設計考慮 1.8 小結

來源:互聯網
上載者:User

既然對在哪裡使用Ajax已經有所認識,下面再來談談應用Ajax的一些設計考慮。許多原則與Web應用的原則並無不同,不過還是有必要強調一下。要儘力減少客戶和伺服器之間的通訊量。如果應用得當,Ajax會使你的應用響應更快,但是如果每次使用者從一個域移到另一個域時你都來回傳遞超量的資料,使用者肯定不會滿意。如果有疑問,按標準約定行事。如果大多數應用都那麼做,可能你也應該那麼做。如果還有問題,可以看看Web案頭應用的有關標準。為此已經建立了一些模式,而且以後還會有更多的模式(www.ajaxpatterns.org)。

在剛開始使用Ajax時,你的使用者可能不清楚應用的工作機理的。多年來我們一直在告訴使用者:Web是以某種(同步)方式工作的,而Ajax則增加了非同步裝置,可能與之背道而馳。簡單地說,不要讓使用者覺得奇怪。當使用者用跳格鍵離開最後一個域時,如果以前的應用(沒有使用Ajax的應用)沒有儲存表單,那麼使用Ajax之後的應用也不要儲存表單。

實現Ajax時最重要的問題是要力求簡單,完全從使用者出發,要盡量“傻瓜化”。要把使用者放在心上,不要去做“簡曆驅動的設計”[4]。如果只是想讓新老闆接受你,並因此在應用中使用Ajax,這是不合適的;如果使用Ajax能讓你的使用者有更豐富的體驗,那就義無反顧地使用Ajax吧。但是別忘了,你會做,並不意味著你應該做。要理智一些,先考慮你的使用者才對。

我們後面還會更多地談到安全,但是這裡需要先說明一點,Ajax有一些安全考慮。記住,可以在瀏覽器中查看原始碼,這說明任何人都能知道你是怎麼建立小組件的。建立XHR對象時必須包含統一資源定位器(uniform resource locators,URL),所以可能會有惡意使用者修改你的網站,運行他們自己的代碼。謹慎地使用Ajax可以降低這種風險。

1.8 小結

網際網路最初只是為串連研究人員,使他們共用資訊,時至今日,網際網路已經得到了巨大的發展。網際網路開始時只有簡單的文本瀏覽器和靜態頁面,但是如今幾乎每家公司都有一個亮麗的網站,想找到一個粗糙的網站倒是很不容易。最早誰能想得到,有一天人們能在網上共同研究新型汽車,或者購買最新的斯蒂芬·金的小說呢?

胖客戶應用的開發人員都飽受部署之苦,因為要把應用部署到數以千計的使用者機器上,他們急切地希望Web能夠減輕他們的負擔。多年以來,已經出現了許多Web應用技術,有些是專用的,有些需要高超的編程能力。儘管這些技術在使用者體驗方面各有千秋,但沒有哪個技術能使瘦客戶應用達到案頭應用的水平。不過,由於很容易部署,有更大的客戶群體,而且維護開銷更低,這說明儘管瀏覽器存在一定的局限性,但仍是許多應用的首選目標平台。

開發人員可以使用一些技巧來繞過網際網路的麻煩限制。利用各種遠程指令碼方法和HTML元素,開發人員可以與伺服器非同步地通訊,但是直到有主流瀏覽器對XMLHttpRequest對象提供了支援,真正的跨瀏覽器方法才有可能。Google、Yahoo和Amazon等公司已經走在前面,我們終於看到基於瀏覽器的應用也能與胖客戶應用不相上下。利用Ajax,你可以盡享這兩方面的好處:代碼位於你能控制的伺服器上,而且只要客戶有瀏覽器就能訪問一個能提供豐富使用者體驗的應用。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.