iT邦幫忙

0

extjs、jquery、ajax三者有啥關係,有什麼不同的地方嗎??

extjs、jquery、ajax三者有啥關係,有什麼不同的地方嗎??
可以同時一起使用三者嗎?
如果要結合ror或php或asp.net時,又該如何使用它們?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

16
wordsmith
iT邦高手 1 級 ‧ 2009-09-15 12:14:43
最佳解答

ajax基本上是一種技術,一改過去web前端和後端採用的同步溝通方式,而是使用非同步來溝通。

例如說iT邦幫忙的推,如果是用同步的方式,按了之後,web必須去向後台要資料,要完資料後再刷新頁面,因此為了一個推,整個頁面都被這個工作給佔住,必須等他工作作完了,才能再繼續看網頁。

而非同步的方式,就是推了之後,這個溝通工作就自己去做事了,Web頁面仍然可以繼續瀏覽,而不用刷新,一但等他做完事回來,頁面再根據這個完事的訊息,做一些局部頁面的更動,因此可以讓瀏覽的經驗更順暢。

至於extjs和jquery,則是兩個JavaScript的框架,提供一些更好用的JavaScript語法工具、UI工具以及ajax工具。

由於ajax的發送要自己用手工來寫程式,比較繁雜一點,而且也會遇到瀏覽器相容性的問題,像這些extjs和jquery都會預先幫你處理過,因此用它們來開發ajax應用會更快速而穩固。

jquery是比較輕量級的框架,而extjs在包函了許多精美的UI工具,而extjs甚至有提供併用jquery的方式,只是我覺得如果要用,還是比較混用,省得出現預期外的狀況。

由於jquery和extjs都是Web前端的JavaScript框架,基本上後端程式是PHP、.NET、JAVA、Ruby、Python都沒有影響。

fillano iT邦超人 1 級 ‧ 2009-10-09 13:32:09 檢舉

理論上extjs可以用他內建的adapter跟jquery及yui混用,只是我這樣沒用過...

mybeldandy iT邦研究生 5 級 ‧ 2009-10-09 16:01:52 檢舉

因此用它們來開發ajax應用會更快速而穩固

這一句話 說老實話 快速對於一般使用者應該會快不少
至於穩固 不認為是比較穩固 請自行體會

12
idoncys
iT邦研究生 3 級 ‧ 2009-10-09 12:17:22

我目前有用Extjs搭配JSP寫一個文件管理網,裡面用到一些Ajax,個人碰到Ajax比較特殊的用法,是部分用到需循序性作業,但又要接納Ajax非同步特性的特殊的場合,如果沒有考慮到Ajax非同步的特性,把web當成desktop來寫,就會產生執行順序的混亂.以前desktop沒有非同步問題,每下一個順序的作業都需等上一個順序的作業執行完畢,才會被呼叫執行.Ajax的特性顯然就不遵循這條規則.

像在其formpanel中的itemchange事件,需進行10項規則檢驗,client端與server端檢驗規則交錯,但彼此不能逾越順序.如單據上的客戶編號,一般在輸入後,會緊跟一些與客戶資料有關的client端運作規則,此時Ajax是先去忙一下搜尋客戶與單據的相關資料,系統如果不等Ajax帶回server端客戶相關資料,後面那些跟客戶資料有關的client端運作規則卻先行緊接運作,系統運作流程就會超出原先設計者的預想之外.

我是借用Event來介入管理這循序性的問題,搭配使用Event管理,讓系統好像有一個管理循序執行的班長,每一個班兵的動作執行完畢後,會馬上主動通知班長,班長接到通知,才下指令叫下一個班兵去做他該做的事,例如班長叫駕駛兵Ajax去把車推出來,Ajax到車庫花了十分鐘才把車推出來,班長也是只能苦苦等候,才能叫下一個在現場的修理兵去把該車修理修理.

不過系統此時並不會只埋頭於該班的事物,讓整個連隊的官兵都在等班兵Ajax一個人,一樣也可去忙連隊內另一班的事.
這樣是不是就有點像回到desktop軟體環境下一樣,有商業邏輯都是循序運作的習慣影子.

http://www.idon.com.tw:8080/myapp/flyjs/grid3.html#

我要發表回答

立即登入回答