阅读更多

16顶
0踩

编程语言

原创新闻 Apache Wicket 1.4 发布了!!!

2009-08-06 09:34 by 见习记者 jansel 评论(24) 有13645人浏览
Wicket 在经历了7个Rc之后 终于发布了1.4版本。


喜欢Wicket的Fans可以从下面链接获取。

http://www.apache.org/dyn/closer.cgi/wicket/1.4.0


1.4版本中几个值得关注的修改:

http://wicket.apache.org/apache-wicket-14-takes-type-safety-to-the-next-level.html


PS:1.3.7是1.3系列的最后一个版本了
来自: wicket
16
0
评论 共 24 条 请登录后发表评论
24 楼 jamesqiu 2009-08-24 16:18
本人目前正在学习评估Wicket,自己不把它外焦里嫩地弄透弄熟之前,还不能大范围采用。
23 楼 caoyangx 2009-08-09 20:26
Wicket是一个借鉴了Swing思想的Web库,有java桌面开发背景的会觉得Wicket
jansel 写道
而当时的确有一部分struts1的用户,不过好像大部分都是日本外包居多。而很多注重技术的公司,可能在2004或2005年的时候,已经开始抛弃struts1了。

说到点子上了,只有注重技术的公司才会这样。我工作的环境是一个不太注重技术的环境,所以在我的眼里不管是我们公司还是合作的公司,大家一直还是在使用Struts1,学习Webwork还是我自己学习的,根本没有场景去用;学习Wicket的就更加不用说了。就目前来说,公司还是没有流行起来Struts2,反倒去研究如何避免写HTML/JSP的去开发WEB程序,头疼中。

借这个宝地,问大家一个事情:我怎么才能劝老大们不要去做哪些看起来很无聊的事情呢?如何才能把Struts2或者Wicket引入到项目呢?



没办法,哥们,说动一个CTO是不可能的,既然自己的思想得不到发挥,那就静下心来,看看所谓思想过时的CTO能带给你的理念,说不定会对你有新的启发,日后必然有用武之地。上帝不会让你个努力学习的人白白浪费时间的。学学别人的东西也不错,我们不能总抱着锤子走下去啊。
其实我的遭遇很想,幸好我在子公司做架构师,子公司的项目都可以自己选定架构,不过总部项目,都是类似wicket,itmall之类的东西,就是让程序员避免直接接触html,javascript,ajax,减少学习成本。不过对于这种思想我还是无法心甘情愿的接受,不过也只能如此。
22 楼 icewubin 2009-08-08 09:40
21楼,你太小看前端工程师了,而且你们讨论问题好像有一个大前提就是:wicket是没有任何兼容性问题的,是没有任何bug的。
21 楼 greateWei 2009-08-07 19:58
其实
wicket的ajax支持基本够用,能够满足大多数应用,不需要花费太多时间调试JS代码;说实在的,我对JS到目前还是一窍不通,但现在我的网站上实现的ajax功能如果自己写,即使是JS专家也不一定短时间能够实现。

切切相反,我认为wicket最大的优点就是非常好用,可以快速上手。
20 楼 icewubin 2009-08-07 15:31
需要良好用户体验的,一般都是直接使用JS框架控制JS,有专门的前端工程师来做这个事情的,直接修改JS调试的效率远高于这些基于JS生成技术的框架。

而且为了速度考虑,JS文件一般都要单独处理的,绝不会让服务端去一个个动态生成。
19 楼 whaosoft 2009-08-07 13:27
呃 好像不是很好用是的@~!~
18 楼 wl95421 2009-08-07 13:00
另外在论坛里开了一个帖子,讨论内存溢出的问题

http://www.javaeye.com/topic/442318
17 楼 greateWei 2009-08-07 12:22
补充:
使用wicket一段时间,总的印象还是不错的。

原先主要做桌面应用软件开发的,发现切换到web开发挺自然的。ajax开发应用实在是方便,struts2虽然也有,当时看了基本上放弃使用struts2,主要是本人之前没有ajax开发调试经验;web部分代码重用非常方便,使用panel可以为你节省很多重复代码。

