jMaki是一个开源的AJAX框架,提供轻量级的模块来创建以JavaScript为中心的AJAX的Web应用程序。这个Web应用程序可以使用Java, Ruby, PHP, 以及Phobos来开发。(Phobos是一个运行在Java平台上的Web应用程序环境,目前支持JavaScript运行在服务器端的Java平台上,也是java.net上的一个开源软件)
Jmaki呈现在开发者面前的是widgets和CSS. 这些AJAX widgets包括Dojo, DHTML, Spry, Yahoo, Google, Flickr 等, 可以很方便地在设置参数。而jMaki框架主要实现了发送JavaScript到客户端, 让客户端的JavaScript和服务器端的各种技术(比如Java,JSP,JSF, PHP, Phobos)进行通讯。
jMaki框架分为客户端部件和服务器端
客户端部件
jMaki Layouts: -提供了页面布局, 比如是否带标题栏,是否有左侧栏或者右侧栏目. 开发者可以通过修改 layouts的HTML和CSS来定义自己偏好的布局风格.
jMaki Client Runtime: - 运行Widgets, 并且向Widgets传递来自服务器端的参数.
jMaki Client Services: Services提供了一些API, 包括操作XMLHttpRequest, 实现publish/subscribe 机制的jMaki Glue, 和能够把外部页面导入到
jMaki Widget Model – 提供了可重用JavaScript部件的模型,结构基于HTML, JavaScript 和CSS。开发者可以用这个结构来创建自己的Widgets或者 包装现有的一些Toolkit。Jmaki提供了缺省的Wrapper, 并提供一些已经包装好的Widgets, 比如Dojo, Yahoo UI等等。
服务器端部件:
jMaki Server Runtime - 主要负责连接jMaki JavaScript Client Runtime和服务器端的平台,比如Java, PHP和Phobos.
XmlHttpProxy – 提供Widgets访问Web应用程序域外的资源,比如RSS feed, Yahoo服务等等。