SlideShare a Scribd company logo
1 of 31
Download to read offline
Introduction to Google Web Toolkit
                  part-1
Muhammad “Ghanoz” Ghazali
                                1

JUG Bandung board member
Who am I?
●   Muhammad Ghazali a.k.a. Ghanoz
●   JUG Bandung board member
●   Mahasiswa “tingkat akhir” Teknik Informatika
    Universitas Widyatama
●   Ketua himpunan mahasiswa teknik informatika
    Universitas Widyatama
●   OSUM leader Universitas Widyatama


                                                   2
GWT
(Google Web Toolkit)



                       3
Agenda
➔   What is GWT
➔   Why GWT
➔   GWT can do what
➔   Development Workflow
➔   Major GWT components
➔   GWT app run mode
➔   Available widgets
➔   GWT plugins for IDEs
➔   Getting Started
                                    4
➔   Resources
What is GWT

              5
Apa itu GWT
●   Web app framework
●   toolkit for building and optimizing complex
    browser-based applications




                                                  6
Why GWT

          7
Why GWT
➔   GWT handles all cross-browser issues for the
    developer.
➔   Optimize the JavaScript script downloads based on
    user profile
➔   Google Web Toolkit is open source software




                                                        8
GWT can do what

                  9
GWT can do what
➔   Help you to create an ajax-based web app using Java
➔   Avoid you to write a JavaScript code to create a cool web
    app
➔   Give web app the feel of dektop app




                                                                10
Development workflow

                       11
Development workflow
➔   Edit Java code, then view changes immediately without re-
    compiling
➔   Step through live AJAX code with your Java debugger
➔   Compile and deploy optimized, cross-browser JavaScript




                                                                12
Major GWT components


                   13
Major GWT components
➔   GWT Java-to-JavaScript Compiler
    Java → JavaScript
➔   GWT Hosted Web Browser
    run and execute app in hosted mode, commonly used for
    debugging
➔   JRE emulation library
    JavaScript implementations of the commonly used classes in
    the Java standard class library
➔   GWT Web UI class library
                                                                   14
    A set of custom interfaces and classes for creating widgets.
GWT app run mode

                   15
GWT app run mode
●   Hosted mode
    Run as Java bytecode (within JVM). Used for development,
    supporting hot swapping of code and debugging.
●   Web mode
    The app run as pure JavaScript and HTML. Used for
    deployment.




                                                           16
Available widgets

                    17
Available widgets
●   HTML primitives (Button, Radio Button, Checkbox,
    TextBox, PasswordTextBox, TextArea, Hyperlink, ListBox,
    Table etc.)
●   PushButton, ToggleButton
●   MenuBar
●   Tree
●   TabBar
●   DialogBox
●


                                                          18
Available widgets
●   Panels (PopupPanel, StackPanel, HorizontalPanel,
    VerticalPanel, FlowPanel, VerticalSplitPanel,
    HorizontalSplitPanel, DockPanel, TabPanel,
    DisclosurePanel)
●   RichTextArea
●   SuggestBox (auto-complete)




                                                       19
Available widgets




                    20
Available widgets




                    21
GWT plugin for IDEs

                      22
GWT plugin for IDEs
●   GWT4NB for NetBeans
    https://gwt4nb.dev.java.net/
●    Cypal Studio for GWT
    http://code.google.com/p/cypal-studio/
●   Eclipse
    http://code.google.com/eclipse/




                                             23
Getting Started

                  24
Getting started
●   Download GWT:
    http://code.google.com/webtoolkit/download.html
●   GWT starting guide
    http://code.google.com/webtoolkit/documentation/
●   GWT tutorial
    http://code.google.com/webtoolkit/doc/latest/tutorial/
●   GWT FAQs
    http://code.google.com/support/bin/topic.py?topic=10034
                                                              25
Resources

            26
Resource
●   GWT homepage
    http://code.google.com/webtoolkit/
●   GWT starting guide
    http://code.google.com/webtoolkit/documentation/
●   GWT FAQs
    http://code.google.com/support/bin/topic.py?topic=10034
●   GWT official Blog
    http://googlewebtoolkit.blogspot.com/
                                                              27
