2.
What is GWT ?
Create responsive web application using Java
Create,Test, Debug application in Java
Simple/Rapid Development
AJAX-ification
Why GWT
One technology to rule.Java=Javascript
No more broswer specific code snippets.User friendly
compiler.Write Once Run anywhere
3. AJAX
What is AJAX( Asynchronous JavaScript and
XML)
Doing things in background.
Dynamic HTML(Responsive and reactive)
Client Side Processing
Smart Clients
Single page and multiple UI's.
5. Problem With JS
Type Checking,bug fixing,debugging.
Poor IDE support
Browser Portability
Speed
No history/BookMarks
Spaghetti code.No OO structure
No Documentation
SOS an AJAX ninja
6. GWT Features
All in Java(Faster Dev/Testing/Debugging/Refactor cycle)
Single CodeBase.Browser agnostic
Optimized and efficient Java-Javascript Compiler
Local Event handling and client side rendering logic.
Compile Time checks(Static Type Checking, Generics)
Dynamic HTML.Async AJAX
7. GWT Features(Cont.)
History,Bookmarking,Validation,MVP,Internationalization,
Junit
Reusable Widgets.Extensible and manageble
Deferred Binding.Code Generation
Dependency Injection
Under the Hood RPC
JSNI
Delarative Layout using XML. Panel based design
Component based design
8.
9. GWT dark side
Change in mindset.
Not everything from Java can be used in GWT.
Learning effort.
HTML CSS abstraction.Tough to visualize your UI
Looking London Talking Tokyo.
Firebug
In process of evolving.
Unit testing not mature.
Not many takers, hence not wide feature set
Disciplined approach to development
10. Concepts
Maven
MVP
Module
RPC
Dev Mode Production Mode Super Dev Mode
UiBinder.Dumb Views
GWT-bootstrap
Compiler is the core enging of the whoel GWT framework. It does the dirty job of converting the Java written classes to various javascript permutations. In order to achieve this comipler requires the source code and the bytecode for all the java classes that are to be used. Java code must be minimum 1.4 compatible. It supports generics at javascript level. Even tough the compiler ignore is while creating javascript still at the code level we can make compile time checks