SlideShare a Scribd company logo
1 of 69
Google Web Toolkit

   Sonal V. Patil
Topics Covered
•   Short Introduction to GWT
•   Architectural Overview
•   Features of GWT
•   Why, When & Who’s use GWT ?
•   Simple Code Example
•   Server Communication using GWT – RPC
•   Intro of Various Web Frameworks
Logo of GWT
Overview of GWT
• Google announced GWT @ JavaOne Conference
  in 2006 & on 16 May 2006 GWT 1.0 was released.
• Latest version is GWT 2.1.1 on 17 Dec 2010.
• Open source(Apache 2.0 Liscense) Java s/w
  dévelopement framework.
• Allows web developers to create and maintain
  complex JavaScript front-end applications.
• Supported by all the java IDE : Eclipse, NetBeans,
  IntelliJ IDEA, JDeveloper… etc.
• Once the code is finished the GWT compiler
  translates the Java code into Javascript.
• Applications can be run in two modes.
  1) Development mode (Hosted mode): The
  application is run as Java byte code within the Java
  Virtual Machine (JVM). Used for development,
  supporting hot swapping of code and debugging.
   2) Web mode : Application is translated into
  javascript & HTML code and can be deployed on a
  web server.
• Uses MVC Design Pattern
• The based line : ‘’ First the user, second the
  developer ’’ - Bruce Johnson.
GWT Architecture
JRE              GWT Web      Class
Emulation        UI Class     Libraries
Library          library
(java.lang
and java.util)


Java-to-         hosted web   Development
JavaScript       browser      tools
Compiler         Designer
Java Source
 Java Source
   Code
    Code




   CSS
    CSS        GWT Compiler
                GWT Compiler   JavaScript
                                JavaScript




GWT Class
GWT Class
 Library
  Library
Major Components Include
1. GWT Java-to-JavaScript Compiler
 Translates the Java programming language to the
 JavaScript programming language.
2. GWT Hosted Web Browser
  Allows the developers to run and execute GWT
 applications in hosted mode. It is commonly used
  for debugging.
Components cont…..
3. JRE emulation library
  JavaScript implementations of the commonly used
 classes in the Java standard class library like java.lang
 and a subset of the java.util package classes.
4. GWT Web UI class library
 A set of custom interfaces & classes for creating
 widgets.
Key Features




Read more on GWT Overview Page
Key Features




Read more on GWT Overview Page
Cross browser, cross platform
         Compatible
Why GWT ?
•   No need to learn/use Javacript language.
•   No need to handle browser incompatibilities.
•   Fast, responsive rich interface.
•   Easy on the developer.
•   A GWT application doesn’t need a server.
•   A number of libraries are available for GWT,
    by Google and third parties which extends
    GWT features.
Who's Using It?
Basic Procedure
Environment

Mac/Windows/ubuntu OS



           GWT 2.1.1


           Eclipse 3.5
            Eclipse 3.5

             JDK 66
              JDK




                          17
Implementation Process




                         18
Implementation Process




                         19
Install the Plugin




http://code.google.com/intl/zh-TW/webtoolkit/usingeclipse.html

                                                                 20
Install the Plugin – cont.




                             21
Install the Plugin – cont.




                             22
Install the Plugin – cont.




                             23
Install the Plugin – cont.




      Then restart your eclipse…
       Then restart your eclipse…
                                    24
Install the Plugin – cont.




                             25
Implementation Process




                         26
Create a GWT Web Application



  Define your project and
   Define your project and
  package name
   package name




                             Click Finish button
                              Click Finish button
                                                27
Create a GWT Web Application – cont.
         Project structure
          Project structure




                                   28
Implementation Process




                         29
Run Demo Application
Compile GWT project
 Compile GWT project




                                      30
Run Demo Application – cont.
 Run hello_gwt
  Run hello_gwt




 Check Console tab to confirm if the server is ready to use or not
  Check Console tab to confirm if the server is ready to use or not




Click Development Mode tab to copy the testing url
 Click Development Mode tab to copy the testing url



                                                                      31
Run Demo Application – cont.


                            Click Send button
                             Click Send button




  Show this popup window
   Show this popup window




                                                 32
