SlideShare a Scribd company logo
1 of 30
LOHITH R
 Google  Web Toolkit (GWT) is an open
  source Java software development
  framework that makes writing AJAX
  based web applications easier.
 GWT was released on May 16, 2006
  at the JavaOne Conference.




LOHITH R         GOOGLE WEB TOOLKIT      2
Infrequent large updates          Frequent small updates


LOHITH R              GOOGLE WEB TOOLKIT                    3
Browsers are treated like HTML dumb

  terminals
 Everything is an HTTP round trip +
  history entry
 Every …page…is…so…sluggish…
 …and…disconnected…that…I…
 …keep…forgetting…where…I…am




LOHITH R         GOOGLE WEB TOOLKIT     4
Please do not use your browser’s Back

  button !!
 Don’t click submit button twice, Your
  credit card may be charged twice !!




LOHITH R          GOOGLE WEB TOOLKIT      5
Every User Action
              Stateless
                                                       Stateful
             HTML View
                                                       Server
              Browser
                             Total new HTML page




                             Remote procedure call
               Stateful
   Events
                                                       Stateless
             JavaScript UI
   handled
                                                        Server
   locally
               Browser
                             Data only, not HTML



LOHITH R                          GOOGLE WEB TOOLKIT               6
Provide smoother experience than

  conventional web pages
 No need to refresh the entire page
 Snippets of information are updated as
  necessary
 Technology behind interactive web sites
      Personalised Google Page, Gmail, Orkut,
           Myspace etc


LOHITH R                 GOOGLE WEB TOOLKIT      7
LOHITH R   GOOGLE WEB TOOLKIT   8
LOHITH R   GOOGLE WEB TOOLKIT   9
Browsers support Ajax methods in different

  ways: hard to get apps that work the same
  across all main browsers
 « Javascript PhD »
 Bugs (javascript is a dynamic language)
  Security

 Poor planned investment leads to
Consequences for long time.


LOHITH R               GOOGLE WEB TOOLKIT      10
Build Ajax apps with Java technology

 What makes GWT interesting ?
 GWT is not equal to applets
 GWT is much more than a compiler




LOHITH R          GOOGLE WEB TOOLKIT     11
GWT should help to code stable, efficient and

     cross-browser applications
     GWT should be friendly for developers

      Compatible with IDE, support
       debugging, refactoring, strong typing…
     The based line : « First the user, second the

     developer »




LOHITH R                  GOOGLE WEB TOOLKIT         12
Code in java

 Compile the java to Javascript




LOHITH R           GOOGLE WEB TOOLKIT   13
LOHITH R   GOOGLE WEB TOOLKIT   14
LOHITH R   GOOGLE WEB TOOLKIT   15
public class Hello implements EntryPoint {

    public void onModuleLoad() {
      // define a Button to add
      Button b = new Button(
           “Say Helloquot;, new ClickListener()
       {
         public void onClick(Widget sender) {
           Window.alert(quot;Hello World!quot;);
         }
      });
       // add the Button
       // get is a static method of class RootPanel
      RootPanel.get(quot;hiquot;).add(b);
    }
}


LOHITH R                GOOGLE WEB TOOLKIT            16
LOHITH R   GOOGLE WEB TOOLKIT   17
Be productive with your choice of

  development tools –
  Refactoring, debugging
 Communicate with your server through
  really simple RPC
 Use other JavaScript libraries and native
  JavaScript code



LOHITH R           GOOGLE WEB TOOLKIT         18
LOHITH R   GOOGLE WEB TOOLKIT   19
Optimize the JavaScript script downloads
    based on user profile

Firefox    FF_EN            FF_FR           FF_ZH

 Opera     OP_EN           OP_FR           OP_ZH

 Safari    SF_EN            SF_FR          SF_ZH

     IE6   IE_EN            IE_FR           IE_ZH

           English         French         Chinese