Resource
●   GWT application examples
    http://code.google.com/webtoolkit/examples/
●   GWT 2.0 Developers Guide
    http://code.google.com/webtoolkit/doc/latest/DevGuide.html
●   Coding Basic
    http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasics.html
●   GWT official tutorial:
    http://code.google.com/webtoolkit/doc/latest/tutorial/
                                                                             28
Questions?

             29
Let's keep in touch...
Blog: http://muhammadghazali.web.id/blog
Facebook: Muhammad Ghanoz Ghazali
Twitter: @muhghazali
Plurk: http://plurk.com/muhammadghazali
GoogleTalk: muhammadghazali2480
e-mail:
             ●   muhammadghazali@netbeans.org



                                                30
Thank You
    :)

            31

More Related Content

What's hot

Vagrant and puppet: Deployment made easy
Vagrant and puppet: Deployment made easyVagrant and puppet: Deployment made easy
Vagrant and puppet: Deployment made easyGeronimo Orozco
 
BreizhBeans - Web components
BreizhBeans - Web componentsBreizhBeans - Web components
BreizhBeans - Web componentsHoracio Gonzalez
 
Push notifications on Google Chrome
Push notifications on Google ChromePush notifications on Google Chrome
Push notifications on Google ChromeGbolahan Alli
 
Drupal + composer = new love !?
Drupal + composer = new love !?Drupal + composer = new love !?
Drupal + composer = new love !?nuppla
 
Configure python and wsgi
Configure python and wsgiConfigure python and wsgi
Configure python and wsgiSitthykun LY
 
【初心者歓迎】Gitハンズオンセミナー 導入編
【初心者歓迎】Gitハンズオンセミナー 導入編【初心者歓迎】Gitハンズオンセミナー 導入編
【初心者歓迎】Gitハンズオンセミナー 導入編Beluga
 
Efficient development workflows with composer
Efficient development workflows with composerEfficient development workflows with composer
Efficient development workflows with composernuppla
 
Building a Company atop of Open Source
Building a Company atop of Open SourceBuilding a Company atop of Open Source
Building a Company atop of Open SourceAnoop Thomas Mathew
 
Commit on day one thanks to vagrant & puppet!
Commit on day one thanks to vagrant & puppet!Commit on day one thanks to vagrant & puppet!
Commit on day one thanks to vagrant & puppet!Jakub Holy
 
[Srijan Wednesday Webinars] Breaking Limitations using Drupal 8
[Srijan Wednesday Webinars] Breaking Limitations using Drupal 8[Srijan Wednesday Webinars] Breaking Limitations using Drupal 8
[Srijan Wednesday Webinars] Breaking Limitations using Drupal 8Srijan Technologies
 
Efficient development workflows with composer
Efficient development workflows with composerEfficient development workflows with composer
Efficient development workflows with composernuppla
 
Vagrant & CFEngine - LOPSA East 2013
Vagrant & CFEngine - LOPSA East 2013Vagrant & CFEngine - LOPSA East 2013
Vagrant & CFEngine - LOPSA East 2013Nick Anderson
 
apidays LIVE Hong Kong - Let's get started development of API client library ...
apidays LIVE Hong Kong - Let's get started development of API client library ...apidays LIVE Hong Kong - Let's get started development of API client library ...
apidays LIVE Hong Kong - Let's get started development of API client library ...apidays
 
Grunt JS - Getting Started With Grunt
Grunt JS - Getting Started With GruntGrunt JS - Getting Started With Grunt
Grunt JS - Getting Started With GruntDouglas Reynolds
 
JLayout for extension developers
JLayout for extension developersJLayout for extension developers
JLayout for extension developersRoberto Segura
 
jQuery #OpenExpoDay 2014
jQuery #OpenExpoDay 2014jQuery #OpenExpoDay 2014
jQuery #OpenExpoDay 2014OpenExpoES
 
Android best practices 2015
Android best practices 2015Android best practices 2015
Android best practices 2015Sean Katz
 

What's hot (20)

Vagrant and puppet: Deployment made easy
Vagrant and puppet: Deployment made easyVagrant and puppet: Deployment made easy
Vagrant and puppet: Deployment made easy
 
