`
whale
  • 浏览: 44658 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

浅谈GWT与Wicket比较

    博客分类:
  • Java
阅读更多
在表现层接触过: JSP, GWT, Spry, Wicket...

其中JSP大家都很熟悉,它走的是servlet,每次都向服务器有请求,然后服务器接到请求然后返回所需要的值,并且页面信息也反回来,被重新编译成HTML。 最早接触struts 1.x 版本, 它将servlet封装,并有自己的一套标签,……

闲话不说了,进入正题。
首先是GWT,
对GWT很有感情,(毕竟写了八个月,呵呵)
可以这么说,如果你想实现Ajax, 只会java,那么GWT是最好的选择!
其中我认为比较重要的,一个是深刻理解listener,(这个是实现ajax的关键的关键,以便自己写需要的listener), 一个是理解它的回调RPC, rpc只要理解就好,没什么难度,它是GWT之间访问服务端的异步请求,(千万不要把服务端的代码写道客户端!)

接下来就随心所欲的写你想表现的东西,google已经做了很多widget, 你也可以自己创造,修改或组装满足需求的Widget, 用创造者的一句话"Java搞定一切!"

由于google将其介绍的非常清楚,一个普通的程序员都能上手。 虽对其不满和批评很多,但还很是喜欢。 由于大量javascript生成,第一次读取的数据一般都会很大,似乎暂时不适用于网站开发,而更适合企业运用。

中间接触了spry,struts2.0的标签,少有深入,接下来就是用wicket

最近正在使用Wicket作为我们的表现层,由于一些写法类似,便联想到一块了。其实是截然不同的表现层。
初次见面,感觉很好,很多代码一眼都知道是干什么的,也和GWT一样有写Swing的感觉。学习起来也很容易,上手很快,基本上不用管理页面,只要知道传什么值就好。然而,用了一段时间,发现它并不灵活,特别是当要做ajax应用时候,显得让人不太爽。而且,虽然不需要写页面,但页面上每一个要用的控件都得跟webpage的对应,并不觉得非常轻松(可能是学艺不精吧)。

其中,一个应用,一个二级连动菜单,结果第二个菜单在form提交后返回不到值,拼命弄了很久回来还是空,仔细寻找问题,发现是当它被上一个菜单的动作update后,虽然里面有值,你可以在页面上操作选定其,(是,在页面上成功)但提交的时候回来,发现Wicket不知道!! 因为它不知道你选择了这个值。 官方网站的例子也研究了,张磊的书也研究了,结果还没解决. 不过同样的写法既然在另一个页面返回,效果蛮好,太诡异了!

根据以上,本人觉得Wicket适合分层开发,页面人员可以利用充分。而且是不破坏html结构,可以有良好的url, 并可以生成纯静态页面,适合被搜索引擎找到。而在ajax能力上不足。适合一般网站开发。
GWT(I like it!:D),可以让java人员实现复杂的ajax技术。做一个ajax企业级应该可以吧:)

以上愚见,入门之徒   
分享到:
评论
2 楼 whale 2009-01-05  
w
liliang_xf 写道

Wicket 这个玩意生成的是HTML代码,那还不错啊

并不是生成,而是在里面fill datamodel. HTML已经有了,所以可以充分利用UI人员(他们不懂编程,但懂html,会设计静态页面)
1 楼 liliang_xf 2009-01-05  
Wicket 这个玩意生成的是HTML代码,那还不错啊

相关推荐

    GWT与Spring整合经典文章

    【GWT与Spring整合】是现代企业级应用开发中的一个重要话题。Google Web Toolkit (GWT) 是一个由Google开发的开源工具包,它允许开发者使用Java编写富互联网应用(RIA),然后自动将其编译为高效的JavaScript代码。...

    gwt 练习 gwt学习

    1. **GWT SDK安装与设置**:首先,你需要下载并安装GWT SDK,配置IDE(如Eclipse或IntelliJ IDEA)以支持GWT项目开发。 2. **模块化(GWT Module)**:每个GWT项目都始于一个`.gwt.xml`模块文件,它定义了项目的...

    GWT入门 GWT中文教程

    GWT,全称为Google Web Toolkit,是Google推出的一款开源JavaScript开发框架,允许Java开发者使用Java语言来编写Web应用。...在实际学习过程中,应结合实际项目需求,理论与实践相结合,以达到最佳的学习效果。

    GWT快速开发(GWT) 是一个Java软件开发框架用于开发类似于Google Maps和Gmail的AJAX应用程序。GWT的设计参考Java AWT包设计,类命名规则、接口设计、事件监听等。你可以用Java编程语言开发你的界面,然后用GWT编译器将Java类转换成适合浏览器执行的...

    #### 二、GWT的安装与配置 1. **下载GWT**: - 访问官方网址: [http://code.google.com/webtoolkit/](http://code.google.com/webtoolkit/) - 下载最新版本的GWT开发工具包。 2. **安装GWT**: - 不需要传统的...

    GWT

    例如,可能是关于性能优化、调试工具的使用,或者是GWT与其他工具集成的最佳实践。 总之,GWT是一个强大的开发框架,它简化了富互联网应用程序的开发,使Java开发者能够在浏览器环境中充分利用Java的便利性。通过...

    GWT入门与经典实例解析

    **GWT(Google Web Toolkit)入门与经典实例解析** GWT,全称为Google Web Toolkit,是Google推出的一款开源的JavaScript开发框架,旨在帮助Java开发者更高效地构建和优化复杂的、可伸缩的Web应用程序。GWT的核心...

    Gwt中文手册,GWt入门

    Gwt中文手册,GWt入门Gwt中文手册,GWt入门Gwt中文手册,GWt入门

    GWT入门与经典实例解析源码

    GWT入门与经典实例解析源码提供了一个学习和实践GWT开发的宝贵资源,下面将详细介绍GWT的关键概念、核心特性以及通过实例解析来深入理解其工作原理。 1. **GWT的安装与设置**: 在开始GWT项目之前,你需要安装Java...

    smartgwt最新版本GWT的DEMO

    在这个"smartgwt最新版本GWT的DEMO"中,我们可以深入学习SmartGWT如何与GWT结合,创建功能强大的Web应用。 Google Web Toolkit (GWT) 是一个由Google开发的开放源代码Java SDK,它允许开发者使用Java语言编写客户端...

    GWT开发环境JAVA

    8. **编译与部署**:完成开发后,使用GWT编译器将Java代码编译为JavaScript,然后将生成的文件部署到Web服务器上供用户访问。 ### GWT的主要特性 1. **跨浏览器兼容**:GWT自动处理JavaScript的差异,使得应用能够...

    GWT Demo,GWT学习时的一些小例子

    4. **国际化与本地化**:GWT 提供了强大的国际化支持,使得开发者可以轻松地为应用程序添加多语言版本,满足全球用户的需求。 5. **模块化**:GWT 应用程序由一系列模块组成,每个模块包含特定的功能。这种模块化...

    GWT入门和进阶

    GWT支持数据绑定,使得UI组件的状态能自动与后台模型同步。此外,MVP(Model-View-Presenter)模式是GWT中推荐的架构模式,它分离了用户界面、视图逻辑和业务逻辑。 **5. RPC通信** GWT提供了Remote Procedure Call...

    gwt实例,基于gwt-windows-1.5.2

    GWT 1.5.2发布于2008年,虽然现在已经比较过时,但对于初学者来说,它仍然是一个理解GWT基本概念和工作原理的好起点。 GWT的核心理念是通过Java编写客户端代码,然后自动编译为高效的JavaScript,使得开发者可以...

    gwt-2.8.2 SDK 最新下载 google web toolkit

    9. **兼容性与社区支持**:GWT-2.8.2版本在保持向后兼容的同时,引入了新的特性,如ES6支持和Material Design Lite主题,保持与最新Web技术同步。此外,GWT拥有活跃的开发者社区,提供大量的第三方库和扩展。 总的...

    GWT-API.rar

    GWT提供了GWT-RPC(Remote Procedure Call)服务,允许客户端与服务器进行安全的、高效的异步通信。此外,GWT还有GWT Elemental和GWT Places & Activities等框架,用于实现数据绑定和页面导航,便于构建复杂的单页...

    gwt揭秘源代码

    3. **异步编程模型**:通过GWT的异步服务调用(RPC),开发者可以方便地实现客户端与服务器的数据交换。 4. **强大的开发环境**:GWT提供集成开发环境(IDE)插件,如Eclipse和IntelliJ IDEA,支持代码提示、调试和...

Global site tag (gtag.js) - Google Analytics