SlideShare une entreprise Scribd logo
1  sur  14
Introduction to Google Web Toolkit
(GWT)




                                     Ankul Rastogi

    What is GWT ?
    
        Create responsive web application using Java
    
        Create,Test, Debug application in Java
    
        Simple/Rapid Development
    
        AJAX-ification


    Why GWT
    
        One technology to rule.Java=Javascript
    
        No more broswer specific code snippets.User friendly
        compiler.Write Once Run anywhere
AJAX
What is AJAX( Asynchronous JavaScript and
 XML)
  
      Doing things in background.
  
      Dynamic HTML(Responsive and reactive)
  
      Client Side Processing
  
      Smart Clients
  
      Single page and multiple UI's.
AJAX Flow
Problem With JS

    Type Checking,bug fixing,debugging.

    Poor IDE support

    Browser Portability

    Speed

    No history/BookMarks

    Spaghetti code.No OO structure

    No Documentation


SOS an AJAX ninja
GWT Features

    All in Java(Faster Dev/Testing/Debugging/Refactor cycle)

    Single CodeBase.Browser agnostic

    Optimized and efficient Java-Javascript Compiler

    Local Event handling and client side rendering logic.

    Compile Time checks(Static Type Checking, Generics)

    Dynamic HTML.Async AJAX
GWT Features(Cont.)

    History,Bookmarking,Validation,MVP,Internationalization,
    Junit

    Reusable Widgets.Extensible and manageble

    Deferred Binding.Code Generation

    Dependency Injection

    Under the Hood RPC

    JSNI

    Delarative Layout using XML. Panel based design

    Component based design
GWT dark side

    Change in mindset.

    Not everything from Java can be used in GWT.

    Learning effort.

    HTML CSS abstraction.Tough to visualize your UI

    Looking London Talking Tokyo.

    Firebug

    In process of evolving.

    Unit testing not mature.

    Not many takers, hence not wide feature set

    Disciplined approach to development
Concepts

    Maven

    MVP

    Module

    RPC

    Dev Mode Production Mode Super Dev Mode

    UiBinder.Dumb Views

    GWT-bootstrap
MVC v/s MVP
Sample Demo
Thank You

Contenu connexe

Tendances

Building a Single-Page App: Backbone, Node.js, and Beyond
Building a Single-Page App: Backbone, Node.js, and BeyondBuilding a Single-Page App: Backbone, Node.js, and Beyond
Building a Single-Page App: Backbone, Node.js, and BeyondSpike Brehm
 
Comparison Between React & Angular JS Frameworks
Comparison Between React & Angular JS FrameworksComparison Between React & Angular JS Frameworks
Comparison Between React & Angular JS FrameworksSNAKINDIA CONSULTANCY
 
GeorgeTechCVUPDDEC2015
GeorgeTechCVUPDDEC2015GeorgeTechCVUPDDEC2015
GeorgeTechCVUPDDEC2015George Nicol
 
Tibco advantage
Tibco advantageTibco advantage
Tibco advantageAbhi Arya
 
React web development
React web developmentReact web development
React web developmentRully Ramanda
 
Front-end tools in java webapps
Front-end tools in java webappsFront-end tools in java webapps
Front-end tools in java webappsbenfante
 
JavaScript와 TypeScript의 으리 있는 만남
JavaScript와 TypeScript의 으리 있는 만남JavaScript와 TypeScript의 으리 있는 만남
JavaScript와 TypeScript의 으리 있는 만남영욱 김
 
Building single page applications
Building single page applicationsBuilding single page applications
Building single page applicationsSC5.io
 
Grunt, Gulp & fabs: Build Systems and Development-Workflow for Modern Web-App...
Grunt, Gulp & fabs: Build Systems and Development-Workflow for Modern Web-App...Grunt, Gulp & fabs: Build Systems and Development-Workflow for Modern Web-App...
Grunt, Gulp & fabs: Build Systems and Development-Workflow for Modern Web-App...Philipp Burgmer
 
