当前位置:首页 > 通信技术 > 通信技术
[导读]1纯Javascript:应用程序框架   1.1 Bindows(自从2003年)  Bindows是一个软件开发包(SDK),它,通过强力联合DHTML,JavaScript,CSS和XML等技术,能生成高度交互的互联网应用程序-成为现代的桌面应用程序的强有力

1纯Javascript:应用程序框架

  1.1 Bindows(自从2003年)

  Bindows是一个软件开发包(SDK),它,通过强力联合DHTML,JavaScript,CSS和XML等技术,能生成高度交互的互联网应用程序-成为现代的桌面应用程序的强有力对手。Bindows应用程序不要求下载和也不需要在用户端安装-仅要求有一个浏览器(也不需要Java,Flash或者ActiveX)。Bindows有可能领导面向对象开发的AJAX应用程序的平台。

  1.2 BackBase(自从2003年)

是一个全面的浏览器端框架,支持丰富的浏览器功能以及与.NET和Java的集成。

  ·商业化,来自于Backbase B.V(总部在Amsterdam,成立于2003年)。

  1.3 DOJO(开发中;自从2004年9月)

提供全面窗口小组件和浏览器-服务器消息支持。

  ·为创建定制的Javascript窗口小组件提供框架支持。

  1.4 Open Rico(开发中;自从2005年5月;基于早期的私有框架)

是一多用途框架,支持Ajax基础结构和用户交互。

  1.5 qooxdoo(开发中;自从2005年5月)

是另一个雄心勃勃的框架,提供宽范围的UI支持和正在开发中的基础结构特性。

  1.6 Tibet(开发中;自从2005年6月)

 目的是提供高度可移植的和全面的Javascript API,结果是,可能自动生成大量的客户端代码。自称是"企业级Ajax"。

  2 纯Javascript:基础结构框架

  2.1 AjaxCaller(Alpha版本;自从5月2005年)

是一基本的线程安全的XMLHttpRequest包装器,主要针对Ajax新手,仍处于原始的alpha开发阶段,

  2.2 Flash JavaScript集成包

允许JavaScript和Flash内容的集成

  2.3 Google AJAXSLT(发行于2005年6月)

 是一个Javascript框架,用来执行XSLT转换以及XPath查询。

  2.4 HTMLHttpRequest(Beta版;始于2005年)

  HtmlHttpRequest它使用了XMLHttpRequest和Iframes以改进兼容性。

  2.5 交互式网站框架(自从2005年5月)

  交互式网站框架目的是从浏览器端对Ajax基础结构的多方面予以支持。自描述为"使用javascript,css,xml,和html来创造高度交互网站的框架。包括一个定制的针对高度可读的javascript的xml分析器。实质上,是建立基于AJAX的网站的基础,还有另外一些通用脚本"。

  2.6 LibXMLHttpRequest(发行于2003年6月)

  libXmlRequest是XMLHttpRequest的一个瘦包装器。

  2.7 RSLite(x)

 是一个针对XMLHttpRequest的瘦包装器。

  2.8 Sack(在开发中,自从2005年5月)

 是一个针对XMLHttpRequest的瘦包装器。

  2.9 Sarissa(发行于2月,2003年)

是一种Javascript API,它封装了在浏览器端可以独立调用XML的功能。

  2.10 XHConn(发行于自从4月,2005年)

 是一个对XMLHttpRequest的瘦包装器。

  2.11 Jquery

  简洁的思想:几乎所有操作都是以选择DOM元素(有强大的Selector)开始,然后是对其的操作(Chaining等特性)。

  3 服务器端:多种语言

  3.1 跨平台异步的接口工具箱(5月2005年)

  是一真正的支持PHP和ASP/Vbscript的Ajax实现和JSRS(JavaScript远程脚本)实现。CPAINT提供给你需求的代码在后台实现AJAX和JSRS,而返回的数据以JavaScript形式在前台操作,格式化和显示。这允许你创建能提供接近实时的反馈给用户的web应用程序。

  3.2 SAJAX(可用,但是不是1.0版本;自从3月2005年)

 直接把调用从Javascript发送到你的服务器端语言并再次回返。

  3.3 Javascipt对象标志(JSON)和JSON-RPC

