GWT与GXT

摘要:
Gwt由谷歌开发。后来,由于extjs后续版本的收费问题,extjs继续接手开发,并将其名称改为gxt。它刚开始学习GXT,但想了解EXT-GWT、GWT和EXTJS之间的关系。EXT-GWT,也称为GXT,是EXTJS的子项目,也是GWT的扩展。它使用Java生成网页。GXT完全依赖GWT。如果GWTMVP设计模式是一个具有GWT项目开发经验的开发人员,那么它将被松散的GWT开发模式所困扰。GWT2.1中提供的EventBus功能及其主要MVP模式解决了GWT以前开发大型项目时的困惑。GWT是一个完整的Ajax实现。
gwt 是google公司开发的,后来因为extjs后续版本收费问题, extjs 公司继续接手开发,改名为gxt

刚开始学习GXT,但是想弄明白EXT-GWT、GWT与EXTJS三者之间的关系。

EXT-GWT,又称GXT,是EXTJS的一个子项目,是GWT的一个扩展,利用java生成网页。GXT完全依赖于GWT。

给个不恰当的大小关系就是
EXTJS>GXT>GWT
GWT 提供了一组基于Java语言的开发包,这个开发包的设计参考Java AWT(Abstract Window Toolkit,中文译为抽象窗口工具包,是Java提供的用来建立和设置Java的图形用户界面的基本工具。AWT由Java中的java.awt包提供,里面包含了许多可用来建立与平台无关的图形用户界面(GUI)的类,这些类又被称为组件(components)。)包设计,类命名规则、接口设计、事件监听等都和AWT非常类似。在前端使用JavaScript,后端使用Java的AJAX framework。GWT透过编译器将Java程式码编译成JavaScript,可让开发人员使用Java程式设计语言,快速建置与维护复杂但高效能的JavaScript前端应用程式。Java应用中出现的、和服务器之间的交互动作被自动生成的异步调用代码所代替。

ExtJS是一个JavaScript库,包括多种可以实现各种功能的控件,可以使用Ajax, DHTML,DOM等技术开发网络应用程序。

GWT MVP设计模式

如果是一个有GWT项目开发经验的开发人员一定会为GWT松散的开发模式有些恼火。一个用户界面和业务逻辑都是用Java代码实现的语言,如果没有很好的项目分层和事件控制的话,项目很容易变成一坨很大的难以维护的代码堆。而GWT2.1中提供的EventBus功能和它主推的MVP模式就很好的解决了之前GWT在开发大型项目时混乱的局面。
 
MVP模式的全称是Model-View-Presenter。Model表示的是Domain Data。View表示呈现Model的UI页面以及UI事件的综合。而Presenter层是用于控制Model层与View层的Mapping关系。也就是负责为前端的View层提供其所需的Model数据。并且控制页面流的跳转。这点很像MVC模型中的Controller层。但是区别于Controller层的是Presenter层还需要对页面事件进行处理!
 
GWT是一个全Ajax的实现方案。所以GWT的整个Presenter层需要控制View层的全部事件,因为在全Ajax页面中Ajax操作其实包含了很多的业务逻辑。而使用MVP模式就可以实现剥离这些Ajax业务事件逻辑。这样View层就仅仅是单纯的页面显示。

 

免责声明:文章转载自《GWT与GXT》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【JUnit】junit4的几个assert方法(python learn) 5 元组下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

java爬虫(六)分析AJAX接口获取网页动态内容

1.实现原理 2.详细过程 这里我们直接观察审查元素(检查)中的内容来判断接口 这里我选取了一个动态网页的查看更多,直接点击然后观察network选项卡的变化这里可以看到网页在无刷新的状态下,通过查看更多加载了很多图片资源,其中第一个文件,查看一下它的Preview选项卡,可以看到这个文件是存储json的 然后通过Headers选项卡,我们可以看到它请求的...

Webview 与h5的交互

步骤:H5代码   <html>   <head>   <meta charset="UTF-8">   <title>交互Demo</title>   <meta content="initial-scale=1.0,user-scalable=no,maximum-scale=1,wid...

Web前端开发规范(二)

3、HTML代码规范 .html文件必须存放在项目工程约定的目录中。 .html文件的命名:以模块 + 功能的结合方式来命名,比如:newsList.html。 文档类型声明:HTML4中使用<!DOCTYPE HTML PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” ”http://www.w...

[转帖]javascript版 UrlEncode和UrlDecode函数

VBScript<script language="vbscript">Function str2asc(strstr)     str2asc = hex(asc(strstr)) End Function Function asc2str(ascasc)     asc2str = chr(ascasc) End Function<...

分享12款 JavaScript 表格控件(DataGrid)

JavaScript 表格控件可以操作大数据集的 HTML 表格,提供各种功能,如分页、排序、过滤以及行编辑。在本文中,我们整理了13个最好的 JavaScript 表格插件分享给开发人员,开发者可以很容易地添加表格操作功能到 Web 应用程序中。 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果【附源码】 分享35个让人惊讶的 CSS3...

结合丰富示例深入讲解Ajax架构和最佳实践——《深入Ajax:架构与最佳实践》

媒体评论 “本书不仅介绍了编程技术,而且全面讲解了Ajax应用程序的生命周期。如果你想成为一名专业的前端开发人员,一定会被本书中关于架构的真知灼见和最佳实践深深打动。” ——Andi Gutmans ,PHP创始人暨Zend技术公司CTO “本书循序渐进地讲述技术背后的最佳设计和实践,包括很多好的模式和实践。”                    ...