modulename.gwt.xml




 A "module name" is described by a
configuration file "modulename.gwt.xml“.
EntryPoint




An entry point in GWT is the starting point for a
 GWT application similar to the main method in a
 standard Java program.
HTML




The module is connected with an HTML page
Implementation Process




                         36
Create a clean HTML page




                           37
Create a clean HTML page – cont.



      Define file name
       Define file name




                          Click finish button
                           Click finish button
                                                 38
Create a clean HTML page – cont.




It define "div/any id" containers to which the
GWT application can assign UI components
                                                 39
Implementation Process




                         40
Start coding



   Assign class name
    Assign class name

    Implement EntryPoint interface
     Implement EntryPoint interface




            Click Finish button
             Click Finish button
                                      41
42
Start Coding – cont.
Modifyconfig file
Modifyconfig file




    Modify the entry point class
    Modify the entry point class




                                   43
Implementation Process




                         44
Testing
Compile the GWT project
 Compile the GWT project




                                         Run login.html
                                          Run login.html




                 Click compile button
                  Click compile button
                                                           45
Testing – cont.
Type in user name with incorrect password, and click Login button
 Type in user name with incorrect password, and click Login button




                                                                     46
Testing – cont.
Type in user name with correct password, and click Login button
 Type in user name with correct password, and click Login button




                                                                   47
Testing – cont.
  Click Reset button to clear data
   Click Reset button to clear data




                                      48
Various Component of GWT
GWT RPC Architecture
1. Write Two Service Interface
Files
• Synchronous interface
   @RemoteServiceRelativePath(”gwtservice")
   public interface MyHelloService extends RemoteService {
   public String sayHello(String s);
   }

• Asynchronous interface
   // Has to be named as <Synchronous-interface>Async.
   // Has to pass AsyncCallback object as the last parameter.
   // The return type is always void.

   interface MyHelloServiceAsync {
   public void sayHello(String s, AsyncCallback callback);
   }
2. Implement the Service
• Extends RemoteServiceServlet and
  implements the service interface
   public class MyHelloServiceImpl extends
   RemoteServiceServlet
         implements MyHelloService {
   // Provide implementation logic.
   public String sayHello(String s) {
   return "Hello, " + s + "!";
   }
   }
3. Configure Service in Module
      Configuration File

   <module><inherits
     name=“com.google.gwt.user.User”/>
   <entry-point
     class=“com.google.gwt.sample.hello.client.Hello”/>
   <servlet path=‘/hellorpc’
     class=‘com.google.gwt.sample.hello.server.HelloServi
     ceImpl’>
   </module>
4. Make a call from Client
• Instantiate an client proxy (an object of the
  type of asynch. service interface) using
  GWT.create()
• Create an asynchronous callback object to
  be notified when the RPC has completed
• Make the call from the client
a. Instantiate Service Interface using
GWT.create()
public void menuCommandsayHello(String msg) {


MyHelloServiceAsync myhelloService =
GWT.create(MyHelloService.class);
b. Make the Call with an asynchronous
 callback object
public void menuCommandsayhello(String msg) {

...

// (d) Make the call. Control flow will continue immediately and later
// 'callback' will be invoked when the RPC completes.

myhelloService.sayHello(msg, new AsyncCallback() {
public void onSuccess(Object result) {
// update page with server response data
}

public void onFailure(Throwable caught) {
// handle failure
}
});
}
List of various web frameworks
1.   Struts
2.   Spring
3.   JSF
4.   Blueshoes
5.   Django
6.   Pylons
7.   Codeigniter
8.   YUI
9.   52framework
Spring
• Java web framework
• Lightweight container to develop & deploy
  enterprise application.
• Alternative for EJB’s & it uses only Plain Old Java
  Object’s(POJO) as a component.
• Uses 2 types of programming techniques -
  1) Inversion Control (Dependency Injection).
  2) Aspect Oriented Programming.
• More popular because of its simplicity.
• More flexible to add persistence layer.
52framework

• CSS framework
• Contains all nav, header, section, article,
  footer which are basic HTML5 tags with full
  documentation & growing community.