LOHITH R             GOOGLE WEB TOOLKIT             20
Enable applications for international usage

     Enable localization of applications through

     Resource Separation
     Externalize localizable resource and later bind

     them for serving.
     Handles three I18n Barriers

    Another Language – FIGS
    (French, Italian, German, Spanish)
    More Characters – CJK (中文, 日本語, 한국어)
    Right Direction – BiDi (Bidirectional Languages as
    Arabic and Hebrew)

LOHITH R                 GOOGLE WEB TOOLKIT               21
ImageBundle, kind of database for

     images
     From 12 requests to 1 request…

     Introducted in GWT 1.4





LOHITH R               GOOGLE WEB TOOLKIT   22
LOHITH R   GOOGLE WEB TOOLKIT   23
LOHITH R   GOOGLE WEB TOOLKIT   24
Easily support the browser's back button

  and history
 Localize applications efficiently
 Test your code with Junit
 Extend or contribute - Google Web
  Toolkit is open source software




LOHITH R           GOOGLE WEB TOOLKIT        25
Reuse UI components across projects

     GWT is supported by all the java IDE :

     Eclipse, NetBeans, IntelliJ
     IDEA, JDeveloper,…
     No JavaScript syntax errors

     Can use complex Java on the client

     Hosted mode browser

     GWT server could be stateless

     Security

     Brings software engineering to AJAX


LOHITH R               GOOGLE WEB TOOLKIT     26
May loose some benefits of JavaScript

  and XML.
 For very small applications JavaScript
  native applications may run faster. GWT
  may be overkill.
 Currently GWT is only for Java
  developers.



LOHITH R          GOOGLE WEB TOOLKIT        27
It is 5 times faster to build a GWT

     application
      Refactoring
      Debugging
      Stateless server
      Cross-browsers
      I18N
      Hosted mode



LOHITH R                  GOOGLE WEB TOOLKIT   28
GWT 1.6

 New Project Structure
 Hosted Mode Enhancements
 New EventHandler System
 New Widgets DatePicker, DateBox
 LazyPanel improves startup
  performance



LOHITH R         GOOGLE WEB TOOLKIT   29
LOHITH R   GOOGLE WEB TOOLKIT   30

More Related Content

Viewers also liked

Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkitchris be
 
Google Products & Google Maps
Google Products & Google MapsGoogle Products & Google Maps
Google Products & Google MapsPamela Fox
 
Google powerpoint
Google powerpoint Google powerpoint
Google powerpoint Papakanakis
 
Presentation on-google
Presentation on-googlePresentation on-google
Presentation on-googleGurjit
 
Google Maps Presentation
Google Maps PresentationGoogle Maps Presentation
Google Maps PresentationDavid Kamerer
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome EconomyHelge Tennø
 

Viewers also liked (8)

Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Google Products & Google Maps
Google Products & Google MapsGoogle Products & Google Maps
Google Products & Google Maps
 
Google powerpoint
Google powerpoint Google powerpoint
Google powerpoint
 
Presentation on-google
Presentation on-googlePresentation on-google
Presentation on-google
 
Google Ppt
Google PptGoogle Ppt
Google Ppt
 
Google Maps Presentation
Google Maps PresentationGoogle Maps Presentation
Google Maps Presentation
 
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job? Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
Succession “Losers”: What Happens to Executives Passed Over for the CEO Job?
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome Economy
 

Similar to Google Web Toolkit

Rapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTRapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTManuel Carrasco Moñino
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web ToolkitDidier Girard
 
GWT - Building Rich Internet Applications Using OO Tools
GWT - Building Rich Internet Applications Using OO ToolsGWT - Building Rich Internet Applications Using OO Tools
GWT - Building Rich Internet Applications Using OO Toolsbarciszewski
 
GWT + Gears : The browser is the platform
GWT + Gears : The browser is the platformGWT + Gears : The browser is the platform
GWT + Gears : The browser is the platformDidier Girard
 
Cross-platform Desktop application with AngularJS and build with Node-webkit
Cross-platform Desktop application with AngularJS and build with Node-webkitCross-platform Desktop application with AngularJS and build with Node-webkit
Cross-platform Desktop application with AngularJS and build with Node-webkitWittawas Wisarnkanchana
 