Introduce Angular2 & render & firebase flow
Introduce Angular2 & render & firebase flowIntroduce Angular2 & render & firebase flow
Introduce Angular2 & render & firebase flowCaesar Chi
 
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
 
Transforming Front-End Disaster Code™ Into A Maintainable Masterpiece
Transforming Front-End Disaster Code™ Into A Maintainable MasterpieceTransforming Front-End Disaster Code™ Into A Maintainable Masterpiece
Transforming Front-End Disaster Code™ Into A Maintainable MasterpieceDan Gribbin
 
Combining HTML5 with MVC framework to simplify realtime collaboration for we...
Combining HTML5 with MVC framework to simplify  realtime collaboration for we...Combining HTML5 with MVC framework to simplify  realtime collaboration for we...
Combining HTML5 with MVC framework to simplify realtime collaboration for we...Gopikrishnan Sasikumar
 
Single Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJSSingle Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJSM R Rony
 
Morden F2E Education - Think of Progressive Web Apps
Morden F2E Education - Think of Progressive Web AppsMorden F2E Education - Think of Progressive Web Apps
Morden F2E Education - Think of Progressive Web AppsCaesar Chi
 
Single Page WebApp Architecture
Single Page WebApp ArchitectureSingle Page WebApp Architecture
Single Page WebApp ArchitectureMorgan Cheng
 
AngularJS vs React JS vs Node JS: Which is Best For Web Development ?
AngularJS vs React JS vs Node JS: Which is Best For Web Development ?AngularJS vs React JS vs Node JS: Which is Best For Web Development ?
AngularJS vs React JS vs Node JS: Which is Best For Web Development ?MarkupBox
 

Tendances (20)

Building a Single-Page App: Backbone, Node.js, and Beyond
Building a Single-Page App: Backbone, Node.js, and BeyondBuilding a Single-Page App: Backbone, Node.js, and Beyond
Building a Single-Page App: Backbone, Node.js, and Beyond
 
Javascript and DOM
Javascript and DOMJavascript and DOM
Javascript and DOM
 
Comparison Between React & Angular JS Frameworks
Comparison Between React & Angular JS FrameworksComparison Between React & Angular JS Frameworks
Comparison Between React & Angular JS Frameworks
 
GeorgeTechCVUPDDEC2015
GeorgeTechCVUPDDEC2015GeorgeTechCVUPDDEC2015
GeorgeTechCVUPDDEC2015
 
Tibco advantage
Tibco advantageTibco advantage
Tibco advantage
 
React web development
React web developmentReact web development
React web development
 
Front-end tools in java webapps
Front-end tools in java webappsFront-end tools in java webapps
Front-end tools in java webapps
 
JavaScript와 TypeScript의 으리 있는 만남
JavaScript와 TypeScript의 으리 있는 만남JavaScript와 TypeScript의 으리 있는 만남
JavaScript와 TypeScript의 으리 있는 만남
 
Building single page applications
Building single page applicationsBuilding single page applications
Building single page applications
 
Grunt, Gulp & fabs: Build Systems and Development-Workflow for Modern Web-App...
Grunt, Gulp & fabs: Build Systems and Development-Workflow for Modern Web-App...Grunt, Gulp & fabs: Build Systems and Development-Workflow for Modern Web-App...
Grunt, Gulp & fabs: Build Systems and Development-Workflow for Modern Web-App...
 
Introduce Angular2 & render & firebase flow
Introduce Angular2 & render & firebase flowIntroduce Angular2 & render & firebase flow
Introduce Angular2 & render & firebase flow
 
GWT- Google Web Toolkit
GWT- Google Web ToolkitGWT- Google Web Toolkit
GWT- Google Web Toolkit
 
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
 
Transforming Front-End Disaster Code™ Into A Maintainable Masterpiece
Transforming Front-End Disaster Code™ Into A Maintainable MasterpieceTransforming Front-End Disaster Code™ Into A Maintainable Masterpiece
Transforming Front-End Disaster Code™ Into A Maintainable Masterpiece
 