• Features like rounded corners, text-shadow,
  box-shadow, grid system, html5 markup, css
  reset.
Codeigniter
• Powerful PHP framework
• Very small footprint built for PHP coders who
  need a simple & elegant toolkit to create full-
  featured web applications.
• Mainly used for developers who lives in real
  world to share hosting accounts & clients with
  deadline and if you are tired from
  undocumented frameworks.
Django
• Django 1.2 released on 17 May, 2010.
• High level python framework encourages rapid
  development & clean pragmatic design.
• Framework used for perfectionists with
  deadlines.
• www.djangoproject.com
• It makes easy to build web app more quickly with
  less code.
• Focuses on automating as much as possible and
  adhering to DRY(DON’T REPEAT YOURELF)
Documentation
• GWT Reference -
http://code.google.com/webtoolkit/

• Active Forum -
http://groups.google.com/group/Google-Web-Toolkit

• GWT Blog -
http://googlewebtoolkit.blogspot.com/

• On GWT, Tracking news on GWT -
http://www.ongwt.com/

•   Millions of download

•   Tones of Books
Any ?
GWT_Framework

More Related Content

What's hot

Qt for beginners part 1 overview and key concepts
Qt for beginners part 1   overview and key conceptsQt for beginners part 1   overview and key concepts
Qt for beginners part 1 overview and key conceptsICS
 
Pragmatic software development in kdb+
Pragmatic software development in kdb+Pragmatic software development in kdb+
Pragmatic software development in kdb+Ajay Rathore
 
Tekton showcase - CDF Summit Kubecon Barcelona 2019
Tekton showcase - CDF Summit Kubecon Barcelona 2019Tekton showcase - CDF Summit Kubecon Barcelona 2019
Tekton showcase - CDF Summit Kubecon Barcelona 2019Christie Wilson
 
Grails 4: Upgrade your Game!
Grails 4: Upgrade your Game!Grails 4: Upgrade your Game!
Grails 4: Upgrade your Game!Zachary Klein
 
Managing dependencies with gradle
Managing dependencies with gradleManaging dependencies with gradle
Managing dependencies with gradleLiviu Tudor
 
Gerrit JavaScript Plugins
Gerrit JavaScript PluginsGerrit JavaScript Plugins
Gerrit JavaScript PluginsDariusz Łuksza
 
Next Generation Hybrid Applications with Qt - presentation for SEE 2009
Next Generation Hybrid Applications with Qt - presentation for SEE 2009Next Generation Hybrid Applications with Qt - presentation for SEE 2009
Next Generation Hybrid Applications with Qt - presentation for SEE 2009Nokia
 
Writing Commits for You, Your Friends, and Your Future Self
Writing Commits for You, Your Friends, and Your Future SelfWriting Commits for You, Your Friends, and Your Future Self
Writing Commits for You, Your Friends, and Your Future SelfAll Things Open
 
Your own full blown Gerrit plugin
Your own full blown Gerrit pluginYour own full blown Gerrit plugin
Your own full blown Gerrit pluginDariusz Łuksza
 
React Workshop: Core concepts of react
React Workshop: Core concepts of reactReact Workshop: Core concepts of react
React Workshop: Core concepts of reactImran Sayed
 
Escaping the Sandbox Denver HTML5 2013-05-13
Escaping the Sandbox Denver HTML5 2013-05-13Escaping the Sandbox Denver HTML5 2013-05-13
Escaping the Sandbox Denver HTML5 2013-05-13michaelmalak
 

What's hot (19)

Git Overview
Git OverviewGit Overview
Git Overview
 
Gradle : An introduction
Gradle : An introduction Gradle : An introduction
Gradle : An introduction
 
Gradle in 45min
Gradle in 45minGradle in 45min
Gradle in 45min
 
Qt for beginners part 1 overview and key concepts
Qt for beginners part 1   overview and key conceptsQt for beginners part 1   overview and key concepts
Qt for beginners part 1 overview and key concepts
 
Pragmatic software development in kdb+
Pragmatic software development in kdb+Pragmatic software development in kdb+
Pragmatic software development in kdb+
 