Hybridmobileapps 130130213844-phpapp02
Hybridmobileapps 130130213844-phpapp02Hybridmobileapps 130130213844-phpapp02
Hybridmobileapps 130130213844-phpapp02weeyee
 
Learn to Internationalize your Applications - Sun Tech Days 2009
Learn to Internationalize your Applications - Sun Tech Days 2009Learn to Internationalize your Applications - Sun Tech Days 2009
Learn to Internationalize your Applications - Sun Tech Days 2009Shankar Gowda
 
Learn to Internationalize your Applications - Sun Tech Days 2009
Learn to Internationalize your Applications - Sun Tech Days 2009Learn to Internationalize your Applications - Sun Tech Days 2009
Learn to Internationalize your Applications - Sun Tech Days 2009shankar_mbn
 
Learn to Internationalize your Applications - Sun Tech Days 2009
Learn to Internationalize your Applications - Sun Tech Days 2009Learn to Internationalize your Applications - Sun Tech Days 2009
Learn to Internationalize your Applications - Sun Tech Days 2009Shankar Gowda
 
Learn to Internationalize your Application
Learn to Internationalize your ApplicationLearn to Internationalize your Application
Learn to Internationalize your Applicationshankar_mbn
 
Integrating Google APIs into Your Applications
Integrating Google APIs into Your ApplicationsIntegrating Google APIs into Your Applications
Integrating Google APIs into Your ApplicationsChris Schalk
 
Gerrit JavaScript Plugins
Gerrit JavaScript PluginsGerrit JavaScript Plugins
Gerrit JavaScript PluginsDariusz Łuksza
 
Introduction to Google Web Toolkit - part 1
Introduction to Google Web Toolkit - part 1Introduction to Google Web Toolkit - part 1
Introduction to Google Web Toolkit - part 1Muhammad Ghazali
 
Open Social Summit Korea Overview
Open Social Summit Korea OverviewOpen Social Summit Korea Overview
Open Social Summit Korea OverviewChris Schalk
 
Building Rich Internet Applications Using Google Web Toolkit
Building Rich Internet Applications Using  Google Web ToolkitBuilding Rich Internet Applications Using  Google Web Toolkit
Building Rich Internet Applications Using Google Web Toolkitrajivmordani
 
Vaadin intro at GWT.create conference
Vaadin intro at GWT.create conferenceVaadin intro at GWT.create conference
Vaadin intro at GWT.create conferenceJoonas Lehtinen
 
Devfest09 Cschalk Gwt
Devfest09 Cschalk GwtDevfest09 Cschalk Gwt
Devfest09 Cschalk GwtChris Schalk
 

Similar to Google Web Toolkit (20)

Rapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTRapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWT
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web Toolkit
 
GWT - Building Rich Internet Applications Using OO Tools
GWT - Building Rich Internet Applications Using OO ToolsGWT - Building Rich Internet Applications Using OO Tools
GWT - Building Rich Internet Applications Using OO Tools
 
GWT + Gears : The browser is the platform
GWT + Gears : The browser is the platformGWT + Gears : The browser is the platform
GWT + Gears : The browser is the platform
 
Cross-platform Desktop application with AngularJS and build with Node-webkit
Cross-platform Desktop application with AngularJS and build with Node-webkitCross-platform Desktop application with AngularJS and build with Node-webkit
Cross-platform Desktop application with AngularJS and build with Node-webkit
 
Hybridmobileapps 130130213844-phpapp02
Hybridmobileapps 130130213844-phpapp02Hybridmobileapps 130130213844-phpapp02
Hybridmobileapps 130130213844-phpapp02
 
Learn to Internationalize your Applications - Sun Tech Days 2009
Learn to Internationalize your Applications - Sun Tech Days 2009Learn to Internationalize your Applications - Sun Tech Days 2009
Learn to Internationalize your Applications - Sun Tech Days 2009
 