如果使用java开发web应用管理类网站,有频繁交互,需要有良好的用户体验,我觉得wicket、tapestry、GWT三个框架是首选,三个框架都有异曲同工之妙。

16 楼 greateWei 2009-08-07 12:15
to wl95421
去年年底也是看了你写的wicket用户手册入门的,之前还不了解wicket是干什么用呢,

之前确实没有使用LoadModel模式,主要是编码工作量问题吧,网站上线试用了一段时间后,随着资料增加和访问人数增加,内存溢出越来越频繁,后来基本上设计到大数据量列表的全部使用了LoadModel模式,不过内存问题还是存在的。

有几次,网站中一些搜索引擎爬虫收录时,并发数上去后,偶尔还是会发生内存溢出问题,我查看了硬盘中的session文件,发现大小基本上在300k左右,应该属于正常范围。

解决办法倒不是没有:
1.增加内存容量;不过tomcat在windows下似乎最大只能分配1G内存,linux应该没这个限制;
2.Terracotta也是一个选项;
3.session序列化机制改良,曾有人提出使用mem cache来实现;我现在使用的是默认session保存机制;
15 楼 jansel 2009-08-07 10:59
而当时的确有一部分struts1的用户,不过好像大部分都是日本外包居多。而很多注重技术的公司,可能在2004或2005年的时候,已经开始抛弃struts1了。

说到点子上了,只有注重技术的公司才会这样。我工作的环境是一个不太注重技术的环境,所以在我的眼里不管是我们公司还是合作的公司,大家一直还是在使用Struts1,学习Webwork还是我自己学习的,根本没有场景去用;学习Wicket的就更加不用说了。就目前来说,公司还是没有流行起来Struts2,反倒去研究如何避免写HTML/JSP的去开发WEB程序,头疼中。

借这个宝地,问大家一个事情:我怎么才能劝老大们不要去做哪些看起来很无聊的事情呢?如何才能把Struts2或者Wicket引入到项目呢?
14 楼 wl95421 2009-08-07 10:52
另外再加一句,并不是所有的东西都需要放到Session中
多用一下StatelessForm,会发现对于互联网来说,这种更合适。
13 楼 wl95421 2009-08-07 10:47
Wicket的性能并不差,给大家做个简单的分析,一般的页面,如果是用LoadModel,大概序列化后只占5-10K,每个Session中默认是放置5个页面,假设再开大一些,放置10页,也就是说对于每个Session来说,Wicket只占用100K左右的内存。

对于1500人的访问,即1500X100K,那么只占用150M内存,这个占用绝对不算大。
只不过对于大部分人来说,并不习惯使用LoadModel,所以将Model也Cache在Session中了,如果是列表数据,自然就大了很多,比如说一个25条数据的列表页面,序列化后肯定不是10K,至少也是个40K,搞不好100K,就算默认是5个页面,也要占用500K内存,1500个上来,就是750M,肯定完蛋。

所以如果出现这种情况,应该看LoadModel,而不是默认的Model。
另外如果情况不严重,可以考虑使用DiskSessionStore,性能也还不错。
12 楼 carlkkx 2009-08-07 10:26
Wicket是一个借鉴了Swing思想的Web库,有java桌面开发背景的会觉得Wicket很亲切。
11 楼 murainwood 2009-08-07 10:08
做对日外包的也许觉得Struts1从头到尾都在流行着吧
10 楼 caoyangx 2009-08-07 10:05
像当时Webwork真火起来了吗(我指的是中国)?
jansel 写道
希望你能依据事实说话,没有任何框架不是耗性能的,方便必须牺牲性能,你要用一个功能相近的mvc和struts2对比,并用性能测试结果来证明struts2耗费性能。不然凭空说一辆车费油,一定要用同参数不同品牌的汽车作对比才行。
还有,struts2流行在于struts1?你这话说明你太不了解struts2的历史了。webwork2时代,就已经风风光光了,还记得quankWang写的jert吗?因为webwork2当时很优秀,Apache才收购webwork2的,而且想取代struts1的位置。

------------------------------------------------------------------

我只是把我身边的事情说出来而已,Webwork流行?你可以去问问你身边的大部分的开发人员Webwork啥时候在我们中间流行过?大家一般都是从Struts1转向了Struts2,为什么?因为大家直觉是Struts2就是Struts1的升级版。如果试着没有Struts1的用户群,Struts2会这么火吗?就像当时Webwork真火起来了吗(我指的是中国)?