Tekton showcase - CDF Summit Kubecon Barcelona 2019
Tekton showcase - CDF Summit Kubecon Barcelona 2019Tekton showcase - CDF Summit Kubecon Barcelona 2019
Tekton showcase - CDF Summit Kubecon Barcelona 2019
 
Grails 4: Upgrade your Game!
Grails 4: Upgrade your Game!Grails 4: Upgrade your Game!
Grails 4: Upgrade your Game!
 
Managing dependencies with gradle
Managing dependencies with gradleManaging dependencies with gradle
Managing dependencies with gradle
 
Devenv command line
Devenv command lineDevenv command line
Devenv command line
 
Gerrit JavaScript Plugins
Gerrit JavaScript PluginsGerrit JavaScript Plugins
Gerrit JavaScript Plugins
 
Introduction to Tekton
Introduction to TektonIntroduction to Tekton
Introduction to Tekton
 
manual
manualmanual
manual
 
Android presentation - Gradle ++
Android presentation - Gradle ++Android presentation - Gradle ++
Android presentation - Gradle ++
 
Next Generation Hybrid Applications with Qt - presentation for SEE 2009
Next Generation Hybrid Applications with Qt - presentation for SEE 2009Next Generation Hybrid Applications with Qt - presentation for SEE 2009
Next Generation Hybrid Applications with Qt - presentation for SEE 2009
 
Writing Commits for You, Your Friends, and Your Future Self
Writing Commits for You, Your Friends, and Your Future SelfWriting Commits for You, Your Friends, and Your Future Self
Writing Commits for You, Your Friends, and Your Future Self
 
Your own full blown Gerrit plugin
Your own full blown Gerrit pluginYour own full blown Gerrit plugin
Your own full blown Gerrit plugin
 
Introduction to gradle
Introduction to gradleIntroduction to gradle
Introduction to gradle
 
React Workshop: Core concepts of react
React Workshop: Core concepts of reactReact Workshop: Core concepts of react
React Workshop: Core concepts of react
 
Escaping the Sandbox Denver HTML5 2013-05-13
Escaping the Sandbox Denver HTML5 2013-05-13Escaping the Sandbox Denver HTML5 2013-05-13
Escaping the Sandbox Denver HTML5 2013-05-13
 

Viewers also liked

Internet access via cable tv network seminar byupender
Internet access via cable tv network seminar byupenderInternet access via cable tv network seminar byupender
Internet access via cable tv network seminar byupenderUpender Upr
 
Anand Vihar Integrated Circulation Plan
Anand Vihar Integrated Circulation PlanAnand Vihar Integrated Circulation Plan
Anand Vihar Integrated Circulation PlanuttipecDRAFT
 
Internet access via cable tv network
Internet access via cable tv networkInternet access via cable tv network
Internet access via cable tv networkPranay Kumbhalkar
 
Internet Access Via Cable Network
Internet Access Via Cable NetworkInternet Access Via Cable Network
Internet Access Via Cable NetworkSonal Patil
 
Internet Access via Cable TV Network
Internet Access via Cable TV NetworkInternet Access via Cable TV Network
Internet Access via Cable TV NetworkSandesh Naik
 
Internet access via cable tv network ppt
Internet access via cable tv network pptInternet access via cable tv network ppt
Internet access via cable tv network pptUpender Upr
 

Viewers also liked (7)

Anand Sagar
Anand SagarAnand Sagar
Anand Sagar
 
Internet access via cable tv network seminar byupender
Internet access via cable tv network seminar byupenderInternet access via cable tv network seminar byupender
Internet access via cable tv network seminar byupender
 
Anand Vihar Integrated Circulation Plan
Anand Vihar Integrated Circulation PlanAnand Vihar Integrated Circulation Plan
Anand Vihar Integrated Circulation Plan
 
Internet access via cable tv network
Internet access via cable tv networkInternet access via cable tv network
Internet access via cable tv network
 
Internet Access Via Cable Network
Internet Access Via Cable NetworkInternet Access Via Cable Network
Internet Access Via Cable Network
 
Internet Access via Cable TV Network
Internet Access via Cable TV NetworkInternet Access via Cable TV Network
Internet Access via Cable TV Network
 