Combining HTML5 with MVC framework to simplify realtime collaboration for we...
Combining HTML5 with MVC framework to simplify  realtime collaboration for we...Combining HTML5 with MVC framework to simplify  realtime collaboration for we...
Combining HTML5 with MVC framework to simplify realtime collaboration for we...
 
Single Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJSSingle Page Application (SPA) using AngularJS
Single Page Application (SPA) using AngularJS
 
Functional javascript
Functional javascriptFunctional javascript
Functional javascript
 
Morden F2E Education - Think of Progressive Web Apps
Morden F2E Education - Think of Progressive Web AppsMorden F2E Education - Think of Progressive Web Apps
Morden F2E Education - Think of Progressive Web Apps
 
Single Page WebApp Architecture
Single Page WebApp ArchitectureSingle Page WebApp Architecture
Single Page WebApp Architecture
 
AngularJS vs React JS vs Node JS: Which is Best For Web Development ?
AngularJS vs React JS vs Node JS: Which is Best For Web Development ?AngularJS vs React JS vs Node JS: Which is Best For Web Development ?
AngularJS vs React JS vs Node JS: Which is Best For Web Development ?
 

En vedette

Generic Software Product Line Engineering Process (GeSPLEP) 20120126
Generic Software Product Line Engineering Process (GeSPLEP) 20120126Generic Software Product Line Engineering Process (GeSPLEP) 20120126
Generic Software Product Line Engineering Process (GeSPLEP) 20120126Yoshikazu Hayashi
 
Website development life cycle
Website development life cycleWebsite development life cycle
Website development life cycleSanyam Jain
 
Caribbean girlz vision
Caribbean girlz vision Caribbean girlz vision
Caribbean girlz vision caribbeangirlz
 
Kurumsal Firmalar için Google Glass Uygulamaları
Kurumsal Firmalar için Google Glass UygulamalarıKurumsal Firmalar için Google Glass Uygulamaları
Kurumsal Firmalar için Google Glass UygulamalarıTechnoface
 
Storyboards for Preliminary Task
Storyboards for Preliminary TaskStoryboards for Preliminary Task
Storyboards for Preliminary TaskLukeyLong
 
Fm4 winter 2011
Fm4 winter 2011Fm4 winter 2011
Fm4 winter 2011tdcjackson
 
Source 1 reality tv
Source 1 reality tvSource 1 reality tv
Source 1 reality tvtdcjackson
 
We media murdoch and emprie
We media murdoch and emprieWe media murdoch and emprie
We media murdoch and emprietdcjackson
 
We media and fandom
We media and fandomWe media and fandom
We media and fandomtdcjackson
 
Fm2 winter 2010
Fm2 winter 2010Fm2 winter 2010
Fm2 winter 2010tdcjackson
 
改善意識の生まれる場 -コミュニティ運営の経験から-
改善意識の生まれる場 -コミュニティ運営の経験から-改善意識の生まれる場 -コミュニティ運営の経験から-
改善意識の生まれる場 -コミュニティ運営の経験から-Yoshikazu Hayashi
 
We the media summary
We the media summaryWe the media summary
We the media summarytdcjackson
 
Storyboards for Preliminary Task
Storyboards for Preliminary TaskStoryboards for Preliminary Task
Storyboards for Preliminary TaskLukeyLong
 
Fm2 summer 2011
Fm2 summer 2011Fm2 summer 2011
Fm2 summer 2011tdcjackson
 
Examplar photo story board
Examplar photo story boardExamplar photo story board
Examplar photo story boardtdcjackson
 
Fm2 summer 2010
Fm2 summer 2010Fm2 summer 2010
Fm2 summer 2010tdcjackson
 

En vedette (20)

Generic Software Product Line Engineering Process (GeSPLEP) 20120126
Generic Software Product Line Engineering Process (GeSPLEP) 20120126Generic Software Product Line Engineering Process (GeSPLEP) 20120126
Generic Software Product Line Engineering Process (GeSPLEP) 20120126
 
