全面支持Java、PHP以及Ruby!jMaki Ajax框架发布1.0版本

jMaki项目近日发布了1.0版本。jMaki是用于创建Web 2.0应用的C/S结构框架。它通过提供各种Widget的方式抽象了JavaScript和CSS,同时JavaScript与CSS被设计得易于界面开发人员访问并进行修改。不久之前InfoQ对jMaki的主要开发者Greg Murray进行了采访并就即将发布的1.0版本进行了讨论。在讨论之前Murry对jMaki的背景进行了简要的介绍。

大约在两年前,一个以jMaki命名的项目在日本诞生了。简单来说,jMaki就是一个用于开发AJAX应用的C/S框架,它的主要关注对象已经转变成一般公司中的开发人员,虽然这些开发人员一直在致力于拓展他们的知识领域。jMaki团队的最终目标是:

[……]希望jMaki成为进行Ajax功能开发的WordPress。

Murray解释道:

在开发的初期jMaki主要用于描述可移植及可复用的JavaScript。不久,我们发现将不断增长的JavaScript工具箱包装起来是非常有用的。通过设计这样一个C/S结构的框架,我们可以通过服务器来加速Widgets以及其依赖的JavaScript、CSS和 HTML模板文本的定义过程。

他继续解释到,jMaki项目的总体目标是:

从根本上说,我们希望开发者通过使用jMaki,可以创建出基于标准的应用,将自己的代码和目前可用到的精巧绝伦的工具包以及功能黏合在一起。这些工具包和功能包括了Dojo或者Yahoo Widgets,使用Google Gears进行本地存储,Scriptataculus/Protoscript进行效果展现,并且有能力调用Yahoo或者Google地图之类的服务。

此外,Murray特别强调了jMaki并非一个排它性的平台:

不论是单独作为Widget还是作为应用,jMaki都是一个有良好表现的平台。我们在设计框架的时候就非常注意让它能拥有良好的性能,包含全部核心功能的客户端脚本仅仅18k大小,而且,下载文件的尺寸根据你所需要的功能决定的,我们在确保所用的工具包能够良好表现上作了很多努力。

InfoQ提出这样一个问题:“如果你有机会指导一位开发者开发新的Web项目,你认为jMaki可以提供的最重要的的5个特性或者功能是什么?”Murray回答到,jMaki 1.0版本向开发者提供了丰富的功能,其中包括:

  1. Widget或者扩展组件可以提供缺省配置
    jMaki遵循习惯优于配置(Convention over Configuration)的原则。Widgets和组件扩展都位于易于寻找的位置。特别是当你使用IDE时,将Widget拖拽至页面就可以正常工作。我们所使用的模板都带有内建数据(数据也可以在使用Ajax调用的时候加载)。
  2. 工具支持
    我们提供了NetBeans/Eclipse插件以及用于构建Web项目的Ant脚本。
  3. 标准化的事件以及数据模型
    用于描述Widget和描述多个Widget之间交互的方式是一致的,这样开发者可以仅学习一种模型并轻易的将其应用于各种工具包。我们在Widget包装器这一层屏蔽了种种的不一致。
  4. 一致的编程模型
    在不同的工具包中,与Widget进行交互的方法是一致的。例如, Actions就是一个通过声明进行事件处理的简单方式。jMaki同样支持使用编程的方式在Widget或扩展组件上,或者响应用户行为进行事件处理。
  5. 可移植的Widget/扩展组件库
    jMaki的Widgets是可移植的,并且它们也可以被包装在各个库中,每个库包含它们所需要的资源。这使得用户具备可以以zip压缩文件的格式来分享一组Widget。
  6. 扩展组件
    jMaki不再仅仅意味着Widget,你也可以将Google Gears、Protoscript、JavaScript或者任何其他JavaScript可以访问的功能包装为一个可移植的库。
  7. 平台无关
    jMaki完全支持Java(JSP/JSF 1.1-2/Facelets/Portlets)、PHP 5.x、 Phobos以及时下最流行的Ruby(不过我们还没有实现代理,因为目前还没有标准的XSLT处理器)。

jMaki1.0的发布是社区花费了大量时间和精力的巅峰之作。然而,随着9月25日的发布,Murray以及团队的其他成员已经开始讨论jMaki 1.1版本。未来的方向包括了通过服务器组件改进客户端事件总线连接的一致性,扩展Widget的种类(即jQuery或者Prototype)以及充分利用服务器端应用缩短响应时间。

查看英文原文: jMaki Ajax Framework Releases 1.0 with Support for Java, PHP, and Ruby 译者简介:胡凯,2006年加入 ThoughtWorks,通过在ThoughtWorks多个国家和多个项目的敏捷实践,坚定地站在了敏捷阵营中,目前在进行 CruiseControl相关的敏捷开源项目。他和许多敏捷开发者一样活跃在 敏捷中国和 CruiseControl-China社区中。参与InfoQ中文站内容建设,请邮件至 china-editorial[at]infoq.com。

你可能感兴趣的:(全面支持Java、PHP以及Ruby!jMaki Ajax框架发布1.0版本)