Learn to Internationalize your Applications - Sun Tech Days 2009
Learn to Internationalize your Applications - Sun Tech Days 2009Learn to Internationalize your Applications - Sun Tech Days 2009
Learn to Internationalize your Applications - Sun Tech Days 2009
 
Learn to Internationalize your Applications - Sun Tech Days 2009
Learn to Internationalize your Applications - Sun Tech Days 2009Learn to Internationalize your Applications - Sun Tech Days 2009
Learn to Internationalize your Applications - Sun Tech Days 2009
 
Learn to Internationalize your Application
Learn to Internationalize your ApplicationLearn to Internationalize your Application
Learn to Internationalize your Application
 
Hybrid mobile apps
Hybrid mobile appsHybrid mobile apps
Hybrid mobile apps
 
Ilog Ria2
Ilog Ria2Ilog Ria2
Ilog Ria2
 
Integrating Google APIs into Your Applications
Integrating Google APIs into Your ApplicationsIntegrating Google APIs into Your Applications
Integrating Google APIs into Your Applications
 
Gerrit JavaScript Plugins
Gerrit JavaScript PluginsGerrit JavaScript Plugins
Gerrit JavaScript Plugins
 
Introduction to Google Web Toolkit - part 1
Introduction to Google Web Toolkit - part 1Introduction to Google Web Toolkit - part 1
Introduction to Google Web Toolkit - part 1
 
Open Social Summit Korea Overview
Open Social Summit Korea OverviewOpen Social Summit Korea Overview
Open Social Summit Korea Overview
 
Building Rich Internet Applications Using Google Web Toolkit
Building Rich Internet Applications Using  Google Web ToolkitBuilding Rich Internet Applications Using  Google Web Toolkit
Building Rich Internet Applications Using Google Web Toolkit
 
Vaadin intro at GWT.create conference
Vaadin intro at GWT.create conferenceVaadin intro at GWT.create conference
Vaadin intro at GWT.create conference
 
GWT Architectures and Lessons Learned (WJAX 2013)
GWT Architectures and Lessons Learned (WJAX 2013)GWT Architectures and Lessons Learned (WJAX 2013)
GWT Architectures and Lessons Learned (WJAX 2013)
 
Devfest09 Cschalk Gwt
Devfest09 Cschalk GwtDevfest09 Cschalk Gwt
Devfest09 Cschalk Gwt
 

