1 瀏覽器端框架被劃分成兩大類:
•應用程序框架:提供瀏覽器的功能,但是常以包括窗口小部件抽象和另外的部件而出名,其功能主要圍繞桌面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認證,但是細節不多)。
2 純javascript:基礎結構框架
2.1 ajaxcaller(alpha版本;自從5月2005年)
網址是:http://ajaxify.com/run/testajaxcaller/,是一基本的線程安全的xmlhttprequest包裝器,主要針對ajax新手,仍處于原始的alpha開發階段,目前僅與ajaxpatterns的在線搜索范例一起打包。
•實現對服務器的調用(get/post/put/delete),用路由到一個回叫操作的plain-text或者xml完成。
•使用過的xmlhttprequest對象的析構。
•response緩沖(計劃的)。
•針對ajax新手-并非強調性能優化,該庫主要用于實現易讀的基礎代碼并將提供調試支持。
•開源許可。由michael mahemoff(http://softwareas.com)(具有john wehr和richard schwartz的一些思想)維護。
2.2 flash javascript集成包
網址是:http://www.osflash.org/doku.php?id=flashjs,允許javascript和flash內容的集成:
•使javascript能夠調用actionscript功能和反過來的實現。
•所有主要的數據類型能在這兩種環境之間傳遞。
•開源許可。由多個開源flash貢獻者提供支持。
2.3 google ajaxslt(發行于2005年6月)
網址是:http://goog-ajaxslt.sourceforge.net/,是一個javascript框架,用來執行xslt轉換以及xpath查詢。
•建立在google地圖工作基礎之上。
•開源許可(bsd)。由一家創新搜索方案公司支持,自稱為"google"。
2.4 htmlhttprequest(beta版;始于2005年)
htmlhttprequest(http://www.twinhelix.com/javascript/htmlhttprequest/),它使用了xmlhttprequest和iframes以改進兼容性。
•測試過并能工作在:ie6/win,ie5.5/win,ie5/win,ie4/win,mozilla/win,opera7/win,safari/mac,ie5/mac。
•未測試,可能能工作在:ie4/mac,mozilla/mac,opera/other,konqueror/linux。你正在使用這些之一嗎?作者正在請求兼容性信息。
•開源許可(lgpl)。由twin helix designs(http://www.twinhelix.com/)的angus turnbull維護。
2.5 交互式網站框架(自從2005年5月)
交互式網站框架(http://sourceforge.net/projects/iwf/,是一個項目,目的是從瀏覽器端對ajax基礎結構的多方面予以支持。自描述為"使用javascript,css,xml,和html來創造高度交互網站的框架。包括一個定制的針對高度可讀的javascript的xml分析器。實質上,是建立基于ajax的網站的基礎,還有另外一些通用腳本"。
•線程安全的xmlhttprequest實現。
•針對xml文檔的包裝器,以便你能夠創建更具可讀性的代碼:
var node = doc.groceries.frozen[0].pizza[0].size;
代替手工的導航:
var node = doc.documentelement.firstchild.firstchild.getattribute("size");
•開源許可。由weaver(http://circaware.com|brock)維護。
2.6 libxmlhttprequest(發行于2003年6月)
libxmlrequest(http://www.whitefrost.com/servlet/connector?file=reference/2003/06/17/libxmlrequest.html),是xmlhttprequest的一個瘦包裝器。
•getxml()和postxml()方法。
•xmlhttprequest對象池支持。
•response緩沖。
•可用源碼(明顯),但是受標準版權的保護,由stephen w.coate(http://www.whitefrost.com/index.jsp)所維護。
2.7 rslite(x)
網站是: http://www.ashleyit.com/rs/main.htm,是一個針對xmlhttprequest的瘦包裝器。
•一個簡單的組件,作為brent ashley的更全面的遠程腳本工作(參見javascript遠程腳本-jsrs在多語言服務器端)的一部分發行。
2.8 sack(在開發中,自從2005年5月)
網站是: http://twilightuniverse.com/2005/05/sack-of-ajax/,是一個針對xmlhttprequest的瘦包裝器。
•調用者能指定回叫函數或者回叫dom對象。借助于回叫dom,應答文本直接被推入到dom中
2.9 sarissa(發行于2月,2003年)
網站是:http://sarissa.sf.net,是一種javascript api,它封裝了在瀏覽器端可以獨立調用xml的功能。
•可移植的xmlhttprequest創建
•可移植的xpath查詢
•可移植的dom操作
•可移植的xslt
•可移植的xml串行化
•開源(gpl2.0和lgpl2.1)。來自多方面貢獻者。
2.10 xhconn(發行于自從4月,2005年)
網站是: http://xkr.us/code/javascript/xhconn/,是一個對xmlhttprequest的瘦包裝器。
•例如
new xhconn().connect("mypage.php","post","foo=bar&baz=qux",fnwhendone);
•開源許可。由brad fults所維護。
新聞熱點
疑難解答
圖片精選