Website development life cycle
Website development life cycleWebsite development life cycle
Website development life cycle
 
Caribbean girlz vision
Caribbean girlz vision Caribbean girlz vision
Caribbean girlz vision
 
Kurumsal Firmalar için Google Glass Uygulamaları
Kurumsal Firmalar için Google Glass UygulamalarıKurumsal Firmalar için Google Glass Uygulamaları
Kurumsal Firmalar için Google Glass Uygulamaları
 
Storyboards
StoryboardsStoryboards
Storyboards
 
Storyboards for Preliminary Task
Storyboards for Preliminary TaskStoryboards for Preliminary Task
Storyboards for Preliminary Task
 
Fm4 winter 2011
Fm4 winter 2011Fm4 winter 2011
Fm4 winter 2011
 
Doc genres
Doc genresDoc genres
Doc genres
 
Source 1 reality tv
Source 1 reality tvSource 1 reality tv
Source 1 reality tv
 
We media murdoch and emprie
We media murdoch and emprieWe media murdoch and emprie
We media murdoch and emprie
 
We media and fandom
We media and fandomWe media and fandom
We media and fandom
 
Fm2 winter 2010
Fm2 winter 2010Fm2 winter 2010
Fm2 winter 2010
 
改善意識の生まれる場 -コミュニティ運営の経験から-
改善意識の生まれる場 -コミュニティ運営の経験から-改善意識の生まれる場 -コミュニティ運営の経験から-
改善意識の生まれる場 -コミュニティ運営の経験から-
 
We the media summary
We the media summaryWe the media summary
We the media summary
 
Storyboards for Preliminary Task
Storyboards for Preliminary TaskStoryboards for Preliminary Task
Storyboards for Preliminary Task
 
Chapter 3.1
Chapter 3.1Chapter 3.1
Chapter 3.1
 
Fm2 summer 2011
Fm2 summer 2011Fm2 summer 2011
Fm2 summer 2011
 
Examplar photo story board
Examplar photo story boardExamplar photo story board
Examplar photo story board
 
Fm2 summer 2010
Fm2 summer 2010Fm2 summer 2010
Fm2 summer 2010
 
Positioning
PositioningPositioning
Positioning
 

Similaire à Gwt

Web polyglot programming
Web polyglot programmingWeb polyglot programming
Web polyglot programmingDmitry Buzdin
 
Gwt session
Gwt sessionGwt session
Gwt sessionMans Jug
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web ToolkitDidier Girard
 
T 0230 Google Wave Powered By Gwt
T 0230 Google Wave Powered By GwtT 0230 Google Wave Powered By Gwt
T 0230 Google Wave Powered By Gwtsupertoy2015
 
GWT: Our Experiences
GWT: Our ExperiencesGWT: Our Experiences
GWT: Our ExperiencesYenwen Feng
 
Building Ajax apps with the Google Web Toolkit
Building Ajax apps with the Google Web ToolkitBuilding Ajax apps with the Google Web Toolkit
Building Ajax apps with the Google Web Toolkitvivek_prahlad
 
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
 
GWT Introduction for Eclipse Day
GWT Introduction for Eclipse Day GWT Introduction for Eclipse Day
GWT Introduction for Eclipse Day DNG Consulting
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web ToolkitJeppe Rishede
 
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
 
vinod kumar JAVA
vinod kumar JAVAvinod kumar JAVA
vinod kumar JAVAVinod Kumar
 
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13Fred Sauer
 
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
 
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
 
baidu开发者大会 - Web App开发框架介绍以及分析
baidu开发者大会 - Web App开发框架介绍以及分析baidu开发者大会 - Web App开发框架介绍以及分析
baidu开发者大会 - Web App开发框架介绍以及分析joylite
 

Similaire à Gwt (20)

Web polyglot programming
Web polyglot programmingWeb polyglot programming
Web polyglot programming
 
