基于Ajax的應用程序架構匯總(一)
瀏覽器端框架被劃分成兩大類:
·應用程序框架:提供瀏覽器的功能,但是常以包括窗口小部件抽象和另外的部件而出名,其功能主要圍繞桌面GUI框架。
·基本結構框架:提供基本的管道和可移植的瀏覽器抽象,讓開發者去創建內容。典型的功能:
* 針對XMLHttpRequest的包裝器以封裝瀏覽器-服務器的交互。(所有的框架都提供這一功能)。
* XML操作和查詢。
* 根據來自XMLHttpRequest的應答執行DOM操作。
* 在一些情況中,與另外的瀏覽器端技術如Flash(和潛在的Java applets)集成在一起。
而服務器端框架通常以下面兩種方式工作(盡管它們在這里根據語言的不同進行了分類):
·HTML/JS生成:服務器提供完整的HTML/Javascript代碼生成和瀏覽器-服務器協調,結果是只有瀏覽器端編碼可以被定制。
·遠程調用:Javascript調用直接被路由到服務器端功能(例如Java方法)并返回到Javascript回叫處理器;或者Javascript調用服務器以提取信息,例如會話細節,數據庫查詢等。
·純Javascript:應用程序框架
1.1 Bindows(自從2003年)
網址是:http://www.bindows.net,Bindows是一個軟件開發包(SDK),它,通過強力聯合DHTML,JavaScript,CSS和XML等技術,能生成高度交互的互聯網應用程序-成為現代的桌面應用程序的強有力對手。Bindows應用程序不要求下載和也不需要在用戶端安裝-僅要求有一個瀏覽器(也不需要Java,Flash或者ActiveX)。Bindows有可能領導面向對象開發的AJAX應用程序的平臺。
·它是商業化的,使用來自于MB的技術(總部位于GA USA,主要開發中心在瑞典,成立于2002年)。
Bindows框架提供給你:
·基于類的面向對象的API
·一套完整的窗口系統,提供寬范圍的窗口小部件支持,包括菜單、表單、格子、滑動條、量程,甚至更多
·用于開發zero-footprint SOA客戶端應用程序的領先的工具箱
·本機的XML,SOAP和XML-RPC支持
·單用戶到企業級的支持
·內建的對AJAX的支持
Bindows開發環境:
·支持企業級規模的工程開發
·跨瀏覽器,跨平臺支持
·服務器獨立結構
·與新的和現有資源的互操作性
·一致性開發方法學
1.2 BackBase(自從2003年)
網址是:http://www.backbase.com,是一個全面的瀏覽器端框架,支持豐富的瀏覽器功能以及與.NET和Java的集成。
·商業化,來自于Backbase B.V(總部在Amsterdam,成立于2003年)。
1.3 DOJO(開發中;自從2004年9月)
網址是:http://dojotoolkit.org/,提供全面窗口小組件和瀏覽器-服務器消息支持。
·為創建定制的Javascript窗口小組件提供框架支持。
·預置的窗口小組件庫。
·瀏覽器-服務器消息支持-XMLHttpRequest和另外的機制。
·支持瀏覽器中的URL操縱功能。
·開源許可(學術自由許可2.1(http://opensource.org/licenses/afl-2.1.php)),由JotSpot(http://www.jot.com/)的Alex Russell(http://alex.dojotoolkit.org/)所領導。
1.4 Open Rico(開發中;自從2005年5月;基于早期的私有框架)
網址是:http://openrico.org/demos.page,是一多用途框架,支持Ajax基礎結構和用戶交互。
·一個XMLHttpRequest應答能被路由到一個或者更多回叫操作,DOM對象,或者Javascript對象。
·容易鼠標拖動支持。
·Ajax動畫,例如縮放和變換。
·"行為"-實質上是窗口小組件庫。
·使用指南(http://www.mirimar.net/mailbrowser/),由RussMirimar的Yonah所提供
·開源。源于Sabre航空公司解決方案,由Bill Scott(http://looksgoodworkswell.blogspot.com),Darren James及另外一些人所支持。
1.5 qooxdoo(開發中;自從2005年5月)
網址是:http://qooxdoo.sourceforge.net/,是另一個雄心勃勃的框架,提供寬范圍的UI支持和正在開發中的基礎結構特性。
·基礎結構:
* DOM和事件/焦點管理的可移植的抽象。
* 調試支持。
* 易于時間調度的Timer類。
* Getter/Setter支持。
·UI:
* 窗口小組件框架和預置的窗口小組件庫。
* 布局管理器。
* 圖像緩沖和可移植的PNG透明性。
·開源(LGPL)。來自多方面的貢獻者。
1.6 Tibet(開發中;自從2005年6月)
網址是:http://www.technicalpursuit.com/,目的是提供高度可移植的和全面的Javascript API,結果是,可能自動生成大量的客戶端代碼。自稱是"企業級Ajax"。
·遠程腳本運行在XMLHttpRequest包裝之上-通過協調調用結果支持工作流管理,例如應答可以發生在只有當兩個分離的調用返回時。
·URI支持。
·所有的HTTP方法-不僅是"GET"和"POST"。
·低級的協議-File://和WebDav以及HTTP。
·Web服務調用-SOAP,XML-RPC,等等。
·預置的針對Google API,Amazon API等等服務的支持。
·由高級Javascript對象組成一個巨大的庫。
·許多XML操作。
·IDE和開發工具。
·開源許可(顯然經過OSI認證,但是細節不多)。