Your new desktop: Web 2.0

Preview:

DESCRIPTION

Your new desktop: Web 2.0. Google Web Toolkit server side java libraries that emit javascript and html. Google Desktop Gadgets. Gmail. GWT. An open source Java software development framework. Front-end (client) code is written in Java and compiled to JavaScript and HTML. - PowerPoint PPT Presentation

Citation preview

1

Your new desktop: Web 2.0

Google Web Toolkit server side java libraries that

emit javascript and html

Google Desktop Gadgets

Gmail

GWT

• An open source Java software development framework.

• Front-end (client) code is written in Java and compiled to JavaScript and HTML.

• Back-end (server) Java code is compiled to servlets.

JavaScript

HTMLClient Java Code GWT Compiler

Java ServletServer Java Code Java Compiler

Example

Dynamic UI Support

• com.google.gwt.user.client.ui• Source code: similar to Swing and SWT• DOM, dynamic HTML will be manipulated

through JavaScript generated from GWT Java code

class com.google.gwt.user.client.ui.FlexTable setText(0, 0, “Amelie”) <table> <tr> <td>Amelie</td> … </tr> … </table>

Amelie 2001 Jean-Pierre Jeunet

Eurotrip

2004 Jeff Schaffer

RPC

Remote Procedure Call

public interface MovieService extends RemoteService {Movie[] getMovies(int start, int count);Movie getMovie(String id);

}

public interface MovieServiceAsync { void getMovies(int start, int count, AsyncCallback callback); void getMovie(String id, AsyncCallback callback);}

MovieList

MovieServiceAsync

MovieService

MovieServiceImp

Calls

Implements

Client side Server side

Two modes

• Hosted mode– Client side: Google hosted browser –

interprets Java code– Server side: embedded Tomcat Server –

Servlet classes (uses Java compiler)

• Web mode– Client side: web browser (i.e., Firefox) –

JavaScript and HTML (uses Java2JS compiler)– Server side: Tomcat Server – Servlet classes

(uses Java compiler)

Using Servlet Objects

class com.google.gwt.user.server.rpc.RemoteServiceServlet {protected final HttpServletRequest getThreadLocalRequest()protected final HttpServletResponse getThreadLocalResponse()

}

e.g. using Servlet Session ObjectsHttpServletRequest request = getThreadLocalRequest();HttpSession session = request.getSession();

Recommended