Posted on 2007-06-08 07:55
Tommy Jian 阅读(1275)
评论(1) 编辑 收藏 所属分类:
Wicket
大部分现存的框架需要特定的HTML代码
JSP具有最深的侵入性,它允许将Java代码直接嵌入Web页面中。但是,上面列示的框架(除了Tapestry)都不同程度地针对HTML代码引入了特殊的语法。
因为特殊语法改变了单纯而简单的HTML标记的实质,而Web设计者对于这一点是十分的熟悉,所以特殊语法并不是十分得人心。而且预览、编辑和理解这种包含特殊语法的HTML也是十分困难的事情。
Wicket并没引入任何新的HTML语法。相反,它通过Wicket命名空间(namespace)的标准兼容方式扩展了HTML,这完全兼容XHTML标准。这意味这您可以使用Macromedia Dreamweaver、Microsoft Frontpage、Word、Adobe Go Live以及其他现有的HTML编辑器来编辑您的Web页面,并且可以和Wicket的组件协同工作。为了实现这个目标,Wicket始终在Wicket命名空间内使用单个id属性(“wicket:id”)来标识那些需要框架进行特殊处理的标签。如果您并不喜欢将有Wicket命名空间修饰的标签和属性展示给您的最终用户,通过简单的设置就可以完全消除它们,从而得到普通的与标准兼容的HTML代码。
HTML中没有特殊的语法意味着设计者可以直接模拟页面,而您可以在开发的过程中直接使用这些页面。向HTML页面中添加Java组件就和设置组件的名称属性一样简单。然后,您可以直接将这些页面交给Web设计人员,他们可以充满信心地对其进行修改。
与其他的应用框架相比,Wicket在各方面的分离上提供更多的支持。Web设计者在对应用程序代码不甚了解的情况下就可以编辑HTML(当然,他们不能移除组件名称标签,而且不能任意改变组件嵌套的层次,其他的事情都是可以的)。另一方面,编程者只需要关注与HTML混在一起的Java组件,而不需要了解页面的最终陈现是什么样子。通过这种职能清楚的工作方式,每个人都可以工作得更为顺畅。
现存的框架易用性不好
目前存在的大部分框架工具在对象模型方面做得不够。在一些框架中,对象模型是通过特定的XML来定义的。这些语法令人生厌,而且还需要特定的工具来编辑这些配置信息。由于这些框架并不是单一的Java类库,您就不能使用包含编辑器、调试器和编译器的IDE工具来编辑它们。
Wicket是化繁为简的代表。在学习Wicket的过程中不需要了解任何配置文件。Wicket就是组件结构良好的普通的类库。在Wicket中,您的Web应用程序与普通的Swing应用程序类似,而不是JSP应用程序。如果您熟悉Java(特别是如果您熟悉Swing),那么您就已经对Wicket有不少的了解了。
现存的框架可复用性不好
Tapestry和JSF虽然有可以重用的组件模型,但是您将发现与Wicket相比这并不是特别容易做到的事情。Wicket从设计之初就十分地注重组件的复用。在Wicket中,从现有的组件扩展编制诸如SignInPanel或者AddressForm的复合组件是十分简单的事情。相对来说,针对浏览器的新特性编制新的组件也是十分容易的事情。Wicket的组件可以使用JAR格式进行打包,直接通过库引用的方式就可以实现重用——不需要任何配置文件!
Web编程应该更关注编程乐趣!
这就是我编写Wicket的个人方面的目标。现存的框架在实现开发的直接性、快捷性和简易性方面真正地吸引我。我希望Wicket在Web应用程序开发的建议性和乐趣方面能够迈出重要的一步。
注:本文由Jonathan Locke编写,相关权利由原作者享有。