Prototype在简化JavaScript方法上,提供许多方便的语法,最著名的如「$( )」函式,只要将DOM节点的ID传入这个函式,就能取得这个节点物件,简化了DOM的操作方法。而这个方式也几乎成为其他开发框架延用的功能。其他如「$F( )」函数能直接处理Web表单元件的值,「$A( )」函数能将列举的字串转换成阵列等,都是Prototype经典功能。
在非同步处理上,它也提供了Ajax.Request、Ajax.Updater等类别,让开发人员在处理非同步运作时可以利用它提供的方法,让沟通行为更为容易、正确。
虽然Prototype没有太多花俏的功能,不过它简化JavaScript的特性,仍让许多Web开发人员衷情于它。
7.平顺、丰富的动画效果
Rico
网址:openrico.org
Rico是基于Prototype之上的Ajax框架,在西班牙文中,「rico」即为「rich」的意思,这也说明Rico的目标是提供开发人员利用JavaScript达到丰富的网页元件与应用。
Rico提供非同步的Ajax应用,可让非同步回应绕送到一个或多个回呼以操作DOM或JavaScript物件。在动画效果方面,支援如拖曳功能、缩放、过场、进度指标和黄褪技术等,可立即套用丰富的效果。
由于Rico志在让JavaScript也能表现出 Flash般的动画效果,因此像是网页元件的颜色、形状或下拉效果的变化都相当平滑,也能让DIV方块做出圆角的效果,让视觉表现更具Web 2.0风格。
Rico的LiveGrid功能同样是为人所称道之处。它能让表单资料产生更多元的表现方式,突破表格的检视行为。例如它可以让使用者在触动卷动轴时,动态下载资料,利用这种方式,可以分段下载,就无需采用分页检视的手法。
8. RoR与Cake
PHP的指定框架
Script.aculo.us
网址:Script.aculo.us
Script.aculo.us是建立在Prototype之上的Ajax框架,是解决视觉效果与互动行为的轻巧框架,Ruby on Rails及PHP上的开发框架CakePHP等,都是使用Script.aculo.us作为Ajax的解决方案。
在视觉效果上,Script.aculo.us利用改变透明度、大小、位置以及结合以上三种元素,产生更多种变化,例如淡进、淡出、闪动、提示等数十种视觉效果,可让页面效果更具变化,引导使用者与介面程式互动等。
在互动介面方面,提供了拖曳元件、就地编辑元件(In-Place Editor)、水平、垂直拉动卷轴、自动完成、元件排序、购物车等,这些预先打包成套的功能,解决了浏览器相容性的问题,也让使用者很容易可以直接导入在现有的专案功能中,节省自行开发的时间。
此外,Script.aculo.us包含单元测试(Unit Test)框架,可以利用本身的test物件,用来验证程式执行的状态,并且支援模拟滑鼠与键盘的功能。
9.有Yahoo!网站服务背书的框架
Yahoo! User Interface
网址:developer.yahoo.com/yui/
Yahoo! User Interface(YUI)是Yahoo!所提供的Ajax框架,提供便捷的开发方式与许多JavaScript函式库,使用者可以利用它来开发互动式的介面与Ajax效果。 YUI可分为三大部分,包含工具、CSS和控制元件等函式库,工具部分是核心物件,负责一些较底层的处理功能,CSS则提供像版面规画、字体工具。而控制元件则有自动完成、月历、树状结构这些工具。
由于YUI实际应用在Yahoo!的网站中,因此实作的可靠性相当不错,在YUI网站上也提供不少范例与文件,能协助使用者快速上手。虽然YUI是由Yahoo!所推出,不过它遵循JavaScript的语法规则,并将样式、内容与行为分离,开发人员如果要扩充功能,也相当容易。
一般Ajax框架都需要置放在网站的伺服器端,随着页面一起下载,YUI除了采取这种方式之外,也提供使用连结的方式,使用者只要在应用的页面中将路径指向YUI主机即可。
10.适合Java开发环境的企业级解决方案
ZK
网址:
ZK是基于Ajax、XUL(XML User Interface Language)、Java网页应用程式的开发框架,让网页的操作行为可以像是桌面应用程式一般。
不同于用户端的Ajax解决方案,ZK由伺服器端出发,利用ZK处理Ajax互动的引擎,处理用户端的页面行为,也因此大为降低利用JavaScript作为动态开发语法时,常遇到的浏览器相容问题。
ZK提供超过70个XUL组件及80个 XHTML组件,因此一些网页或应用程式常见的功能,ZK都提供现成的工具可让使用者立即应用,只需利用ZK以XML为基础的使用介面设计语言,即可产生这些组件。应用的人则可在后端利用Java语言进行来处理程式逻辑与资料传递。
由于ZK利用Java语言开发,属于以伺服器为中心的解决方案,因此必须安装支援Java的应用程式伺服器(如Tomcat)才能执行。