至于Struts2的性能问题,公司的一个部门测试过,后来就基于Struts2去修改了,只不过最后由于一些原因再没有进行下去。

PS:Struts2的历史我还是比较了解,因为我也是先学习了Webwork,后来才学习了Struts2的

Struts2的框架设计的的确很好,也容易扩展,除了UI Tag。



不好意思,webwork2.14的时候我就已经开始使用它做项目了,因为当时webwork的理念比较时髦,对比struts1,简直不知道好上多少倍。而当时的确有一部分struts1的用户,不过好像大部分都是日本外包居多。而很多注重技术的公司,可能在2004或2005年的时候,已经开始抛弃struts1了。我不知道你的当时的公司是个什么样的情况。
说实话,我倒是觉得是struts1占了struts2的光,如果webwork没有那么优秀的技术。恐怕apache的struts将会一败涂地。
再有,说到性能问题,我想每个国际大师的杰作都不会烂到性能出现明显问题。我觉得这世界上没有垃圾的技术和框架,只有垃圾的设计和应用。没有充分了解一个技术框架,也没有根据他的特性做取长补短的设计,那么最后只能抱怨了。
9 楼 jansel 2009-08-07 09:38
希望你能依据事实说话,没有任何框架不是耗性能的,方便必须牺牲性能,你要用一个功能相近的mvc和struts2对比,并用性能测试结果来证明struts2耗费性能。不然凭空说一辆车费油,一定要用同参数不同品牌的汽车作对比才行。
还有,struts2流行在于struts1?你这话说明你太不了解struts2的历史了。webwork2时代,就已经风风光光了,还记得quankWang写的jert吗?因为webwork2当时很优秀,Apache才收购webwork2的,而且想取代struts1的位置。

------------------------------------------------------------------

我只是把我身边的事情说出来而已,Webwork流行?你可以去问问你身边的大部分的开发人员Webwork啥时候在我们中间流行过?大家一般都是从Struts1转向了Struts2,为什么?因为大家直觉是Struts2就是Struts1的升级版。如果试着没有Struts1的用户群,Struts2会这么火吗?就像当时Webwork真火起来了吗(我指的是中国)?

至于Struts2的性能问题,公司的一个部门测试过,后来就基于Struts2去修改了,只不过最后由于一些原因再没有进行下去。

PS:Struts2的历史我还是比较了解,因为我也是先学习了Webwork,后来才学习了Struts2的

Struts2的框架设计的的确很好,也容易扩展,除了UI Tag。
8 楼 caoyangx 2009-08-07 09:21
的很OK,也会有性能问题。


Wicket流行不起来我个人觉得和宣传有关系,说实话有多少人真正去关注性能(一般情况下都是通过添加硬件解决),好多人还是考虑开发便利性,维护性。

但是Wicket开发也便利啊,维护也没啥问题,重用还不错。

Struts2流行在于沾了Struts1的光了,还有就是简单。缺点就是UI Tag不好用。
jansel 写道
macllical 写道
如果wicket能解决性能问题。我想还是很有吸引力的。会有更多的人去使用。


Wicket的Session用的有些过头了,但是再想想Struts2性能其实也不怎么样,前提是用到了他的UI。最近一直在研究Struts2的UI设计,发现Struts2这样做也存在性能问题。

基本上都是Tag--->Component--->Freemarker 数据是这样传输的,稍微遇到大一点的数据也是比较麻烦的。还有就是拦截器虽然设计的很OK,也会有性能问题。


Wicket流行不起来我个人觉得和宣传有关系,说实话有多少人真正去关注性能(一般情况下都是通过添加硬件解决),好多人还是考虑开发便利性,维护性。

但是Wicket开发也便利啊,维护也没啥问题,重用还不错。

Struts2流行在于沾了Struts1的光了,还有就是简单。缺点就是UI Tag不好用。