BreizhBeans - Web components
BreizhBeans - Web componentsBreizhBeans - Web components
BreizhBeans - Web components
 
Push notifications on Google Chrome
Push notifications on Google ChromePush notifications on Google Chrome
Push notifications on Google Chrome
 
Google web toolkit
Google web toolkitGoogle web toolkit
Google web toolkit
 
Drupal + composer = new love !?
Drupal + composer = new love !?Drupal + composer = new love !?
Drupal + composer = new love !?
 
Android Made Simple
Android Made SimpleAndroid Made Simple
Android Made Simple
 
Configure python and wsgi
Configure python and wsgiConfigure python and wsgi
Configure python and wsgi
 
【初心者歓迎】Gitハンズオンセミナー 導入編
【初心者歓迎】Gitハンズオンセミナー 導入編【初心者歓迎】Gitハンズオンセミナー 導入編
【初心者歓迎】Gitハンズオンセミナー 導入編
 
Efficient development workflows with composer
Efficient development workflows with composerEfficient development workflows with composer
Efficient development workflows with composer
 
Building a Company atop of Open Source
Building a Company atop of Open SourceBuilding a Company atop of Open Source
Building a Company atop of Open Source
 
Commit on day one thanks to vagrant & puppet!
Commit on day one thanks to vagrant & puppet!Commit on day one thanks to vagrant & puppet!
Commit on day one thanks to vagrant & puppet!
 
[Srijan Wednesday Webinars] Breaking Limitations using Drupal 8
[Srijan Wednesday Webinars] Breaking Limitations using Drupal 8[Srijan Wednesday Webinars] Breaking Limitations using Drupal 8
[Srijan Wednesday Webinars] Breaking Limitations using Drupal 8
 
Efficient development workflows with composer
Efficient development workflows with composerEfficient development workflows with composer
Efficient development workflows with composer
 
Vagrant & CFEngine - LOPSA East 2013
Vagrant & CFEngine - LOPSA East 2013Vagrant & CFEngine - LOPSA East 2013
Vagrant & CFEngine - LOPSA East 2013
 
apidays LIVE Hong Kong - Let's get started development of API client library ...
apidays LIVE Hong Kong - Let's get started development of API client library ...apidays LIVE Hong Kong - Let's get started development of API client library ...
apidays LIVE Hong Kong - Let's get started development of API client library ...
 
Grunt JS - Getting Started With Grunt
Grunt JS - Getting Started With GruntGrunt JS - Getting Started With Grunt
Grunt JS - Getting Started With Grunt
 
Gwt Presentation
Gwt PresentationGwt Presentation
Gwt Presentation
 
JLayout for extension developers
JLayout for extension developersJLayout for extension developers
JLayout for extension developers
 
jQuery #OpenExpoDay 2014
jQuery #OpenExpoDay 2014jQuery #OpenExpoDay 2014
jQuery #OpenExpoDay 2014
 
Android best practices 2015
Android best practices 2015Android best practices 2015
Android best practices 2015
 

Similar to Introduction to Google Web Toolkit part-1

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 training presentation
Gwt training presentationGwt training presentation
Gwt training presentationMUFIX Community
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web ToolkitDidier Girard
 
Google web toolkit ( Gwt )
 Google web toolkit ( Gwt ) Google web toolkit ( Gwt )
Google web toolkit ( Gwt )Pankaj Bhasker
 
Gerrit JavaScript Plugins
Gerrit JavaScript PluginsGerrit JavaScript Plugins
Gerrit JavaScript PluginsDariusz Łuksza
 
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
 
Headless browser: puppeteer and git client : GitKraken
Headless browser: puppeteer and git client : GitKrakenHeadless browser: puppeteer and git client : GitKraken
Headless browser: puppeteer and git client : GitKrakenSheikhMoonwaraAnjumM
 
How to start with Google Web Toolkit
How to start with Google Web ToolkitHow to start with Google Web Toolkit
How to start with Google Web ToolkitAlline Oliveira
 
Update on the open source browser space (16th GENIVI AMM)
Update on the open source browser space (16th GENIVI AMM)Update on the open source browser space (16th GENIVI AMM)
Update on the open source browser space (16th GENIVI AMM)Igalia
 
