SlideShare a Scribd company logo
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)
Asynchronous JavaScript and XML (AJAX) Server - side Client – 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
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=&quot;text/javascript&quot;> [...] xmlhttp.open(&quot;POST&quot;, url, true); xmlhttp.onreadystatechange = function(func) { if (xmlhttp.readyState == 4) { [...] } } xmlhttp.setRequestHeader('MessageType', 'CALL'); xmlhttp.setRequestHeader('Content-Type', 'text/xml'); </script> <body>[...]</body> </html> JAVA/eclipse javascript Hosted mode JVM IDE Compile to  JAVA bytecode Compile to Javascript
GWT: project structure 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
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/Showcase.html http://www.gwt-ext.com/demo/#credits

More Related Content

PPTX
Native web architcture
Rohit
 
PDF
GWT- Google Web Toolkit
Momentum Design Lab
 
PPTX
Gwt ppt
Monica Bubna
 
PPT
GWT: Our Experiences
Yenwen Feng
 
PPT
Google Web Toolkit (JUG Latvia)
Dmitry Buzdin
 
ODP
Building Ajax apps with the Google Web Toolkit
vivek_prahlad
 
PPTX
Jsp
JayaKamal
 
PDF
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
WebStackAcademy
 
Native web architcture
Rohit
 
GWT- Google Web Toolkit
Momentum Design Lab
 
Gwt ppt
Monica Bubna
 
GWT: Our Experiences
Yenwen Feng
 
Google Web Toolkit (JUG Latvia)
Dmitry Buzdin
 
Building Ajax apps with the Google Web Toolkit
vivek_prahlad
 
Web Component Development Using Servlet & JSP Technologies (EE6) - Chapter 1...
WebStackAcademy
 

What's hot (20)

PDF
RIA front-ends: Flex, GWT integration in Nuxeo
Nuxeo
 
PDF
In Pursuit of the Holy Grail: Building Isomorphic JavaScript Apps
Spike Brehm
 
PDF
Karlsruher Entwicklertag 2013 - Webanwendungen mit AngularJS
Philipp Burgmer
 
PDF
Isomorphic JavaScript with Nashorn
Maxime Najim
 
PPT
JAVA SCRIPT
Go4Guru
 
PDF
Building Isomorphic JavaScript Apps - NDC 2015
Eirik Vullum
 
PDF
Isomorphic JavaScript: #DevBeat Master Class
Spike Brehm
 
PDF
Application Architectures in Grails
Peter Ledbrook
 
PPTX
React october2017
David Greenfield
 
PDF
Lesson 09
Gene Babon
 
PDF
3rd Generation Web Application Platforms
Naresh Chintalcheru
 
PDF
Frost - W3C Mobile Ajax Workshop 2007
Rocco Georgi
 
PPTX
JavaScript Performance (at SFJS)
Steve Souders
 
PPTX
Single Page Application (SPA) using AngularJS
M R Rony
 
ODP
Front-end tools in java webapps
benfante
 
PPTX
J servlets
reddivarihareesh
 
PDF
Lesson 09
Gene Babon
 
PPTX
What is Mean Stack Development ?
Balajihope
 
PDF
MEAN Stack
Krishnaprasad k
 
PPTX
React js TRAINING IN BANGALORE
nearlearn
 
RIA front-ends: Flex, GWT integration in Nuxeo
Nuxeo
 
In Pursuit of the Holy Grail: Building Isomorphic JavaScript Apps
Spike Brehm
 
Karlsruher Entwicklertag 2013 - Webanwendungen mit AngularJS
Philipp Burgmer
 
Isomorphic JavaScript with Nashorn
Maxime Najim
 
JAVA SCRIPT
Go4Guru
 
Building Isomorphic JavaScript Apps - NDC 2015
Eirik Vullum
 
Isomorphic JavaScript: #DevBeat Master Class
Spike Brehm
 
Application Architectures in Grails
Peter Ledbrook
 
React october2017
David Greenfield
 
Lesson 09
Gene Babon
 
3rd Generation Web Application Platforms
Naresh Chintalcheru
 
Frost - W3C Mobile Ajax Workshop 2007
Rocco Georgi
 
JavaScript Performance (at SFJS)
Steve Souders
 
Single Page Application (SPA) using AngularJS
M R Rony
 
Front-end tools in java webapps
benfante
 
J servlets
reddivarihareesh
 
Lesson 09
Gene Babon
 
What is Mean Stack Development ?
Balajihope
 
MEAN Stack
Krishnaprasad k
 
React js TRAINING IN BANGALORE
nearlearn
 
Ad

Similar to Gwt Presentation1 (20)

PPTX
Gwt session
Ahmed Akl
 
PPTX
Gwt session
Mans Jug
 
PPT
Google Web Toolkit Introduction - eXo Platform SEA
nerazz08
 
PPT
Introduction to Google Web Toolkit
Didier Girard
 
PDF
Javascript as a target language - GWT KickOff - Part 2/2
JooinK
 
ODP
Google Web toolkit
Priyank Kapadia
 