Recently uploaded

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Recently uploaded (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 

Google Web Toolkit

  • 2.  Google Web Toolkit (GWT) is an open source Java software development framework that makes writing AJAX based web applications easier.  GWT was released on May 16, 2006 at the JavaOne Conference. LOHITH R GOOGLE WEB TOOLKIT 2
  • 3. Infrequent large updates Frequent small updates LOHITH R GOOGLE WEB TOOLKIT 3
  • 4. Browsers are treated like HTML dumb  terminals  Everything is an HTTP round trip + history entry  Every …page…is…so…sluggish…  …and…disconnected…that…I…  …keep…forgetting…where…I…am LOHITH R GOOGLE WEB TOOLKIT 4
  • 5. Please do not use your browser’s Back  button !!  Don’t click submit button twice, Your credit card may be charged twice !! LOHITH R GOOGLE WEB TOOLKIT 5
  • 6. Every User Action Stateless Stateful HTML View Server Browser Total new HTML page Remote procedure call Stateful Events Stateless JavaScript UI handled Server locally Browser Data only, not HTML LOHITH R GOOGLE WEB TOOLKIT 6
  • 7. Provide smoother experience than  conventional web pages  No need to refresh the entire page  Snippets of information are updated as necessary  Technology behind interactive web sites  Personalised Google Page, Gmail, Orkut, Myspace etc LOHITH R GOOGLE WEB TOOLKIT 7
  • 8. LOHITH R GOOGLE WEB TOOLKIT 8
  • 9. LOHITH R GOOGLE WEB TOOLKIT 9
  • 10. Browsers support Ajax methods in different  ways: hard to get apps that work the same across all main browsers  « Javascript PhD »  Bugs (javascript is a dynamic language) Security   Poor planned investment leads to Consequences for long time. LOHITH R GOOGLE WEB TOOLKIT 10
  • 11. Build Ajax apps with Java technology   What makes GWT interesting ?  GWT is not equal to applets  GWT is much more than a compiler LOHITH R GOOGLE WEB TOOLKIT 11
  • 12. GWT should help to code stable, efficient and  cross-browser applications GWT should be friendly for developers   Compatible with IDE, support debugging, refactoring, strong typing… The based line : « First the user, second the  developer » LOHITH R GOOGLE WEB TOOLKIT 12
  • 13. Code in java   Compile the java to Javascript LOHITH R GOOGLE WEB TOOLKIT 13
  • 14. LOHITH R GOOGLE WEB TOOLKIT 14
  • 15. LOHITH R GOOGLE WEB TOOLKIT 15
  • 16. public class Hello implements EntryPoint { public void onModuleLoad() { // define a Button to add Button b = new Button( “Say Helloquot;, new ClickListener() { public void onClick(Widget sender) { Window.alert(quot;Hello World!quot;); } }); // add the Button // get is a static method of class RootPanel RootPanel.get(quot;hiquot;).add(b); } } LOHITH R GOOGLE WEB TOOLKIT 16
  • 17. LOHITH R GOOGLE WEB TOOLKIT 17
  • 18. Be productive with your choice of  development tools – Refactoring, debugging  Communicate with your server through really simple RPC  Use other JavaScript libraries and native JavaScript code LOHITH R GOOGLE WEB TOOLKIT 18
  • 19. LOHITH R GOOGLE WEB TOOLKIT 19
  • 20. Optimize the JavaScript script downloads based on user profile Firefox FF_EN FF_FR FF_ZH Opera OP_EN OP_FR OP_ZH Safari SF_EN SF_FR SF_ZH IE6 IE_EN IE_FR IE_ZH English French Chinese LOHITH R GOOGLE WEB TOOLKIT 20
  • 21. Enable applications for international usage  Enable localization of applications through  Resource Separation Externalize localizable resource and later bind  them for serving. Handles three I18n Barriers  Another Language – FIGS (French, Italian, German, Spanish) More Characters – CJK (中文, 日本語, 한국어) Right Direction – BiDi (Bidirectional Languages as Arabic and Hebrew) LOHITH R GOOGLE WEB TOOLKIT 21
  • 22. ImageBundle, kind of database for  images From 12 requests to 1 request…  Introducted in GWT 1.4  LOHITH R GOOGLE WEB TOOLKIT 22
  • 23. LOHITH R GOOGLE WEB TOOLKIT 23
  • 24. LOHITH R GOOGLE WEB TOOLKIT 24
  • 25. Easily support the browser's back button  and history  Localize applications efficiently  Test your code with Junit  Extend or contribute - Google Web Toolkit is open source software LOHITH R GOOGLE WEB TOOLKIT 25
  • 26. Reuse UI components across projects  GWT is supported by all the java IDE :  Eclipse, NetBeans, IntelliJ IDEA, JDeveloper,… No JavaScript syntax errors  Can use complex Java on the client  Hosted mode browser  GWT server could be stateless  Security  Brings software engineering to AJAX  LOHITH R GOOGLE WEB TOOLKIT 26
  • 27. May loose some benefits of JavaScript  and XML.  For very small applications JavaScript native applications may run faster. GWT may be overkill.  Currently GWT is only for Java developers. LOHITH R GOOGLE WEB TOOLKIT 27
  • 28. It is 5 times faster to build a GWT  application  Refactoring  Debugging  Stateless server  Cross-browsers  I18N  Hosted mode LOHITH R GOOGLE WEB TOOLKIT 28
  • 29. GWT 1.6   New Project Structure  Hosted Mode Enhancements  New EventHandler System  New Widgets DatePicker, DateBox  LazyPanel improves startup performance LOHITH R GOOGLE WEB TOOLKIT 29
  • 30. LOHITH R GOOGLE WEB TOOLKIT 30