AJAX憂慮與啟發(fā)成也腳本,敗也腳本_AJAX教程
推薦:不用組件實(shí)現(xiàn)Ajax效果現(xiàn)在.NET的Ajax組件確實(shí)不少了,微軟的ajax extensions用起來很方便,一個(gè)UpdatePanel就可以搞定一切。不過,可能有些朋友更愿意自己來寫。那么在.NET里,你是否知道ICallbackEventHandler呢
一直很頭疼一個(gè)新名詞的具體內(nèi)涵,AJAX就是。惟有借許多資料的查閱、討論才有自己的認(rèn)識(shí)。所以,看到就摘錄下來,留為己用,又或?yàn)榇蠹夜操p、傳播、討論之。下為轉(zhuǎn)文:
對(duì)Ajax的研究有了一段時(shí)間了,從最初的遠(yuǎn)觀,到近看,再到實(shí)際動(dòng)手實(shí)現(xiàn),認(rèn)識(shí)越來越深,想法也越來越多。特別是曾經(jīng)有一陣子跑去研究web2.0,更是體會(huì)到Ajax背后的偉大,暗自為其慶幸,也越來越看好Web。
不過Ajax在我心中卻有些怎么也擺脫不了的陰影。
忽如一夜春風(fēng)來,Ajax就這么很突兀的就突然流行起來。同時(shí)流行的還有Web2.0,這些詞匯現(xiàn)在都無比的有鼓動(dòng)力,任何事物,只要沾上這兩者的邊,便變得神秘?zé)o比,無法遏制。
但也有人說Ajax是噱頭,因?yàn)樗切缕垦b舊酒。
其實(shí)Ajax之所以風(fēng)行,就在于它新瓶裝舊酒。Ajax所代表的3個(gè)概念,異步、javascript、XML,應(yīng)該說都不是新東西。
異步?在操作系統(tǒng)中我們?cè)缫呀?jīng)學(xué)過,那時(shí)的名字叫多線程。
javascript?想當(dāng)年的DHTML他就已經(jīng)紅遍大江南北。
XML?瞧瞧那些名詞,SOAP、RSS、WAP等,這些名詞哪個(gè)離開得了XML?
這些名詞結(jié)合在一起之所以產(chǎn)生強(qiáng)大的力量,就在于他們的設(shè)計(jì)不同,而隱藏在設(shè)計(jì)背后的思想不同。
而這些名詞之所以可以紅火,就在于他們本身已經(jīng)應(yīng)用非常普遍,已經(jīng)深入到世界中的每個(gè)角落。
即便是Ajax中稍微新鮮點(diǎn)的XMLHttpRequest,之前也不是沒有替代品。IFrame時(shí)代我們就已經(jīng)實(shí)現(xiàn)了同樣的功能,只是XMLHttpRequest可以比我們做的更好,幫助我們做的更多而已。
javascript是將Ajax所有技術(shù)糅合在一起的黏著劑。所謂的Ajax應(yīng)用程序,其實(shí)就是一個(gè)運(yùn)行在客戶端瀏覽器環(huán)境中的應(yīng)用程序。這個(gè)應(yīng)用程序通過DOM操作HTML將信息展示給用戶,通過事件機(jī)制相應(yīng)用戶操作,通過XMLHttpRequest與服務(wù)器溝通,使用的協(xié)議是HTTP,數(shù)據(jù)的載體是XML,而這個(gè)應(yīng)用程序就是由javascript構(gòu)成的。
javascript是一種非常強(qiáng)大的語言,換句術(shù)語,是通用語言(generallanguage)。javascript有很多方便的并且強(qiáng)大的特性,使得我們可以開發(fā)功能豐富的產(chǎn)品。不過javascript是腳本,還是腳本,這是他永遠(yuǎn)逃不開的厄運(yùn)。
腳本有很多的問題,比如本身不夠嚴(yán)格,執(zhí)行緩慢的特點(diǎn)等,這里只討論一下代碼重用問題。
當(dāng)應(yīng)用越來越復(fù)雜,代碼越來越多時(shí),代碼重用就會(huì)變得很重要。最低級(jí)的代碼重用就是源代碼級(jí)的代碼重用,靈活,但卻代價(jià)很高。比較先進(jìn)的平臺(tái),比如java和.net都已經(jīng)提供了更高級(jí)的代碼重用,中間代碼級(jí)的,甚至目標(biāo)代碼級(jí)的。甚至,在.net平臺(tái),按照微軟的偉大設(shè)想,不同語言的代碼都可以統(tǒng)一起來,一起運(yùn)行。可想而知,這會(huì)為.net平臺(tái)帶來多大的戰(zhàn)斗力。不同語言,不同的平臺(tái)的代碼都可以在這里施展拳腳。整合是現(xiàn)在的主旋律,.net有著更美好的未來(按照設(shè)想)。
相比之下,作為腳本的javascript這方面就要差距好多。在我們之前應(yīng)用程序規(guī)模不大時(shí),沒有人會(huì)在意。但是,當(dāng)我們實(shí)現(xiàn)大量的Ajax應(yīng)用時(shí),當(dāng)我們逐漸豐富我們的客戶端時(shí),我們就會(huì)發(fā)現(xiàn)javascript的硬傷,也就是腳本的硬傷。當(dāng)然,我們可以改造javascript,讓他適應(yīng)我們的需求,但是那時(shí),你會(huì)突然發(fā)現(xiàn),javascript(如果那個(gè)時(shí)候還叫這個(gè)名字的話)已經(jīng)不再是腳本了。
換句話說,腳本的特點(diǎn)就是靈活,所以它是用來處理一些靈活,但是開發(fā)成本低的情況。而傳統(tǒng)的程序語言比較嚴(yán)格,開發(fā)成本高,但是他的運(yùn)行和維護(hù)成本會(huì)低。于是,當(dāng)我們意識(shí)到Ajax背后是一種客戶段能力的提高,服務(wù)器端相應(yīng)功能向客戶端轉(zhuǎn)移之時(shí),我們便不得不重新審視一下javascript在其中的尷尬位置。javascript之所以在Ajax應(yīng)用中如此受寵,便在于它的靈活。靈活的javascript獲得大眾的喜愛,逐漸成為標(biāo)準(zhǔn)。Ajax采用javascript才能迅速的得以應(yīng)用,成為今天的寵兒。反過來說,正式因?yàn)?#106avascript的靈活,決定它注定無法大型化,也就決定了Ajax的明天不會(huì)樂觀。(如果他還依靠javascript,還叫Ajax,而不是AC(#)ax的話。)
看看Ajax背后的競(jìng)爭(zhēng)者,micromedia的flash,java的webstart,甚至.net都有可能成為他的強(qiáng)大敵人。微軟在宣傳它下一代操作系統(tǒng)的時(shí)候,著重講到了他的表現(xiàn)層。想象一下,當(dāng)所有的IE都支持微軟最新的表現(xiàn)層技術(shù)時(shí),誰還用javascript?誰還用Ajax?
不過即使Ajax倒下,不過不要緊,它本身就是一個(gè)過渡性技術(shù)。不過,Ajax所要做的,就是給我們洗腦:
Ajax告訴我們,重視腳本,因?yàn)樗麄冹`活。
Ajax告訴我們,重視用戶,因?yàn)樗麄兲湾X。
Ajax告訴我們,重視交互,因?yàn)檐浖褪欠⻊?wù)。
Ajax告訴我們,重視Web,因?yàn)榉奖惚仁裁炊贾匾?/p>
Ajax告訴我們,摘下眼罩,換種方式思考問題吧。當(dāng)你背過臉無視世界的變化時(shí),是世界拋棄了你,而不是你以為的掩耳盜鈴。
分享:使用AJAX技術(shù)實(shí)現(xiàn)網(wǎng)頁無閃自動(dòng)局部刷新實(shí)例解決問題: 希望實(shí)現(xiàn)用戶在進(jìn)入系統(tǒng)以后(整個(gè)session的時(shí)效之內(nèi)),如果收到新郵件則發(fā)出聲音提示。 實(shí)現(xiàn)思路: 1.首頁部分: body onload=init('');> // load時(shí)調(diào)用init(us
- Ajax中瀏覽器的緩存問題解決方法
- AJAX和WebService實(shí)現(xiàn)省市縣三級(jí)聯(lián)動(dòng)具體代碼
- ajax 登錄功能簡(jiǎn)單實(shí)現(xiàn)(未連接數(shù)據(jù)庫(kù))
- AJAX和WebService實(shí)現(xiàn)郵箱驗(yàn)證(無刷新驗(yàn)證郵件地址是否合法)
- AJAX和三層架構(gòu)實(shí)現(xiàn)分頁功能具體思路及代碼
- 使用AJAX返回WebService里的集合具體實(shí)現(xiàn)
- AJAX獲取服務(wù)器當(dāng)前時(shí)間及時(shí)間格式輸出處理
- ajax傳遞多個(gè)參數(shù)具體實(shí)現(xiàn)
- ajax傳遞一個(gè)參數(shù)具體實(shí)現(xiàn)
- 滑輪滾動(dòng)到頁面底部ajax加載數(shù)據(jù)配合jsonp實(shí)現(xiàn)探討
- jQery ajax——load()方法示例介紹
- jQuery+Ajax實(shí)現(xiàn)表格數(shù)據(jù)不同列標(biāo)題排序(為表格注入活力)
AJAX教程Rss訂閱編程教程搜索
AJAX教程推薦
- ASP+AJAX+ACCESS數(shù)據(jù)庫(kù)實(shí)例講解三個(gè)步驟分享
- 解析簡(jiǎn)單自定義實(shí)現(xiàn)jQuery驗(yàn)證
- AJAX編程實(shí)踐之與服務(wù)器通信
- 滑輪滾動(dòng)到頁面底部ajax加載數(shù)據(jù)配合jsonp實(shí)現(xiàn)探討
- Ajax開發(fā)十個(gè)常犯的錯(cuò)誤
- AJAX 請(qǐng)求區(qū)分 $_SERVER[''HTTP_X_REQUESTED_WITH''] 小解
- AJAX避免用戶重復(fù)提交請(qǐng)求實(shí)現(xiàn)方案
- 解讀AJAX是否能夠取代桌面應(yīng)用程序
- 詳解Ajax標(biāo)簽導(dǎo)航實(shí)例
- 揭秘Ajax 的安全-不容忽視的問題
- 相關(guān)鏈接:
- 教程說明:
AJAX教程-AJAX憂慮與啟發(fā)成也腳本,敗也腳本。