PDF
Web polyglot programming
Dmitry Buzdin
 
PPT
GWT + Gears : The browser is the platform
Didier Girard
 
PPT
06 Javascript
Herman Tolle
 
PPT
GWT
Lorraine JUG
 
PDF
The Java alternative to Javascript
Manuel Carrasco Moñino
 
PDF
T 0230 Google Wave Powered By Gwt
supertoy2015
 
PPT
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
Fred Sauer
 
PDF
Google Web Toolkit
Software Park Thailand
 
PDF
GWT - Building Rich Internet Applications Using OO Tools
barciszewski
 
PPT
GWT Introduction for Eclipse Day
DNG Consulting
 
PPTX
GWT Basics
Emprovise
 
PDF
Mlocjs buzdin
Dmitry Buzdin
 
PPT
Programming Server side with Sevlet
backdoor
 
Gwt session
Ahmed Akl
 
Gwt session
Mans Jug
 
Google Web Toolkit Introduction - eXo Platform SEA
nerazz08
 
Introduction to Google Web Toolkit
Didier Girard
 
Javascript as a target language - GWT KickOff - Part 2/2
JooinK
 
Google Web toolkit
Priyank Kapadia
 
Web polyglot programming
Dmitry Buzdin
 
GWT + Gears : The browser is the platform
Didier Girard
 
06 Javascript
Herman Tolle
 
The Java alternative to Javascript
Manuel Carrasco Moñino
 
T 0230 Google Wave Powered By Gwt
supertoy2015
 
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
Fred Sauer
 
Google Web Toolkit
Software Park Thailand
 
GWT - Building Rich Internet Applications Using OO Tools
barciszewski
 
GWT Introduction for Eclipse Day
DNG Consulting
 
GWT Basics
Emprovise
 
Mlocjs buzdin
Dmitry Buzdin
 
Programming Server side with Sevlet
backdoor
 
Ad

Recently uploaded (20)

PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PDF
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PPTX
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Francisco Vieira Júnior
 
PPTX
C Programming Basics concept krnppt.pptx
Karan Prajapat
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PPTX
Smart Infrastructure and Automation through IoT Sensors
Rejig Digital
 
PDF
Software Development Company | KodekX
KodekX
 
PDF
Software Development Methodologies in 2025
KodekX
 
PDF
GYTPOL If You Give a Hacker a Host
linda296484
 
PDF
Make GenAI investments go further with the Dell AI Factory - Infographic
Principled Technologies
 
PDF
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
PDF
Doc9.....................................
SofiaCollazos
 
PPT
L2 Rules of Netiquette in Empowerment technology
Archibal2
 
PDF
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
PDF
CIFDAQ's Token Spotlight: SKY - A Forgotten Giant's Comeback?
CIFDAQ
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
Francisco Vieira Júnior
 
C Programming Basics concept krnppt.pptx
Karan Prajapat
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Smart Infrastructure and Automation through IoT Sensors
Rejig Digital
 
Software Development Company | KodekX
KodekX
 
Software Development Methodologies in 2025
KodekX
 
GYTPOL If You Give a Hacker a Host
linda296484
 
Make GenAI investments go further with the Dell AI Factory - Infographic
Principled Technologies
 
Advances in Ultra High Voltage (UHV) Transmission and Distribution Systems.pdf
Nabajyoti Banik
 
Doc9.....................................
SofiaCollazos
 
L2 Rules of Netiquette in Empowerment technology
Archibal2
 
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
CIFDAQ's Token Spotlight: SKY - A Forgotten Giant's Comeback?
CIFDAQ
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 

Gwt Presentation1

  • 1. GWT A 'new' way to program dynamic web applications - Usman - Pavan - Rajakumar
  • 2. Overview of AJAX development Problems with AJAX What is GWT ? Why GWT ? Sample application User Interface with GWT RPC Cons Agenda
  • 3. Classic web application model (synchronous)
  • 4. Ajax web application model (asynchronous)
  • 5. Asynchronous JavaScript and XML (AJAX) Server - side Client – 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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.
  • 12. 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
  • 13. Google Web Toolkit (GWT) @ deployment time @ development time <html> [...] <script type=&quot;text/javascript&quot;> [...] xmlhttp.open(&quot;POST&quot;, url, true); xmlhttp.onreadystatechange = function(func) { if (xmlhttp.readyState == 4) { [...] } } xmlhttp.setRequestHeader('MessageType', 'CALL'); xmlhttp.setRequestHeader('Content-Type', 'text/xml'); </script> <body>[...]</body> </html> JAVA/eclipse javascript Hosted mode JVM IDE Compile to JAVA bytecode Compile to Javascript
  • 14. GWT: project structure 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
  • 15. GWT Modules *.gwt.xml Jsp,Html, ... Entry point class (java class) Css , Images ,other xmls … External java script file
  • 17. 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 . .
  • 19. 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 .
  • 20. Corns of GWT ( Cont... ) The appearance of the application depends on the browser. Take long time to load and heavily uses the client resources.
  • 21. 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/Showcase.html http://www.gwt-ext.com/demo/#credits