`

《Wicket开发指南一书》在JavaEye提供PDF版本下载

阅读更多

经过一月的时间,在一些朋友的热心帮助下,修正了一些问题,现在发布正式的版本!
266页
希望大家喜欢Wicket这个框架!

如果大家喜欢这本书,麻烦下载后回复一下!
让我有写下去的信心和激情!

下面是简单的介绍

Wicket前生后世篇
Wicket是什么?简单点说,它就是一个基于Java的Web开发框架,与Struts,WebWork,Tapestry相类似。其特点在于对Html和代码进行了有效的分离(有利于程序员和美工的合作),基于规则的配置(减少了XML等配置文件的使用),学习曲线较低(开发方式与C/S相似),更加易于调试(错误类型比较少容易,而且容易定位)。如果你不对微软并不反感,可以把它看作Java平台上的ASP.NET。
Wicket现在是Sourceforge上一个非常活跃的项目,开发源码基于Apache协议(也是最宽松,对商业最友好的的源码协议),项目位于http://wicket.sourceforge.net,另外它还有一个独立的域名网站http://www.wicketframework.org/。最新的消息则是,Wicket已经成为Apache孵化器中一个项目,可以通过http://incubator.apache.org/projects/wicket.html来访问。但SourceForge上的网站仍然可以访问。
Wicket出现时,著名的J2EE网站TSS(即http://www.TheServerSide.com,以后简称TSS),对该项目也进行了讨论,有一段旷日持久的论战(地址:http://www.theserverside.com/news/thread.tss?thread_id=28162:),论战主力当然就是Wicket的主要作者Jonathan Locke和Tapestry的作者Howard Lewis Ship ,争论的内容十分广泛,从URL的格式到系统结构,从扩展性到界面开发,如果有时间的话,我尽量将其中部分内容翻译过来,还是很精彩的。(TSS上很多的讨论都非常精彩,如果英文好的话,建议经常上去看看,国外的牛人就是多啊。有时候我也觉得很奇怪,这些人都不用睡觉的吗,看他们的帖子,完全覆盖了24小时,感觉他们的老板真是宽容啊)。
Wicket的作者中有几个是原Sun公司Swing小组的开发人员(现在可能大部分已经不是了),因此Wicket的框架中带有浓厚的C/S色彩。而他们的开发计划中,还包括了Swing,Flash平台的支持,也就是说使用Wicket不仅可以可以输出Html,而且可以支持Swing和Flash,不过和朋友经过讨论后,觉得这个计划看起来有一点不切实际,毕竟Html,Swing,Flash之间的差别还是很大,恐怕想要无缝移植,还是有点难度的。单是一个JavaScript,恐怕就够头痛了。
Wicket带有强烈C/S结构的UI色彩,这一点有助于美工和程序人员的分工,与Delphi的开发方式非常类似(Delphi使用.frm文件保存UI控件的定义,而用.pas文件存储代码,从而对控件进行操作)。Wicket则是使用Html描述UI,并将具有特殊标记的Html元素定义为UI控件,在java文件中则直接使用代码操作这些UI控件,控制其输出及行为,样式等。这一点和Tapestry,以及.NET平台上的ASP.NET极为相似,也怪不得与Tapestry的作者争论了这么久,毕竟两者的用户群有很多的重复。其实从结构上看来,无论是Tapestry,ASP.Net,Wicket估计都借鉴了Applet平台上的WebObjects,还有Delphi。(不要忘了,Delphi的创建者Anders Hejlsberg就是.net框架的架构师,所以C#和Asp.net怎么看都带着Delphi的影子。
Wicket目前最新的版本是1.2.2版,已经支持了AJAX,但感觉这个框架的发展时间毕竟还是短了一点,尽管设计思想很不错,但还是有许多问题存在的,包括控件的数量,BUG较多等,希望2006年它可以尽快的成熟起来。
关于重新发明轮子的争论
谈到Wicket,恐怕第一个感觉就是在Java的Web开发中又多了一个轮子,这一点国内外的程序员好象都是一样。
有一个国外的Blog专门写了一篇关于轮子的文章,说明了重复发明轮子的必要性。我个人对于这种轮子是持一种欢迎的态度,因为没有人会去写一段功能完全一样的东东,总是要修正了原有轮子的不足,这样就不能简单当作一种重复。
即使是功能重复,就不需要轮子了吗?JSP能完成Struts到所有功能,而Tapestry能做到的,Struts也全部可以做到,但Struts,Tapestry就不需要了吗?Struts的MVC结构比JSP更加优秀,在很大程度上减轻了开发人员开发量,而Tapestry基于组件的开发方式,则是开创了一种新的Web开发方式,对于多语言的支持也有了新的方式。以往开发多语言页面时,往往使用properties保存字符串资源,但是页面通常都没有什么变化。而Tapestry可以通过不同的Html为不同的国家指定不同的页面。
Wicket吸收了Tapestry的一部分内容,但我最喜欢的就是,它是基于规则的,而并非XML配置的方式,这不仅有利于程序员学习,对系统的维护及开发规范都很有效,毕竟XML的编写并不见得就比写一段程序来得更容易。(这里插一句题外话,我觉得XML文件用来表示数据和资源,而不是行为,更不是业务,所以对于XML我只用来存放多语言资源或者用来做数据交换。象Spring这种大量使用XML方式,我并不欣赏,Spring也意识到了这一点,在2.0版本中努力的简化Xml的配置,但是并不尽如人意)。如果使用简单的规则来配置或者管理一个系统,用户就会很容易的查找到自己需要的内容。而通过配置文件,不管这样的一个配置文件的结构如何好,也需要在其中查找自己需要的内容,开发效率肯定要低一些。
因此对于这种有创新性的轮子,多几个,或许Java世界可以跑得更快一些。
去年就听说不少Web框架的开发人员要联合起来开一个Web框架,在Yahoo上还有一个讨论组,上去看了一下。但是这个事件对我的第一感觉就是晕,第二感觉就是特别的晕,虽然目前Java世界的Web框架一通混战,但这样一个联盟,所给出的东西很可能是第二个EJB。

分享到:
评论
40 楼 tongnian_2012 2014-01-24  
现在流行吗??
39 楼 zhaozengguang 2013-10-04  
感谢分享,mark
38 楼 jljlpch 2007-05-11  
怎么说都要支持一下。
37 楼 spiritfrog 2007-04-20  
先下来看看再说,谢谢。
36 楼 gstripe 2007-04-19  
Wicket所说的集群是不是可以自动实现单点登录。
35 楼 judychang 2007-02-02  
支持一下楼主的工作。
楼主在繁忙的工作的之余,
还在坚持写wicket相关的文章,
推过wicket的使用,真得很佩服。
每一个框架而言,都有其好处和坏处。
多了一个框架,我想在开发的时候,就多了一个选择。
一直希望能够在开发的时候,使用wicket,
但是公司的原因,都不能实现这种愿望。
但是我还是很喜欢wicket,喜欢它的配置的简单性。
我在开发的时候,每一次在遇到配置文件的时候,
都特别头大,都要花费一些时间去解决这个问题。(这也许和个人的智力有关)wicket在这方面就少了这些问题。
而且它和swing相像,
可以运用swing的设计思想,
这也是一个很好的方面。
希望和楼主一起学习,交流。
34 楼 wl95421 2007-01-07  
还是有不少网站使用了Wicket的,主要是国外。
你可以去http://cwiki.apache.org/WICKET/
看一下Sites using wicket
那里有不少使用Wicket的网站

国内的,我只知道我自己做的几个项目是使用Wicket,效果不错。
而且速度也很快,是几个大公司的网站,访问量都很大,一个是上海市某个区的一个对外系统,还是一个是上海一家特大公司的内部系统,它在全国有数百家子公司,同时使用这套系统。

由于商业原因,不方便透露太多,但是目前看来,运行了一年半还没有什么问题。
33 楼 ahuaxuan 2007-01-07  
那请问目前楼主知道的使用wicket的网站或项目有哪些,我们可以去观摩一下,没有看到别人使用心里确实没有底,这样让我们心里有个底,也是能够说服让我们去用它的一个证明了(楼主应该是wicket的国内先行者之一了,但是一般说来没有可见成功的证明,只凭一份文档,国内大多数公司还是不敢选它的,虽然它看上去确实够简单)
32 楼 wl95421 2007-01-07  
最大的问题可能底层的资料比较少一些。
象许多内容,特别是结构一级的,象Listener,SessionStore等都自己摸索出来的,这一点是感觉比较郁闷的。

一般的问题还是比较容易解决的,它的社区很好,但是要求你的英文好,也是比较麻烦一点,象Struts这种框架,相关的资料就很多了。

最大的优点,一是学习曲线低;二是与美工的交流容易的多。
31 楼 lighter 2007-01-07  
文档大体看了一下,在感观上有一定的了解...
请问wl95421,在你实际应用Wicket中,遇到的最大的问题是什么?最大的优点是什么?
30 楼 wl95421 2007-01-07  
至于访问量的问题,也要分成两种。
一是静态访问量,即访问的内容可以是静态的,象新闻。
二是动态的,比如说组织权限,业务相关的内容。

前者是必须生成静态页面,如html之类的,否则服务器根本吃不消。
而后者,Wicket占用的内存远不如想像中的这么高,大部分服务器可以负担,而且可以通过那种无状态页面来,基本上不用担心内存占用过高的问题。
29 楼 wl95421 2007-01-07  
Spring与Wicket的结合有多种方式
在Wicket-Stuff上已经有spring的内容了

另外就是ISessionStore的问题。
刚开始使用的时候,我也有这种疑惑。
不过在深入了解ISessionStore以后,基本上就不太担心这部分内容了。
因为《Wicket开发指南》新的修订版已经基本结束了,所以这部分内容暂时不再加入,春节过后的修订版会加入ISessionStore的内容。
如果你们还有其它的疑问也可以留言,或者直接发EMail给我,我会将合适的内容加入到这本书中,因为许多我认为不是问题的内容并不表示对其它的开发人员不是问题,所以需要集思广益。
28 楼 ahuaxuan 2007-01-07  
对了,还有一个问题是怎么跟spring结合,是否是直接支持依赖注入得到manager,还是得用依赖查找得到manager
27 楼 lighter 2007-01-07  
下载过书,也看了一下,相当而言,这一个框架相对而言还比较不成熟,自己没有用过其稳定性不知道怎样;看的时候也想了一下楼上说的sessionStore的问题,但不太想去深入研究;
对我而言,学Wicket倒不如学一下tapestry..
数一数学过的web框架,struts比较熟悉,webwork一般,关注struts2.02(毕竟要改变一些东西),springMVC算最基本的了解(没有兴趣),Stripes也了解过一下...
26 楼 ahuaxuan 2007-01-07  
花时间把wicket开发指南一书看了一下
它真的很象swing,特别是在控件上面,但是我也有点担心,如果用wicket做网站,访问的人很多,那session是不是会很耗内存啊,我看到里面有sessionStore这种东西,但是书里面并没有作为一个章节来将,只是作为一个问题提了一下,我认为这个sessionStore是很重要的呀,还有就是数据放到session传输到页面让人很担心啊,建议书中要拿出令人信服的例子来说明这样做是没有问题的,否则很难(至少让我)让人去使用它
25 楼 coolasp 2007-01-06  
看了一些,赞一个。
24 楼 ahuaxuan 2006-12-20  
先赞一个,写书不容易的,谢谢楼主共享,看了再评
23 楼 wl95421 2006-12-19  
这个东西是个Web框架
与Tapestry,Struts有同样的功能
我喜欢它的简洁

另外提问请去书中给出的Wicket论坛提问
那里只谈Wicket
22 楼 noahgenius 2006-12-18  
下载前先回复。

这个东西到底是框架还是规范啊?
21 楼 excuse 2006-12-18  
版主,请问Wicket中有没有全局资源文件?
即整个应用所用的资源文件,而不是对应每个html都有一个资源文件。
就像Struts一样,有一个全局的资源文件

       Tom Shen

相关推荐

    《Wicket开发指南一书》PDF版本下载

    ### Wicket开发指南知识点梳理 #### 一、Wicket简介 **1.1 Wicket前生后世篇** - **定义**: Wicket是一款基于Java的Web应用开发框架,与Struts、WebWork、Tapestry等框架类似。 - **特点**: - Html和代码的有效...

    wicket开发指南 pdf

    **Wicket 开发指南** Wicket 是一个开源的Java Web应用程序框架,它提供了一种模型-视图-控制器(MVC)的编程模式,使得Web应用的开发更加简单和直观。本指南将深入探讨Wicket的核心概念、特性以及如何有效地使用它...

    Wicket.pdf(Wicket开发指南)

    ### Wicket 开发指南知识点概览 #### 一、Wicket 框架介绍 - **框架起源与发展:** - Wicket 是一种基于 Java 的 Web 应用框架,最初由 Marc Guillemot 和 Eelco Hillenius 开发。 - 该框架首次公开发布是在 ...

    wicket开发指南

    阅读《Wicket开发指南》PDF,你将逐步了解如何搭建Wicket环境,创建第一个应用,使用组件,处理用户输入,以及如何优化和扩展Wicket应用。这份指南对于想要进入Wicket世界的新手来说是一份宝贵的资源。

    wicket例子和开发指南

    这个压缩包包含了一个Wicket的开发指南PDF文档以及一些示例项目,这些都是学习和掌握Wicket框架的重要资源。 一、Wicket框架简介 Wicket的核心理念是"组件就是一切",它将Web页面的HTML与Java代码紧密结合,通过...

    Wicket开发指南-简体版

    ### Wicket开发指南核心知识点概览 #### 一、Wicket简介 **1.1 Wicket的历史与发展** Wicket是一个开源的Java Web应用框架,它借鉴了ASP.NET的设计理念,但又具有自己的特色。该框架的目标是提高开发效率并简化...

    Wicket1.40.war包+开发指南.rar

    总结,Wicket 1.4.0提供了一种高效、易用的Web开发方式,结合`Wicket开发指南20061106.pdf`和`wicket-examples-1.4.0.war`,开发者可以快速上手,创建出功能丰富的Java Web应用。无论你是初学者还是经验丰富的开发者...

    Wicket 开发指南

    **Wicket 开发指南** Wicket 是一个开源的Java Web应用程序框架,以其组件化和模型-视图-控制器(MVC)架构而受到开发者欢迎。本指南将深入探讨Wicket的核心概念、环境搭建以及基本使用方法,帮助你快速上手并高效...

    Wicket开发指南(简体中文)

    ### Wicket开发指南知识点 #### 1. Wicket简介 **Wicket** 是一款基于 Java 的 Web 开发框架,它的设计理念与其他流行的框架如 Struts、WebWork 和 Tapestry 类似,但又具备自身独特的优势。根据给定文档的描述...

    Wicket中文开发指南

    **Wicket中文开发指南** Wicket是一款开源的Java Web应用程序框架,它强调组件化和模型-视图-控制器(MVC)的设计模式。本指南将深入探讨如何使用Wicket进行中文开发,帮助开发者更好地理解和应用这个强大的框架。 ...

    wicket指南

    **Wicket 指南** **一、Wicket 框架概述** Wicket 是一个开源的、基于组件的 Java Web 开发框架,它提供了一种简单而强大的方式来...阅读《Wicket开发指南-简体版.pdf》将进一步帮助你掌握这个框架的精髓和实践技巧。

Global site tag (gtag.js) - Google Analytics