Internet access via cable tv network ppt
Internet access via cable tv network pptInternet access via cable tv network ppt
Internet access via cable tv network ppt
 

Similar to GWT_Framework

GWT Quick Start
GWT Quick StartGWT Quick Start
GWT Quick StartGuo Albert
 
GWT 2.0 - OSCON 2010
GWT 2.0 - OSCON 2010GWT 2.0 - OSCON 2010
GWT 2.0 - OSCON 2010sullis
 
GWT 2.0 - December 15 2009
GWT 2.0 - December 15 2009GWT 2.0 - December 15 2009
GWT 2.0 - December 15 2009sullis
 
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
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web ToolkitDidier Girard
 
Google Web Toolkits
Google Web ToolkitsGoogle Web Toolkits
Google Web ToolkitsYiguang Hu
 
Google Web Toolkit Introduction - eXo Platform SEA
Google Web Toolkit Introduction - eXo Platform SEAGoogle Web Toolkit Introduction - eXo Platform SEA
Google Web Toolkit Introduction - eXo Platform SEAnerazz08
 
CIP Developing Curator Tool Wizards
CIP Developing Curator Tool WizardsCIP Developing Curator Tool Wizards
CIP Developing Curator Tool WizardsEdwin Rojas
 
SoftShake 2013 - Vaadin componentization
SoftShake 2013 - Vaadin componentizationSoftShake 2013 - Vaadin componentization
SoftShake 2013 - Vaadin componentizationNicolas Fränkel
 
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web ToolkitJava Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web ToolkitIMC Institute
 
Spring Native and Spring AOT
Spring Native and Spring AOTSpring Native and Spring AOT
Spring Native and Spring AOTVMware Tanzu
 
Coding GRIN GLOBAL Wizards
Coding GRIN GLOBAL WizardsCoding GRIN GLOBAL Wizards
Coding GRIN GLOBAL WizardsEdwin Rojas
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopMichael Palotas
 
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)Weaveworks
 
Building Web Apps Sanely - EclipseCon 2010
Building Web Apps Sanely - EclipseCon 2010Building Web Apps Sanely - EclipseCon 2010
Building Web Apps Sanely - EclipseCon 2010Chris Ramsdale
 
Javascript as a target language - GWT KickOff - Part 2/2
Javascript as a target language - GWT KickOff - Part 2/2Javascript as a target language - GWT KickOff - Part 2/2
Javascript as a target language - GWT KickOff - Part 2/2JooinK
 

Similar to GWT_Framework (20)

GWT Quick Start
GWT Quick StartGWT Quick Start
GWT Quick Start
 
GWT 2.0 - OSCON 2010
GWT 2.0 - OSCON 2010GWT 2.0 - OSCON 2010
GWT 2.0 - OSCON 2010
 
Gwt Presentation 1
Gwt Presentation 1Gwt Presentation 1
Gwt Presentation 1
 
GWT 2.0 - December 15 2009
GWT 2.0 - December 15 2009GWT 2.0 - December 15 2009
GWT 2.0 - December 15 2009
 
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
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web Toolkit
 
Google Web Toolkits
Google Web ToolkitsGoogle Web Toolkits
Google Web Toolkits
 
Google Web Toolkit Introduction - eXo Platform SEA
Google Web Toolkit Introduction - eXo Platform SEAGoogle Web Toolkit Introduction - eXo Platform SEA
Google Web Toolkit Introduction - eXo Platform SEA
 
CIP Developing Curator Tool Wizards
CIP Developing Curator Tool WizardsCIP Developing Curator Tool Wizards
CIP Developing Curator Tool Wizards
 
SoftShake 2013 - Vaadin componentization
SoftShake 2013 - Vaadin componentizationSoftShake 2013 - Vaadin componentization
SoftShake 2013 - Vaadin componentization
 
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web ToolkitJava Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
Java Web Programming on Google Cloud Platform [3/3] : Google Web Toolkit
 
Spring Native and Spring AOT
Spring Native and Spring AOTSpring Native and Spring AOT
Spring Native and Spring AOT
 