GWT 2.0 - December 15 2009
GWT 2.0 - December 15 2009GWT 2.0 - December 15 2009
GWT 2.0 - December 15 2009sullis
 
GeoServer Developers Workshop
GeoServer Developers WorkshopGeoServer Developers Workshop
GeoServer Developers WorkshopJody Garnett
 
Twitter Bootstrap for web UI development
Twitter Bootstrap for web UI development Twitter Bootstrap for web UI development
Twitter Bootstrap for web UI development Infinity Levels Studio
 
Volunteering at YouSee on Technology Support
Volunteering at YouSee on Technology SupportVolunteering at YouSee on Technology Support
Volunteering at YouSee on Technology SupportYouSee
 
GWT HJUG Presentation
GWT HJUG PresentationGWT HJUG Presentation
GWT HJUG PresentationDerrick Bowen
 
Hybridmobileapps 130130213844-phpapp02
Hybridmobileapps 130130213844-phpapp02Hybridmobileapps 130130213844-phpapp02
Hybridmobileapps 130130213844-phpapp02weeyee
 
GWT 2.0 - OSCON 2010
GWT 2.0 - OSCON 2010GWT 2.0 - OSCON 2010
GWT 2.0 - OSCON 2010sullis
 

Similar to Introduction to Google Web Toolkit part-1 (20)

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-pushstate
gwt-pushstategwt-pushstate
gwt-pushstate
 
Gwt training presentation
Gwt training presentationGwt training presentation
Gwt training presentation
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web Toolkit
 
Google web toolkit ( Gwt )
 Google web toolkit ( Gwt ) Google web toolkit ( Gwt )
Google web toolkit ( Gwt )
 
Gerrit JavaScript Plugins
Gerrit JavaScript PluginsGerrit JavaScript Plugins
Gerrit JavaScript Plugins
 
Vaadin Jump Start
Vaadin Jump StartVaadin Jump Start
Vaadin Jump Start
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
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
 
Headless browser: puppeteer and git client : GitKraken
Headless browser: puppeteer and git client : GitKrakenHeadless browser: puppeteer and git client : GitKraken
Headless browser: puppeteer and git client : GitKraken
 
How to start with Google Web Toolkit
How to start with Google Web ToolkitHow to start with Google Web Toolkit
How to start with Google Web Toolkit
 
GWT_Framework
GWT_FrameworkGWT_Framework
GWT_Framework
 
Update on the open source browser space (16th GENIVI AMM)
Update on the open source browser space (16th GENIVI AMM)Update on the open source browser space (16th GENIVI AMM)
Update on the open source browser space (16th GENIVI AMM)
 
GWT 2.0 - December 15 2009
GWT 2.0 - December 15 2009GWT 2.0 - December 15 2009
GWT 2.0 - December 15 2009
 
GeoServer Developers Workshop
GeoServer Developers WorkshopGeoServer Developers Workshop
GeoServer Developers Workshop
 
Twitter Bootstrap for web UI development
Twitter Bootstrap for web UI development Twitter Bootstrap for web UI development
Twitter Bootstrap for web UI development
 
Volunteering at YouSee on Technology Support
Volunteering at YouSee on Technology SupportVolunteering at YouSee on Technology Support
Volunteering at YouSee on Technology Support
 
GWT HJUG Presentation
GWT HJUG PresentationGWT HJUG Presentation
GWT HJUG Presentation
 
Hybridmobileapps 130130213844-phpapp02
Hybridmobileapps 130130213844-phpapp02Hybridmobileapps 130130213844-phpapp02
Hybridmobileapps 130130213844-phpapp02
 
GWT 2.0 - OSCON 2010
GWT 2.0 - OSCON 2010GWT 2.0 - OSCON 2010
GWT 2.0 - OSCON 2010
 

Recently uploaded

costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
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
 
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
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
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
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
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
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
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
 

Recently uploaded (20)

costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
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
 
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...
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
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
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
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!
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
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
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
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?
 