The Java alternative to Javascript
The Java alternative to JavascriptThe Java alternative to Javascript
The Java alternative to Javascript
 
Gwt session
Gwt sessionGwt session
Gwt session
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web Toolkit
 
Gwt session
Gwt sessionGwt session
Gwt session
 
T 0230 Google Wave Powered By Gwt
T 0230 Google Wave Powered By GwtT 0230 Google Wave Powered By Gwt
T 0230 Google Wave Powered By Gwt
 
GWT: Our Experiences
GWT: Our ExperiencesGWT: Our Experiences
GWT: Our Experiences
 
Building Ajax apps with the Google Web Toolkit
Building Ajax apps with the Google Web ToolkitBuilding Ajax apps with the Google Web Toolkit
Building Ajax apps with the Google Web Toolkit
 
Google Web toolkit
Google Web toolkitGoogle Web toolkit
Google Web toolkit
 
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
 
GWT
GWTGWT
GWT
 
GWT Introduction for Eclipse Day
GWT Introduction for Eclipse Day GWT Introduction for Eclipse Day
GWT Introduction for Eclipse Day
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web Toolkit
 
Mlocjs buzdin
Mlocjs buzdinMlocjs buzdin
Mlocjs buzdin
 
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
 
vinod kumar JAVA
vinod kumar JAVAvinod kumar JAVA
vinod kumar JAVA
 
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
 
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
 
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
 
baidu开发者大会 - Web App开发框架介绍以及分析
baidu开发者大会 - Web App开发框架介绍以及分析baidu开发者大会 - Web App开发框架介绍以及分析
baidu开发者大会 - Web App开发框架介绍以及分析
 

Gwt

  • 1. Introduction to Google Web Toolkit (GWT) Ankul Rastogi
  • 2. What is GWT ?  Create responsive web application using Java  Create,Test, Debug application in Java  Simple/Rapid Development  AJAX-ification  Why GWT  One technology to rule.Java=Javascript  No more broswer specific code snippets.User friendly compiler.Write Once Run anywhere
  • 3. AJAX What is AJAX( Asynchronous JavaScript and XML)  Doing things in background.  Dynamic HTML(Responsive and reactive)  Client Side Processing  Smart Clients  Single page and multiple UI's.
  • 5. Problem With JS  Type Checking,bug fixing,debugging.  Poor IDE support  Browser Portability  Speed  No history/BookMarks  Spaghetti code.No OO structure  No Documentation SOS an AJAX ninja
  • 6. GWT Features  All in Java(Faster Dev/Testing/Debugging/Refactor cycle)  Single CodeBase.Browser agnostic  Optimized and efficient Java-Javascript Compiler  Local Event handling and client side rendering logic.  Compile Time checks(Static Type Checking, Generics)  Dynamic HTML.Async AJAX
  • 7. GWT Features(Cont.)  History,Bookmarking,Validation,MVP,Internationalization, Junit  Reusable Widgets.Extensible and manageble  Deferred Binding.Code Generation  Dependency Injection  Under the Hood RPC  JSNI  Delarative Layout using XML. Panel based design  Component based design
  • 8.
  • 9. GWT dark side  Change in mindset.  Not everything from Java can be used in GWT.  Learning effort.  HTML CSS abstraction.Tough to visualize your UI  Looking London Talking Tokyo.  Firebug  In process of evolving.  Unit testing not mature.  Not many takers, hence not wide feature set  Disciplined approach to development
  • 10. Concepts  Maven  MVP  Module  RPC  Dev Mode Production Mode Super Dev Mode  UiBinder.Dumb Views  GWT-bootstrap
  • 12.

Notes de l'éditeur

  1. Compiler is the core enging of the whoel GWT framework. It does the dirty job of converting the Java written classes to various javascript permutations. In order to achieve this comipler requires the source code and the bytecode for all the java classes that are to be used. Java code must be minimum 1.4 compatible. It supports generics at javascript level. Even tough the compiler ignore is while creating javascript still at the code level we can make compile time checks