[wicket] 放弃wicket 才是真正的进步 一个用wicket 做过项目的人

aaron_ch_wang 2011-03-29
Wicket才是最好的:
1.对于真正了解面向对象思想的程序员,学习曲线很短。
2.不需要了解那么多框架特定的配置,比如struts.也不需要你写那么多controller actions.
3.简单快速的部署和单元测试
4.真正的界面设计和逻辑编码的隔离
5.程序员可以摆脱这么多年的技术发展的痛苦,回归简单,简单最美!
6.能不能把wicket用C语言实现...
jnoee 2011-04-02
楼主对Wicket的了解太片面了,从举例就能看出来。

我体会到Wicket最大的优点:
1. 组件化/模块化
开发人员可以通过一行代码调用一个非常强大的组件,而不用关心这个组件背后的Java/Html/Js/Css。
模块业务变化比较小或者说不会变化,Wicket可以实现模块化。开发人员可以通过一行代码集成一个模块到应用系统中,或者实现几个扩展接口将一个模块集成到应用系统中。

2. 页面/编码分离
Wicket可以使页面/编码真正的分离。对于习惯于给客户演示Demo、确认需求再进行开发的工作流程,Wicket可以让Demo这部分的完成的工作完美的延续下来,并持续维护下去。
greateWei 2011-04-10
从开始学习wicket到现在,也有2年时间接触wicket。

刚开始是从台湾的dinbendon.net了解到wicket,虽然是一个非常小的web网站,但做的非常精致,由此开始对wicket感兴趣。

wicket与tapestry入门要简单,我是看了官方demo就上手做项目,第一版成稿后发布到网站,发现网站经常down掉,原因是当访问人数多的时候内存溢出,开始也怀疑是wicket问题,真有那么不堪吗?!

经证实,其实是自己编码问题,没有使用好dataprovider和detachdatamodel模式导致的,每个访问用户session达到50M;接着讲所有列表显示相关的采用dataview改写,原先使用listview,重现上线就OK了。

由于本人没有美工基础,而项目又没有安排美工,界面做的实在简陋,应市场部门要求,先模仿A网站样式改写网站显示,第一版该出来了看上去还可以,发布上线。

过了几天,市场反馈还是不行,重新改写界面,模仿B网站样式来写,2周以后基本成型,重新发布。

记忆中,网站断断续续大的改版有10来次,但每次改版觉得大部分代码均不需要改动,工作量也不是很大,目前项目代码也还是比较容易阅读的,界面改动对代码影响不大。

到目前网站项目中很多显示内容重构panel组件(一开始主要使用page),市场要求首页添加某块内容也很简单,基本上几行代码就可以搞定。

经过这个项目近两年不间断更改,我觉得wicket支持重构方面非常不错的,就原因我想:
1.采用更少配置文件方式;
2.支持组件式组合搭建页面,也非常方便使用第三方组件;
3.采用mvc架构,用好dataprovider和detachdatamodel比较关键;

greateWei 2011-04-10
另外,我觉得有必要澄清一个问题:wicket是否可以支持大规模互联网网站应用呢?

因为wicket采用重服务器端架构设计,与GWT正好相反,很多人怀疑如果每个网站访问用户均保持用户访问状态到服务器端,是否会出现服务器端内存问题呢?

我的项目经验是普通中小型网站完全没有问题,关键是用好wicket mvc设计,对于列表显示等均采用dataprovider和detachdatamode,而不要使用listview+list方式;wicket 自带的demo多数采用listview+list方式,初学者可能会误导。

上面说的网站项目网址:http://www.517wm.com

fiftysix81 2011-04-13
谁和你说struts2 不能复用的
fiftysix81 2011-04-13
greateWei前天 你的网站用wicket 被google 和 baidu 页面被采集了多少
fiftysix81 2011-04-13
http://www.517wm.com 连google 的流量统计都不对吧,根本不能统计用户的行为 哈哈?!,能力啊,最然只是css 问题 但 细节决定成败
greateWei 2011-04-14
fiftysix81 写道
http://www.517wm.com 连google 的流量统计都不对吧,根本不能统计用户的行为 哈哈?!,能力啊,最然只是css 问题 但 细节决定成败


是页面内容显示问题,与wicket关系不大,也就是与讨论主题无关,呵呵。

>>google 的流量统计都不对吧
何以见得,我是通过Google Java API定时读取的,数据应该和Google Analytics一致的。

网站确实是一个小网站,细节处理问题我也是边学边改进,基本上目前网站是开发、美工基本上由一个人处理的。



greateWei 2011-04-14
回到主题,就网站使用相关组件展开讨论
1.网站外送区域查找可选用GMap地图方式查找,使用了wicketstuff Gmap2组件;同时使用此组件测算距离,并按距离排序店家列表显示;
2.外送区域文本查找时,使用AutoCompleteTextField组件实现下拉提示框内容,方便用户快速根据当前键入关键字列表显示近似区域名称;
3.较多使用Ajax方式更新部分页面内容,提高用户体验;
4.公告栏内容使用wicketstuff rome组件动态读取wordpress blog;
5.使用wicketstuff push组件使用网页群组简单聊天功能;
6.使用wicket wasp+swarm,结合spring-security实现用户授权访问,不同角色用户显示内容控制;
7.其它使用组件包括日期组件、tinymce组件、Palette组件、输入字符有效性控制等;


如果没有wicket框架提供的这些准备好组件,估计上面这些功能很多不是我能力所及的。

比较java其它web框架(本人评估比较过struts2,tapestry,spring mvc),wicket应该是有竞争力的。
fiftysix81 2011-04-20
看来你还要提高,因为你的页面设计有很多地方是迁就wicket的,目前看来美工是迁就你wicket的,wicket 日期组件 是有Bug 的,输入字符有效性控制最好不要用wicket,你的错误信息提示在页头 是因为用了wicket 的组件,如果我要让每个错误信息显示在 text 后面 你怎么实现 
Global site tag (gtag.js) - Google Analytics