希望你能依据事实说话,没有任何框架不是耗性能的,方便必须牺牲性能,你要用一个功能相近的mvc和struts2对比,并用性能测试结果来证明struts2耗费性能。不然凭空说一辆车费油,一定要用同参数不同品牌的汽车作对比才行。
还有,struts2流行在于struts1?你这话说明你太不了解struts2的历史了。webwork2时代,就已经风风光光了,还记得quankWang写的jert吗?因为webwork2当时很优秀,Apache才收购webwork2的,而且想取代struts1的位置。
7 楼 pangyi 2009-08-07 09:09
wicket是不是基于JSF的?
6 楼 jansel 2009-08-07 08:42
macllical 写道
如果wicket能解决性能问题。我想还是很有吸引力的。会有更多的人去使用。


Wicket的Session用的有些过头了,但是再想想Struts2性能其实也不怎么样,前提是用到了他的UI。最近一直在研究Struts2的UI设计,发现Struts2这样做也存在性能问题。

基本上都是Tag--->Component--->Freemarker 数据是这样传输的,稍微遇到大一点的数据也是比较麻烦的。还有就是拦截器虽然设计的很OK,也会有性能问题。


Wicket流行不起来我个人觉得和宣传有关系,说实话有多少人真正去关注性能(一般情况下都是通过添加硬件解决),好多人还是考虑开发便利性,维护性。

但是Wicket开发也便利啊,维护也没啥问题,重用还不错。