是一个"胖的自由的XML选择",而JSON-RPC是一种远程过程协议,类似于XML-RPC,强有力支持Javascript客户。

  3.4 Javascript远程脚本(JSRS)(自从2000年)

 直接把调用从Javascript发送到你的服务器端语言并再次回返。
 4 服务器端:Java

  4.1 WebORB for Java(自从2005年8月)

 是一个平台,支持开发AJAX和基于Flash的胖客户端应用程序,并可以把它们与Java对象和XML Web服务相系起来。在线举例(http://www.themidnightcoders.com/examples)

  4.2 Echo 2(自从3月2005年)

 允许你用纯Java代码编写Ajax应用软件

  4.3 Direct Web Remoting (DWR)(2005年)

是一个框架,用于直接从Javascript代码中调用Java方法。

  4.4 SWATO(2005年)

是一套可重用的和良好集成的Java/JavaScript库,它实现了一种更容易的方式来改变你的web应用程序的交互,它是通过AJAX方式实现。

  5 服务器端:Lisp

  5.1 CL-Ajax

 实现Javascript直接调用服务器端Lisp函数。

  6 服务器端:.NET

  6.1 WebORB for.NET(自从8月2005年)

 是一个平台,用于开发AJAX和基于Flash的胖客户端应用程序,并能把它们连接到.NET对象和XML Web服务

  6.2 Ajax.NET(自从3月2005年)

 是一个库,实现从Javascript到服务器端.NET的存取。

  7 服务器端:PHP

  7.1 AjaxAC(自从2005年4月)

用单个的PHP类封装了完整的应用程序。

  7.2 JPSpan

  直接把Javascript调用传递到PHP函数。

  7.3 XAJAX

直接把Javascript调用传递到PHP函数。

  8 服务器端:Ruby

是一个通常的强力支持Ajax的web框架:

  开发Ajax应用面临的问题及解决方案

  对程序员而言,开发Ajax应用最头痛的问题莫过于以下几点:

  Ajax在本质上是一个浏览器端的技术,首先面临无可避免的第一个问题即是浏览器的兼容性问题。各家浏览器对于JavaScript/DOM/CSS的支持总有部分不太相同或是有Bug,甚至同一浏览器的各个版本间对于JavaScript/DOM/CSS的支持也有可能部分不一样。这导致程序员在写Ajax应用时花大部分的时间在调试浏览器的兼容性而非在应用程序本身。因此,目前大部分的Ajax链接库或开发框架大多以js链接库的形式存在,以定义更高阶的JavaScript API 、JavaScript对象(模板)、或者JavaScript Widgets来解决此问题。如prototype.js。

  Ajax技术之主要目的在于局部交换客户端及服务器之间的数据。如同传统之主从架构,无可避免的会有部分的业务逻辑会实现在客户端,或部分在客户端部分在服务器。由于业务逻辑可能分散在客户端及服务器,且以不同之程序语言实现,这导致Ajax应用程序极难维护。如有用户接口或业务逻辑之更动需求,再加上前一个JavaScript/DOM/CSS之兼容性问题,Ajax应用往往变成程序员的梦魇。针对业务逻辑分散的问题,Ajax开发框架大致可分为两类:

  将业务逻辑及表现层放在浏览器,数据层放在服务器:因为所有的程序以JavaScript执行在客户端,只有需要数据时才向服务器要求服务,此法又称为胖客户端(fat client)架构。服务器在此架构下通常仅用于提供及储存数据。此法的好处在于程序员可以充分利用JavaScript搭配业务逻辑来做出特殊的用户接口,以符合终端用户的要求。但是问题也不少,主因在第一,JavaScript语言本身之能力可能不足以处理复杂的业务逻辑。第二,JavaScript的执行效能一向不好。第三,JavaScript访问服务器数据,仍需适当的服务器端程序之配合。第四,浏览器兼容性的问题又出现。有些Ajax开发框架如DWR企图以自动生成JavaScript之方式来避免兼容的问题,并开立通道使得JavaScript可以直接调用服务器端的Java程序来简化数据的访问。但是前述第一及第二两个问题仍然存在,程序员必须费相当的力气才能达到应用程序之规格要求,或可能根本无法达到要求。

  将表现层[2]、业务逻辑、及数据层放在服务器,浏览器仅有用户接口引擎(User Interface engine);此法又称为瘦客户端(thin client)架构,或中心服务器(server-centric)架构。浏览器的用户接口引擎仅用于反映服务器的表现层以及传达用户的输入回到服务器的表现层。由浏览器所触发之事件亦送回服务器处理,根据业务逻辑来更新表现层,然后反映回浏览器。因为所有应用程序完全在服务器执行,数据及表现层皆可直接访问,程序员只需使用服务器端相对较成熟之程序语言(如Java语言)即可,不需再学习JavaScript/DOM/CSS,在开发应用程序时相对容易。缺点在于用户接口引擎以及表现层通常以标准组件的形式存在,如需要特殊组件(用户接口)时,往往须待原框架之开发者提供,缓不济急。如开源码Ajax开发框架ZK目前支持XUL及XHTML组件,尚无XAML之支持。

  Ajax是以异步的方式向服务器提交需求。对服务器而言,其与传统的提交窗体需求并无不同,而且由于是以异步之方式提交,如果同时有多个Ajax需求及窗体提交需求,将无法保证哪一个需求先获得服务器的响应。这会造成应用程序典型的多进程(process)或多线程(thread)的竞争(racing)问题。程序员因此必须自行处理或在JavaScript里面动手脚以避免这类竞争问题的发生(如Ajax需求未响应之前,先disable送出按钮),这又不必要的增加了程序员的负担。目前已知有自动处理此问题之开发框架似乎只有ZK。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

多数受访粉丝认为,AI驱动的功能会对他们观看体育赛事的方式产生重大影响 超过半数的受访者希望通过AI技术获得对过去、现在和未来体育赛事的评论和分析 移动体育应用...

关键字: IBM AI 应用程序 移动

北京2025年8月5日 /美通社/ -- 亚马逊云科技日前宣布,推出Amazon Nova Act SDK有限预览版,可快速帮助客户将基于浏览器的Agent从原型部署至生产环境。该SDK可与亚马逊云科技的多项服...

关键字: SDK 亚马逊 浏览器 自动化

青岛 2025年5月23日 /美通社/ -- 全球领先的消费电子和家电品牌海信今天宣布将谷歌全新Home API集成至其ConnectLife应用程序。今年秋季前,用户可通过该应用程序将第三方智能家居设备接入Conne...

关键字: API NEC 海信 应用程序

-Arya.ai推出MCP应用程序,将通用LLM转化为特定领域专家 印度孟买和纽约 2025年5月13日 /美通社/ -- Arya.ai今天宣布推出APEX MCP(模...

关键字: MCP 应用程序 AI 人工智能

北京2025年1月15日 /美通社/ -- 2025年1月8日,STIF第五届国际科创节暨新质生产力领航者峰会在北京举行。作为科技创新与数字化服务领域最具影响力的年度盛会之一,本届大会汇聚全球科创品牌,旨在通过构建多元、...

关键字: 数字化 APP 互联网 应用程序

推动技术创新与业务增长 北京2024年12月19日 /美通社/ -- 在亚马逊云科技2024 re:Invent全球大会上,亚马逊云科技与东南亚领先的超级应用程序Grab共同宣布,Grab已选择亚马逊云科技为首选云服务...

关键字: 亚马逊 应用程序 云服务 AI技术

Amazon Aurora DSQL是一款性能卓越的分布式SQL数据库,具备99.999%的多区域可用性、几乎无限的可扩展性、强一致性,且完全消除了基础设施管理的负担。 北京2024年12月13日 /美通社/ -- 亚...

关键字: 亚马逊 分布式 SQL数据库 应用程序

为数据、分析和AI提供统一平台 北京2024年12月10日 /美通社/ -- 亚马逊云科技在2024 re:Invent全球大会上,宣布推出新一代Amazon SageMaker,将客户所需的快速SQL分析、PB级大数...

关键字: 亚马逊 MAKER GE 应用程序

随着嵌入式系统的发展,从裸机应用程序迁移到实时操作系统(RTOS)已成为提升系统性能、可靠性和可维护性的重要趋势。RTOS为多任务处理、资源管理和实时响应提供了强大的支持,使得开发者能够构建更复杂、更高效的系统。本文将深...

关键字: RTOS 应用程序

印度班加罗尔2024年9月10日 /美通社/ -- 随着电动汽车(EV)市场的发展,许多人仍然因为“里程焦虑”(害怕在需要时找不到充电桩)而持观望态度。尽管对可持续出行的需求不断上升,但这已经减缓了汽车制造商电动汽车的销...

关键字: 电动汽车 充电桩 电网 应用程序
关闭