gwt presentation1

Post on 22-Feb-2017

1.924 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

GWT A 'new' way to program dynamic web applications

- Usman- Pavan

- Rajakumar

Overview of AJAX development Problems with AJAX What is GWT ? Why GWT ? Sample application User Interface with GWT RPC Cons

Agenda

Classic web application model (synchronous)

Ajax web application model (asynchronous)

Server - sideClient – side

Javascript JAVA

+ no page transition, no blocking- No IDE- Debugging is difficult- weakly typed

+ eclipse: debugging, easy development- good IDE’s- Debugging is easy- strongly typed

Asynchronous JavaScript and XML (AJAX)

AJAX 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

Drawbacks 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

What is GWT ?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.

GWT Application Architecture

Modes of Running Gwt application

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

Google Web Toolkit (GWT)@ deployment time@ development time

<html>[...]<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');</script><body>[...]</body></html>

JAV

A/e

clip

se

java

scrip

t

Hosted modeJVMIDE

Com

pile

to J

AVA

byte

code

Compile toJavascript

GWT: project structurePackage 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

GWT Modules *.gwt.xml

Jsp,Html, ...

Entry point class (java class)

Css , Images ,other xmls …

External java script file

UI widget library

GWT-RPC

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 . .

RPC plumbing diagram

Corns of GWT 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 .

Corns of GWT ( Cont... ) The appearance of the application depends

on the browser. Take long time to load and heavily uses the

client resources.

Reference Documentation & Tutorial : http://code.google.com/webtoolkit/ http://code.google.com/webtoolkit/tutorials/1.6/

index.html Libraries http://gwt-ext.com/ http://extjs.com/products/gxt/ Showcase http://gwt.google.com/samples/Showcase/Sho

wcase.html http://www.gwt-ext.com/demo/#credits

top related