SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Andere mochten auch

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ø
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

"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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
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
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 

Kürzlich hochgeladen (20)

"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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
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
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 

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