很多人想在.net下學習Ajax技術,但是不知道學哪一個架構。這裡主要對三個.net下的Ajax技術進行對比。
1、Atlas
Atlas缺點:
Atlas也是三種技術中最難掌握的,它已經將Ajax技術進行了完全的封裝。學習完Ajax原理後再學習Atlas還是很困難的,相當於學習了C++原理後準備用VC++開發一樣。
由於封裝得比較多,如果開發過程中出現了錯誤,開發人員將無從下手,只有請求微軟趕快將Bug去掉。這些Bug多不多,會不會影響開發,從我目前使用方式來看,還是很多的。比如有的採用Atlas開發的頁面不能連續點擊,如果連續點擊,將出現錯誤。
Atlas優點:
Atlas畢竟是微軟推出的,由於封裝得比較好,實現了大量複雜的應用,頁面開發過程比較簡潔,適合於大型項目開發。
Atlas效能優勢突出,在所有的Ajax架構中,Atlas的綜合效能是最高的。
原有項目移植到AJAX架構的便捷性來說Atlas無疑更具優勢,從普通架構的項目移植到AJAX架構,使用Atlas只需將原有頁面的所有東西嵌套到Updatepanel之內即可簡單實現AJAX。
2、Ajax.net
Ajax.net優點:
Ajax.net只是對Ajax技術進行了最簡單的封裝,開發人員可以進行任何任務的開發。
Ajax.net特別容易上手,如果已經學習了Ajax原理,只需幾分鐘就會使用Ajax.net進行開發。
Ajax.net缺點:
Ajax.net沒有頁面顯示控制項,所以只能用於頁面調用後台類中方法或WebServer。
Ajax.net開發工作量大,而且不適合將已有項目移植到Ajax架構下。
3、 Anthem.NET
Anthem.NET優點:
Anthem.NET是ASP.NET AJAX的輕量級實現,甚至可以說是完美的輕量級實現。
Anthem.NET代碼的簡潔使指令碼的出錯機率大大降低,原來項目用asp.net ajax時頻繁點擊頁面有時會出現指令碼的錯誤,在Anthem.NET中就不再存在了。
Anthem.NET是開源的,如果出錯,可以高度原始碼。
Anthem.NET很容易上手。
Anthem.NET效能和Atlas相差並不多。
Anthem.NET缺點:
Anthem.NET代碼量僅僅是asp.net ajax的12分之一,不可以兼顧那麼多的複雜應用。
Anthem.NET開發頁面時,只能使用自己的頁面控制項,無法使用VS2005為我們提供的控制項。
總結:
還有很多其它Ajax架構,這裡就不一一比較了,比如MagicAjax。
在開發項目時,本人見意:少用Atlas和Ajax.net,多用Anthem.NET。主要因為Atlas出錯無法調試。Ajax.net開發工作量太大,很大頁面顯示效果都要開發人員自己去實現。Anthem.NET雖然功能上簡單了點,但是,在項目開發中,我們會遇到多少複雜的問題呢,如果遇到了,也可以用Atlas和Ajax.net去解決。而且,如果Anthem.NET不能滿足需求時,可以自己對Anthem.NET進行擴充,就當為開源軟體作貢獻了。
MagicAjax也是一個相當不錯的工具,效能上Atlas相差不多,穩定性比Atlas好些,但是是收費的。