0% found this document useful (0 votes)
32 views21 pages

A 'New'way To Program Dynamic Web Applications: - Usman - Pavan - Rajakumar

This document provides an overview of Google Web Toolkit (GWT), a framework for building dynamic web applications using Java. It discusses the problems with traditional AJAX development and how GWT addresses these issues by allowing developers to write client-side code in Java instead of JavaScript. Key features of GWT highlighted include rich user interfaces, asynchronous RPC, reuse of Java skills, and easy debugging. Some limitations like browser compatibility issues and difficulty understanding generated code are also noted.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views21 pages

A 'New'way To Program Dynamic Web Applications: - Usman - Pavan - Rajakumar

This document provides an overview of Google Web Toolkit (GWT), a framework for building dynamic web applications using Java. It discusses the problems with traditional AJAX development and how GWT addresses these issues by allowing developers to write client-side code in Java instead of JavaScript. Key features of GWT highlighted include rich user interfaces, asynchronous RPC, reuse of Java skills, and easy debugging. Some limitations like browser compatibility issues and difficulty understanding generated code are also noted.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

GW T

A 'n e w ' w a y t o p r o g r a m d y n a m ic w e b a p p lic a t io n s

-U s m a n
-P a v a n
- R a ja k u m a r
Agenda

 Overview of AJAX development


 Problems with AJAX
 What is GWT ?
 Why GWT ?
 Sample application
 User Interface with GWT
 RPC
 Cons
C la s s ic w e b a p p lic a t io n m o d e l
(s y n c h r o n o u s )
A ja x w e b a p p lic a t io n m o d e l
(a s y n c h r o n o u s )
A s y n c h r o n o u s Ja v a S c r ip t a n d X M L
(A JAClient
X ) – side Server - side

Javascript JAVA

+ no page transition, no blocking + eclipse: debugging, easy


development
- No IDE
- good IDE’s
- Debugging is difficult
- Debugging is easy
- weakly typed
- strongly typed
A JA X
 Asynchronous JavaScript and XML.

 Clientside javascript to asynchronously fetch


the data

 Using the DOM API dynamically modify the


page

 Based on javascript,html,xml,css.xhtml,DOM.

 Web browser UI to be more interactive and to


respond quickly to inputs
D ra w b a ck s
 Multiple languages and framework across
stack
 Mixing the js,jsp,xml,java leads maintenance
problem
 Less modularization
 Less reusable code
 Breaks MVC principle.
 Complicated debugging and testing with
different browsers.
 Browsers back button and history maintains
problem
 OOPS
W h a t is G W T ?
A FrameWork for building highly perfomant, Ajax
enabled , Javascript front-end web applications .

 Provides Java-to-javaScirpt Compiler .


 Allow to use the java development tools like
netbeans and eclipse.
 Shell to test and debug modules without compilation
 Simple asynchronous browser-to-server RPC
Why GWT ?

 Rich user Interface


 Open source
 No need to learn Javascript language
 No need to learn DOM Api( use java Api)
 No plugIns required in client side
 Junit integration
Why GWT ? (Cont ... )

 OOPS
 Asynchronous Calls
 To share load between client and server
 Keeping only insensitive data on client side
 Not for validation but for the better and rich user
interface.
G W T A p p lic a t io n A r c h it e c t u r e
M o d e s o f R u n n in g G w t a p p lic a t io n
 Gwt Application can run in two modes .
Host Mode
 Hosted Mode is a 'simulated' mode
 Run entirely from Eclipse using the GWT Shell.
* Consists of a customized Tomcat Web container.
* Makes debugging easier .
Web Mode
 Run as pure JavaScript and HTML,compiled from
your original Java source code with the GWT
G o o g le W e b To o lk it (G W T)
@ development time @ deployment time
Compile to

JAVA/eclipse
<html>

Javascript

javascript
[...]
<script type="text/javascript">
[...]
xmlhttp.open("POST", url, true);
xmlhttp.onreadystatechange = function(func) {
if (xmlhttp.readyState == 4) {
[...]
}
}
xmlhttp.setRequestHeader('MessageType', 'CALL');
xmlhttp.setRequestHeader('Content-Type', 'text/xml');

e </script>
<body>[...]</body>
cod
</html>
A b ile t o
yte
JAV omp
C

Hosted mode
JVM
IDE
G W T: p r o je c t s t r u c t u r e
Package Purpose
it/sella/gwt/ The project root
package contains
module XML files

it/sella/gwt/client/ Client-side source files


and subpackages
it/sella/gwt/server/ Server-side code and
subpackages

it/sella/gwt/public/ Static resources that can


be served publicly
G W T M o d u le s
 *.gwt.xml

 Jsp,Html, ...

 Entry point class (java class)

 Css , Images ,other xmls …

 External java script file


U I w id g e t lib r a r y
G W T-R P C
 These are Asynchronous Calls.

 A framework used to exchange java objects .

 Based on the java servlet architecture .

 GWT handle the serialization of java objects.

 GWT-RPC services are not same as web


services . .
R P C p lu m b in g d ia g r a m
Co rn s o f GW T
 Browser compatibility pretty good but issues
with some browsers.
 Although java to javascript convertion takes
place, not all features of java can be
implemented .eg multi threading,Calender etc
 Gwt generated javascript and html are very
difficult to understand .
 Layouts,panels and some widgets have bugs .
C o r n s o f G W T ( C o n t ... )

 The appearance of the application depends


on the browser.
 Take long time to load and heavily uses the
client resources.
R e fe re n ce
Documentation & Tutorial :
 http://code.google.com/webtoolkit/
 http://code.google.com/webtoolkit/tutorials/1.6/ind

Libraries
 http://gwt-ext.com/
 http://extjs.com/products/gxt/
Showcase
 http://gwt.google.com/samples/Showcase/Showc
 http://www.gwt-ext.com/demo/#credits

You might also like