Introduction to Google Web Toolkit part-1

  • 1. Introduction to Google Web Toolkit part-1 Muhammad “Ghanoz” Ghazali 1 JUG Bandung board member
  • 2. Who am I? ● Muhammad Ghazali a.k.a. Ghanoz ● JUG Bandung board member ● Mahasiswa “tingkat akhir” Teknik Informatika Universitas Widyatama ● Ketua himpunan mahasiswa teknik informatika Universitas Widyatama ● OSUM leader Universitas Widyatama 2
  • 4. Agenda ➔ What is GWT ➔ Why GWT ➔ GWT can do what ➔ Development Workflow ➔ Major GWT components ➔ GWT app run mode ➔ Available widgets ➔ GWT plugins for IDEs ➔ Getting Started 4 ➔ Resources
  • 6. Apa itu GWT ● Web app framework ● toolkit for building and optimizing complex browser-based applications 6
  • 8. Why GWT ➔ GWT handles all cross-browser issues for the developer. ➔ Optimize the JavaScript script downloads based on user profile ➔ Google Web Toolkit is open source software 8
  • 9. GWT can do what 9
  • 10. GWT can do what ➔ Help you to create an ajax-based web app using Java ➔ Avoid you to write a JavaScript code to create a cool web app ➔ Give web app the feel of dektop app 10
  • 12. Development workflow ➔ Edit Java code, then view changes immediately without re- compiling ➔ Step through live AJAX code with your Java debugger ➔ Compile and deploy optimized, cross-browser JavaScript 12
  • 14. Major GWT components ➔ GWT Java-to-JavaScript Compiler Java → JavaScript ➔ GWT Hosted Web Browser run and execute app in hosted mode, commonly used for debugging ➔ JRE emulation library JavaScript implementations of the commonly used classes in the Java standard class library ➔ GWT Web UI class library 14 A set of custom interfaces and classes for creating widgets.
  • 15. GWT app run mode 15
  • 16. GWT app run mode ● Hosted mode Run as Java bytecode (within JVM). Used for development, supporting hot swapping of code and debugging. ● Web mode The app run as pure JavaScript and HTML. Used for deployment. 16
  • 18. Available widgets ● HTML primitives (Button, Radio Button, Checkbox, TextBox, PasswordTextBox, TextArea, Hyperlink, ListBox, Table etc.) ● PushButton, ToggleButton ● MenuBar ● Tree ● TabBar ● DialogBox ● 18
  • 19. Available widgets ● Panels (PopupPanel, StackPanel, HorizontalPanel, VerticalPanel, FlowPanel, VerticalSplitPanel, HorizontalSplitPanel, DockPanel, TabPanel, DisclosurePanel) ● RichTextArea ● SuggestBox (auto-complete) 19
  • 22. GWT plugin for IDEs 22
  • 23. GWT plugin for IDEs ● GWT4NB for NetBeans https://gwt4nb.dev.java.net/ ● Cypal Studio for GWT http://code.google.com/p/cypal-studio/ ● Eclipse http://code.google.com/eclipse/ 23
  • 25. Getting started ● Download GWT: http://code.google.com/webtoolkit/download.html ● GWT starting guide http://code.google.com/webtoolkit/documentation/ ● GWT tutorial http://code.google.com/webtoolkit/doc/latest/tutorial/ ● GWT FAQs http://code.google.com/support/bin/topic.py?topic=10034 25
  • 26. Resources 26
  • 27. Resource ● GWT homepage http://code.google.com/webtoolkit/ ● GWT starting guide http://code.google.com/webtoolkit/documentation/ ● GWT FAQs http://code.google.com/support/bin/topic.py?topic=10034 ● GWT official Blog http://googlewebtoolkit.blogspot.com/ 27
  • 28. Resource ● GWT application examples http://code.google.com/webtoolkit/examples/ ● GWT 2.0 Developers Guide http://code.google.com/webtoolkit/doc/latest/DevGuide.html ● Coding Basic http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasics.html ● GWT official tutorial: http://code.google.com/webtoolkit/doc/latest/tutorial/ 28
  • 30. Let's keep in touch... Blog: http://muhammadghazali.web.id/blog Facebook: Muhammad Ghanoz Ghazali Twitter: @muhghazali Plurk: http://plurk.com/muhammadghazali GoogleTalk: muhammadghazali2480 e-mail: ● muhammadghazali@netbeans.org 30
  • 31. Thank You :) 31