除了Wicket简单性的论点(即Wicket是一个更简单的系统IMHO)和GWT在客户端的响应(GWT的客户端状态和JavaScript - 可能是复杂的客户端代码)和GWT更大的扩展潜力,什么是使用GWT而不是Wicket的论点?
就我个人而言,我做了很多Wicket开发,但很久以前只是快速浏览了GWT。
答案 0 :(得分:17)
基本上,优点是GWT是构建基于javascript的客户端的工具,因此,如果你想要一个基于javascript的客户端,它最适合。
Wicket以服务器为中心,虽然它可以很容易地将javascript嵌入到无状态页面中,但服务器端状态处理是更自然的方法。
必须注意的是架构非常不同。
使用GWT,您的架构变成客户端 - 服务器,浏览器上的胖客户端,调用服务器的“程序”(服务),发送和接收数据。
使用Wicket(以及其他以服务器端为中心的组件框架,如JSF和Tapestry),该架构是一个更“传统”的3层架构,发送和接收的内容是页面或片段的页面,而非纯数据。
虽然你当然可以将两者结合起来以适应其他架构,但它根本不是很自然。
人们倾向于关注“哪个更容易使用”(这完全是主观的,取决于你的背景),或者“更美丽,有更多组件”,但不应低估建筑差异,这会影响您必须采取的方法来处理安全性和可伸缩性等方面。
答案 1 :(得分:10)
在过去的几个月里,我参与了一个基于GWT的项目。多年来,我一直是Wicket开发团队的一员,期待着改变,并期待GWT(我一直被吹捧为另一个优秀的Java框架)。
老实说,在与GWT合作时我很失望。我觉得 - 事实上我的整个团队 - 生产力受到了很大的打击。从理论上讲,GWT很棒。但是当你考虑到框架的怪癖和局限性时,平庸的错误报告(特别是在序列化错误时),编译时间长(3到10分钟之间,我们的项目甚至还不是那么大),事实上,当所有的事情都说完了,你仍然需要测试所有浏览器并找到调整和解决方法,事实上它产生了巨大的初始下载(几乎是MB,我们正在逐渐减少,但有很多努力)等等,我觉得Wicket更容易和更快速地工作。
我不讨厌与GWT合作。它仍然比大多数Java框架好很多。只是因为我对它的期望更多;我甚至预计它可能比Wicket更好。但最终,它只是不是imho。希望GWT 2.0能够改进很多东西,希望Eclipse插件的一些怪癖也能很快得到理解。
答案 2 :(得分:3)
将GWT与wicket(或同样)进行比较是不公平的,因为它们实际上来自两个不同的阵营。前者是用于构建JavaScript前端应用程序的框架,而后者是经典的Java Web应用程序框架。
因此,以下几点不如GWT与wicket一样多,而是在我们决定将GWT用于高级JavaScript / AJAX Web应用程序时编译的通用列表:
答案 3 :(得分:3)
Wicket优于GWT的一个优点是,Wicket可以处理您希望为未启用Javascript的客户提供后备的情况。 GWT是Javascript的全能,Wicket允许你优雅地降级。
答案 4 :(得分:2)
在我看来,GWT的最大好处是允许您使用一种编程语言 - Java,并带来它带来的所有优点。
与CSS一起构成一个强大的对。
换句话说,你可以 忘记Javascript和HTML。
这是否优势主要取决于您的技能和要求。我们在内部进行了同样的辩论,最后一个团队选择了Wicket和另一个GWT。
答案 5 :(得分:0)
对于典型的商业网络应用,我可以想到为什么GWT比Wicket更好的选择:
答案 6 :(得分:0)
GWT背后的天才是你只使用java。他们在RPC方面做得很好,使得程序员几乎是透明的。很多时候,您觉得您的编码更像是桌面应用程序,而不是具有真正定义的客户端和服务器端的应用程序。
答案 7 :(得分:0)
我发现wicket相对于GWT的其他优点很少。
答案 8 :(得分:0)
我是GWT的新手,但经过一些研究后,我发现GWT对于我的新Web应用项目是“适合的”,因为它的客户关注点让我感觉像是在编写桌面应用程序。今天,我们已经准备好在客户端运行应用程序的高性能客户端。我的应用程序可以完全用Java完成,OOP java类有机会为我们的团队构建我们自己的即用型框架。