Struts2流行在于沾了Struts1的光了,还有就是简单。缺点就是UI Tag不好用。
5 楼 macllical 2009-08-07 08:27
如果wicket能解决性能问题。我想还是很有吸引力的。会有更多的人去使用。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • WinSock技术原理-很详细是个集合

    第一章 简介 1.1 什么是Windows Sockets规范? Windows Sockets规范以U.C. Berkeley大学BSD UNIX中流行的Socket接口为范例定义了一套Micosoft Windows下网络编程接口。它不仅包含了人们所熟悉的Berkeley Socket风格的库函数;也包含了一组针对Windows的扩展库函数,以使程序员能充分地利用Windows消息驱动机制进行编程。 Windows Sockets规范本意在于提供给应用程序开发者一套简单的API,并让各家网络软件供应商共同遵守。此外,在一个特定版本Windows的基础上,Windows Sockets也定义了一个二进制接口(ABI),以此来保证应用Windows Sockets API的应用程序能够在任何网络软件供应商的符合Windows Sockets协议的实现上工作。因此这份规范定义了应用程序开发者能够使用,并且网络软件供应商能够实现的一套库函数调用和相关语义。 遵守这套Windows Sockets规范的网络软件,我们称之为Windows Sockets兼容的,而Windows Sockets兼容实现的提供者,我们称之为Windows Sockets提供者。一个网络软件供应商必须百分之百地实现Windows Sockets规范才能做到现Windows Sockets兼容。 任何能够与Windows Sockets兼容实现协同工作的应用程序就被认为是具有Windows Sockets接口。我们称这种应用程序为Windows Sockets应用程序。 Windows Sockets规范定义并记录了如何使用API与Internet协议族(IPS,通常我们指的是TCP/IP)连接,尤其要指出的是所有的Windows Sockets实现都支持流套接口和数据报套接口. 应用程序调用Windows Sockets的API实现相互之间的通讯。Windows Sockets又利用下层的网络通讯协议功能和操作系统调用实现实际的通讯工作。

  • 使用Winsock:Winsock入门

    以下是Windows套接字编程入门的分步指南。 它旨在提供对基本Winsock函数和数据结构的理解,以及它们如何协同工作。 用于说明的客户端和服务器应用程序是一个非常基本的客户端和服务器。 Microsoft Windows软件开发工具包(SDK)附带的示例中包含更高级的代码示例。 客户端和服务器应用程序的前几个步骤相同。 关于服务器和客户端 创建一个基本的Winsock应用程序 正在初...

  • [转]Winsock程序设计初步之 Winsock编程原理

     Winsock程序设计初步之 Winsock编程原理   本课程主要讲Windows中TCP/IP编程接口Winsock,版本为1.1。高版本的Winsock实际与1.1版相差不多,主要是进行了一些扩充,如可超越TCP/IP协议直接用socket来实现IPX、NETBIOS等其它通信协议。  这叙述方便在本文的其余部分中提到的Winsock指的就是Winsock1.1。  通过Winso

  • Winsock编程原理

    面向连接的系统调用 面向无连接的系统调用 1.Winsock的打开int WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData);成功返回0,失败返回不同的错误信息。 2.服务器建立套接字SOCKET socket(int af, int type, int protocol);成功返回套接字对象,失败返回INVALID_...

  • Winsock程序设计初步之<一> Winsock编程原理 (转)

    Winsock程序设计初步之 Winsock编程原理 (转)[@more@] 本课程主要讲windows中TCP/IP编程接口Winsock,版本为1.1。高版本的Winsock实际与1.1版相差不多,主要是进行了一些扩充,如...

  • WinSock技术原理

    WinSock技术原理,有关Windows Socket,包含程序清单,希望对学习网络编程有帮助。

  • 利用WinSock实现简单网络编程

    利用WinSock可以实现TCP、UDP协议通信。我们知道,网络通信要找三个地址即网络地址、主机地址、服务地址(端口号)。通过机器的IP地址和子网掩码计算可以得到网络和主机地址。而每个机器的服务地址(端口号)有65536个。下面就谈一下怎样利用WinSock实现网络通信。服务器端程序编写:建立一个窗体,添加一个Text控件用于存放发送信息的内容、一个命令按钮(cmdSend)用于发送信息、两个Wi

  • Windows网络编程之Winsock 编程接口实验

    实验一 Winsock 编程接口实验1 实验类型 验证型实验 2 实验目的 1. 掌握Winsock 的启动和初始化; 2. 掌握gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的使用。 3 背景知识 (1)Winsock 基本概念 Winsock 即Windows Sockets 的简称,是在Windows 操作

  • winsock原理

    <br />       明确一点: windows创建套接字的目的是为了网络传输,实现数据的传输。  <br />      sockets套接字是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元,可以将套接字看做不同主机间进程进行双向通信的端点。套接字分为两种不同的类型:流式套接字和数据报套接字。流式套接字具有有序性,面向连接;数据包套接字不保证可靠性和有序性。<br />任何从winsock函数对IP地址和端口号的引用和传送给winsock函数的ip地址和端口均是按照网络顺序组织的。套接字可

  • 什么是网络编程,Winsock ,SDK

    网络编程:

  • Winsock编程原理——面向连接

    Winsock编程原理——面向连接 Windows Sockets使用套接字进行编程,套接字编程是面向客户端/服务器模型而设计的,因此系统中需要客户端和服务器两个不同类型的进程,根据连接类型的不同,对于面向连接的TCP服务和无连接的UDP服务,服务器分别采取不同的处理操作来对客户提供服务。 面向连接 服务器 socket() -&gt; bind() -&gt; listen() -&gt...

  • Winsock程序设计初步之 Winsock编程原理

    Winsock程序设计初步之 Winsock编程原理     本课程主要讲Windows中TCP/IP编程接口Winsock,版本为1.1。高版本的Winsock实际与1.1版相差不多,主要是进行了一些扩充,如可超越TCP/IP协议直接用socket来实现IPX、NETBIOS等其它通信协议。  这叙述方便在本文的其余部分中提到的Winsock指的就是Winsock1.1。  通过Wins

  • 如何用VC++和Visual Foxpro进行ActiveX数据通讯

    如何用VC++和Visual Foxpro进行ActiveX数据通讯 粟利民 孙强 摘要 本文描述了如何利用自动服务器Active Automation,在VC++中与Visual Foxpro进行数据通讯的方法。通过自动服务器,圆满地解决了各种数据类型的交换问题。 关键词 VC++,Visual Foxpro,ActiveX Automation,数据通讯 在进行软件开发的过程中,如何在不同的编

  • Winsock程序设计初步之<四> Winsock函数用法说明

    WSAStartup()连结应用程序与Winsock.DLL 的第一个函数。格 式: int WSAStartup( WORD wVersionRequested,LPWSADATA lpWSAData )参 数:wVersionRequested 欲使用的 Windows Sockets API 版本lpWSAData 指向 WSADATA 资料的指标传回值:成功

Global site tag (gtag.js) - Google Analytics