Coding GRIN GLOBAL Wizards
Coding GRIN GLOBAL WizardsCoding GRIN GLOBAL Wizards
Coding GRIN GLOBAL Wizards
 
Agile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery WorkshopAgile Bodensee - Testautomation & Continuous Delivery Workshop
Agile Bodensee - Testautomation & Continuous Delivery Workshop
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
 
Building Web Apps Sanely - EclipseCon 2010
Building Web Apps Sanely - EclipseCon 2010Building Web Apps Sanely - EclipseCon 2010
Building Web Apps Sanely - EclipseCon 2010
 
Javascript as a target language - GWT KickOff - Part 2/2
Javascript as a target language - GWT KickOff - Part 2/2Javascript as a target language - GWT KickOff - Part 2/2
Javascript as a target language - GWT KickOff - Part 2/2
 
JBoss World 2010
JBoss World 2010JBoss World 2010
JBoss World 2010
 
gopaddle-meetup
gopaddle-meetupgopaddle-meetup
gopaddle-meetup
 

More from Sonal Patil

More from Sonal Patil (17)

Wireless Microserver
Wireless MicroserverWireless Microserver
Wireless Microserver
 
The Key To Anger Reduction Is Knowing Yourself
The Key To Anger Reduction Is Knowing YourselfThe Key To Anger Reduction Is Knowing Yourself
The Key To Anger Reduction Is Knowing Yourself
 
Satrack
SatrackSatrack
Satrack
 
Millipede Memory
Millipede MemoryMillipede Memory
Millipede Memory
 
Gift
GiftGift
Gift
 
Frndship
FrndshipFrndship
Frndship
 
Frnd
FrndFrnd
Frnd
 
Computer Architecture
Computer ArchitectureComputer Architecture
Computer Architecture
 
Brain Computer Interface
Brain Computer InterfaceBrain Computer Interface
Brain Computer Interface
 
Best Photos
Best PhotosBest Photos
Best Photos
 
A Wise Camel
A Wise CamelA Wise Camel
A Wise Camel
 
Air Powered Car
Air Powered CarAir Powered Car
Air Powered Car
 
11ways
11ways11ways
11ways
 
R U Hungry
R U HungryR U Hungry
R U Hungry
 
Attitude
AttitudeAttitude
Attitude
 
10 Words
10 Words10 Words
10 Words
 
The Bank Account Of Life
The Bank Account Of LifeThe Bank Account Of Life
The Bank Account Of Life
 

Recently uploaded

Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...jaredbarbolino94
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfadityarao40181
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxAvyJaneVismanos
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfMahmoud M. Sallam
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentInMediaRes1
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,Virag Sontakke
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxsocialsciencegdgrohi
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 

Recently uploaded (20)

Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdf
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Final demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptxFinal demo Grade 9 for demo Plan dessert.pptx
Final demo Grade 9 for demo Plan dessert.pptx
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdf
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Meghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media ComponentMeghan Sutherland In Media Res Media Component
Meghan Sutherland In Media Res Media Component
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 

GWT_Framework

  • 1. Google Web Toolkit Sonal V. Patil
  • 2. Topics Covered • Short Introduction to GWT • Architectural Overview • Features of GWT • Why, When & Who’s use GWT ? • Simple Code Example • Server Communication using GWT – RPC • Intro of Various Web Frameworks
  • 4. Overview of GWT • Google announced GWT @ JavaOne Conference in 2006 & on 16 May 2006 GWT 1.0 was released. • Latest version is GWT 2.1.1 on 17 Dec 2010. • Open source(Apache 2.0 Liscense) Java s/w dévelopement framework. • Allows web developers to create and maintain complex JavaScript front-end applications. • Supported by all the java IDE : Eclipse, NetBeans, IntelliJ IDEA, JDeveloper… etc. • Once the code is finished the GWT compiler translates the Java code into Javascript.
  • 5. • Applications can be run in two modes. 1) Development mode (Hosted mode): The application is run as Java byte code within the Java Virtual Machine (JVM). Used for development, supporting hot swapping of code and debugging. 2) Web mode : Application is translated into javascript & HTML code and can be deployed on a web server. • Uses MVC Design Pattern • The based line : ‘’ First the user, second the developer ’’ - Bruce Johnson.
  • 6. GWT Architecture JRE GWT Web Class Emulation UI Class Libraries Library library (java.lang and java.util) Java-to- hosted web Development JavaScript browser tools Compiler Designer
  • 7. Java Source Java Source Code Code CSS CSS GWT Compiler GWT Compiler JavaScript JavaScript GWT Class GWT Class Library Library
  • 8. Major Components Include 1. GWT Java-to-JavaScript Compiler Translates the Java programming language to the JavaScript programming language. 2. GWT Hosted Web Browser Allows the developers to run and execute GWT applications in hosted mode. It is commonly used for debugging.
  • 9. Components cont….. 3. JRE emulation library JavaScript implementations of the commonly used classes in the Java standard class library like java.lang and a subset of the java.util package classes. 4. GWT Web UI class library A set of custom interfaces & classes for creating widgets.
  • 10. Key Features Read more on GWT Overview Page
  • 11. Key Features Read more on GWT Overview Page
  • 12. Cross browser, cross platform Compatible
  • 13.
  • 14. Why GWT ? • No need to learn/use Javacript language. • No need to handle browser incompatibilities. • Fast, responsive rich interface. • Easy on the developer. • A GWT application doesn’t need a server. • A number of libraries are available for GWT, by Google and third parties which extends GWT features.
  • 17. Environment Mac/Windows/ubuntu OS GWT 2.1.1 Eclipse 3.5 Eclipse 3.5 JDK 66 JDK 17
  • 21. Install the Plugin – cont. 21
  • 22. Install the Plugin – cont. 22
  • 23. Install the Plugin – cont. 23
  • 24. Install the Plugin – cont. Then restart your eclipse… Then restart your eclipse… 24
  • 25. Install the Plugin – cont. 25
  • 27. Create a GWT Web Application Define your project and Define your project and package name package name Click Finish button Click Finish button 27
  • 28. Create a GWT Web Application – cont. Project structure Project structure 28
  • 30. Run Demo Application Compile GWT project Compile GWT project 30
  • 31. Run Demo Application – cont. Run hello_gwt Run hello_gwt Check Console tab to confirm if the server is ready to use or not Check Console tab to confirm if the server is ready to use or not Click Development Mode tab to copy the testing url Click Development Mode tab to copy the testing url 31
  • 32. Run Demo Application – cont. Click Send button Click Send button Show this popup window Show this popup window 32
  • 33. modulename.gwt.xml A "module name" is described by a configuration file "modulename.gwt.xml“.
  • 34. EntryPoint An entry point in GWT is the starting point for a GWT application similar to the main method in a standard Java program.
  • 35. HTML The module is connected with an HTML page
  • 37. Create a clean HTML page 37
  • 38. Create a clean HTML page – cont. Define file name Define file name Click finish button Click finish button 38
  • 39. Create a clean HTML page – cont. It define "div/any id" containers to which the GWT application can assign UI components 39
  • 41. Start coding Assign class name Assign class name Implement EntryPoint interface Implement EntryPoint interface Click Finish button Click Finish button 41
  • 42. 42
  • 43. Start Coding – cont. Modifyconfig file Modifyconfig file Modify the entry point class Modify the entry point class 43
  • 45. Testing Compile the GWT project Compile the GWT project Run login.html Run login.html Click compile button Click compile button 45
  • 46. Testing – cont. Type in user name with incorrect password, and click Login button Type in user name with incorrect password, and click Login button 46
  • 47. Testing – cont. Type in user name with correct password, and click Login button Type in user name with correct password, and click Login button 47
  • 48. Testing – cont. Click Reset button to clear data Click Reset button to clear data 48
  • 50.
  • 51.
  • 52.
  • 53.
  • 55. 1. Write Two Service Interface Files • Synchronous interface @RemoteServiceRelativePath(”gwtservice") public interface MyHelloService extends RemoteService { public String sayHello(String s); } • Asynchronous interface // Has to be named as <Synchronous-interface>Async. // Has to pass AsyncCallback object as the last parameter. // The return type is always void. interface MyHelloServiceAsync { public void sayHello(String s, AsyncCallback callback); }
  • 56. 2. Implement the Service • Extends RemoteServiceServlet and implements the service interface public class MyHelloServiceImpl extends RemoteServiceServlet implements MyHelloService { // Provide implementation logic. public String sayHello(String s) { return "Hello, " + s + "!"; } }
  • 57. 3. Configure Service in Module Configuration File <module><inherits name=“com.google.gwt.user.User”/> <entry-point class=“com.google.gwt.sample.hello.client.Hello”/> <servlet path=‘/hellorpc’ class=‘com.google.gwt.sample.hello.server.HelloServi ceImpl’> </module>
  • 58. 4. Make a call from Client • Instantiate an client proxy (an object of the type of asynch. service interface) using GWT.create() • Create an asynchronous callback object to be notified when the RPC has completed • Make the call from the client
  • 59. a. Instantiate Service Interface using GWT.create() public void menuCommandsayHello(String msg) { MyHelloServiceAsync myhelloService = GWT.create(MyHelloService.class);
  • 60. b. Make the Call with an asynchronous callback object public void menuCommandsayhello(String msg) { ... // (d) Make the call. Control flow will continue immediately and later // 'callback' will be invoked when the RPC completes. myhelloService.sayHello(msg, new AsyncCallback() { public void onSuccess(Object result) { // update page with server response data } public void onFailure(Throwable caught) { // handle failure } }); }
  • 61. List of various web frameworks 1. Struts 2. Spring 3. JSF 4. Blueshoes 5. Django 6. Pylons 7. Codeigniter 8. YUI 9. 52framework
  • 62. Spring • Java web framework • Lightweight container to develop & deploy enterprise application. • Alternative for EJB’s & it uses only Plain Old Java Object’s(POJO) as a component. • Uses 2 types of programming techniques - 1) Inversion Control (Dependency Injection). 2) Aspect Oriented Programming. • More popular because of its simplicity. • More flexible to add persistence layer.
  • 63. 52framework • CSS framework • Contains all nav, header, section, article, footer which are basic HTML5 tags with full documentation & growing community. • Features like rounded corners, text-shadow, box-shadow, grid system, html5 markup, css reset.
  • 64. Codeigniter • Powerful PHP framework • Very small footprint built for PHP coders who need a simple & elegant toolkit to create full- featured web applications. • Mainly used for developers who lives in real world to share hosting accounts & clients with deadline and if you are tired from undocumented frameworks.
  • 65. Django • Django 1.2 released on 17 May, 2010. • High level python framework encourages rapid development & clean pragmatic design. • Framework used for perfectionists with deadlines. • www.djangoproject.com • It makes easy to build web app more quickly with less code. • Focuses on automating as much as possible and adhering to DRY(DON’T REPEAT YOURELF)
  • 66. Documentation • GWT Reference - http://code.google.com/webtoolkit/ • Active Forum - http://groups.google.com/group/Google-Web-Toolkit • GWT Blog - http://googlewebtoolkit.blogspot.com/ • On GWT, Tracking news on GWT - http://www.ongwt.com/ • Millions of download • Tones of Books
  • 67.
  • 68. Any ?

Editor's Notes

  1. GWT Java-to-JavaScript Compiler GWT Hosted Web Browser GWT Designer JRE emulation library GWT contains JavaScript implementations of the most widely used classes in the Java standard class library GWT Web UI class library Similar to Swing UI Parses the original Java code Full parser, almost all Java constructs will be parsed correctly. Generates a full Abstract Syntax Tree (AST) ‏ GWT&apos;s compiler isn&apos;t a parlor trick, it&apos;s a real code parser and cross-language compiler Performs optimization, dead-code elimination, dynamic analysis, and other code fixups The generated JS is fast and efficient, sometimes faster than what you might write yourself Optimization All code is optimized, including some unusual tricks (like turning some methods into wrapped statics) ‏ Dead-Code Elimination Remove any code that cannot be reached, or always returns the same value(s) ‏ Javascript Generation Generate Javascript, including all necessary browser-specific checks and workarounds Javascript obfuscation and size reduction Javascript is (optionally) obfuscated to protect your trade-secrets, and to reduce it&apos;s size