SlideShare a Scribd company logo
1 of 23
Google Technology User Group #3
Introduction to GWT UIBinder
By Pradeep B Pillai
2
Quick Overview on GWT
• Development toolkit, not a framework
• Code in Java, run as JavaScript
• One codebase, any browser
• Makes Ajax a piece of cake...and faster
Today’s Agenda
A lot new in GWT 2.0 and beyond
• UiBinder
• ClientBundle
• LayoutPanel
What is UiBinder ?
• Declarative User Interfaces
• Write your HTML in HTML
• Clean separation of the aesthetics of your UI from its
programmatic behavior
• No more Boilerplate code
• Fewer widgets, smaller footprint
• Easier for UI designers who are more comfortable with
XML, HTML and CSS than Java source code
UI In Java (old approach)
UI in HTML using UiBinder approach
<g:HTMLPanel>
<div class='{style.logo}'/>
<div class="{style.statusDiv}">
<div><b>Welcome back, foo@example.com</b> </div>
<div class='{style.linksDiv}'>
<g:Anchor ui:field='signOutLink'>Sign Out</g:Anchor>
<g:Anchor ui:field='aboutLink'>About</g:Anchor>
</div>
</div>
</g:HTMLPanel>
Wiring up everything…
Wiring up everything…
Owner Java Class
<ui:style> element : inline css style
<ui:style> element : external css style
Inline Images and CSS Image Sprites
Without Client Bundling
Initial download
Call to display images
public interface Resources extends ClientBundle {
public static final Resources INSTANCE = GWT.create(Resources.class);
@Source(”common.css")
public CommonCss style();
@Source(“logo.gif")
public ImageResource logo ();
@Source("images1.gif")
public ImageResource image1();
...
}
All at once using ClientBundle
Accessing the external resource from UiBinder
After Bundling
Initial download
Layout Panels
Dock Layout Panel Example from the GWT Mail Sample
What’s coming up in the “Future”…
GWT Designer (acquired from Instantiations)
support for UiBinder
21
Questions ?
22
Resources
Declarative Layout with UiBinder
•
http://code.google.com/webtoolkit/doc/latest/DevGuide
UiBinder.html
• GWT's UI overhaul: UiBinder, ClientBundle, and
Layout Panels - Joel Webber, Ray Ryan
• http://www.youtube.com/watch?
v=g2XclEOJdIc&feature=player_embedded
•
Google Web Toolkit Best Practices Talk at Dev Nexus
By Chris Ramdale of the Google Developer Relations
Team
•
http://www.slideshare.net/cramsdale/gwt-best-
practices-devnexus-2010
23
ood Bye!

More Related Content

What's hot

Introduction:
Introduction:Introduction:
Introduction:Reema
 
Progressive Enhancement - Umit Naimian
Progressive Enhancement - Umit NaimianProgressive Enhancement - Umit Naimian
Progressive Enhancement - Umit NaimianVisuality
 
Kendo UI presentation at JsConf.eu
Kendo UI presentation at JsConf.euKendo UI presentation at JsConf.eu
Kendo UI presentation at JsConf.euAlexander Gyoshev
 
Building Framework Agnostic UI with Web Components
Building Framework Agnostic UI with Web ComponentsBuilding Framework Agnostic UI with Web Components
Building Framework Agnostic UI with Web ComponentsPiotr Nalepa
 
WaveMaker Next: Webinar - Presentation
WaveMaker Next: Webinar  - PresentationWaveMaker Next: Webinar  - Presentation
WaveMaker Next: Webinar - PresentationSudeep Kumar
 
Knockout mvvm-m1-slides
Knockout mvvm-m1-slidesKnockout mvvm-m1-slides
Knockout mvvm-m1-slidesMasterCode.vn
 
Taming Drupal Blocks for Content Editors a.k.a. "Snippets"
Taming Drupal Blocks for Content Editors a.k.a. "Snippets"Taming Drupal Blocks for Content Editors a.k.a. "Snippets"
Taming Drupal Blocks for Content Editors a.k.a. "Snippets"Brian Hay
 
Web Based Development Introduction
Web Based Development IntroductionWeb Based Development Introduction
Web Based Development IntroductionEdy Segura
 
Building Custom Visual Composer Elements
Building Custom Visual Composer ElementsBuilding Custom Visual Composer Elements
Building Custom Visual Composer ElementsBurak Dogan
 
jQuery UI & Mobile - The Great Merger
jQuery UI & Mobile - The Great MergerjQuery UI & Mobile - The Great Merger
jQuery UI & Mobile - The Great Mergerscottgonzalez
 
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
 
Smu bca sem 5 winter 2015 assignments
Smu bca sem 5 winter 2015 assignmentsSmu bca sem 5 winter 2015 assignments
Smu bca sem 5 winter 2015 assignmentssolved_assignments
 

What's hot (20)

MVP with GWT and GWTP
MVP with GWT and GWTPMVP with GWT and GWTP
MVP with GWT and GWTP
 
Lesson 09
Lesson 09Lesson 09
Lesson 09
 
Introduction:
Introduction:Introduction:
Introduction:
 
Progressive Enhancement - Umit Naimian
Progressive Enhancement - Umit NaimianProgressive Enhancement - Umit Naimian
Progressive Enhancement - Umit Naimian
 
Kendo UI presentation at JsConf.eu
Kendo UI presentation at JsConf.euKendo UI presentation at JsConf.eu
Kendo UI presentation at JsConf.eu
 
Day 2 ppt
Day 2 pptDay 2 ppt
Day 2 ppt
 
Building Framework Agnostic UI with Web Components
Building Framework Agnostic UI with Web ComponentsBuilding Framework Agnostic UI with Web Components
Building Framework Agnostic UI with Web Components
 
WaveMaker Next: Webinar - Presentation
WaveMaker Next: Webinar  - PresentationWaveMaker Next: Webinar  - Presentation
WaveMaker Next: Webinar - Presentation
 
Knockout mvvm-m1-slides
Knockout mvvm-m1-slidesKnockout mvvm-m1-slides
Knockout mvvm-m1-slides
 
Kendo ui web
Kendo ui webKendo ui web
Kendo ui web
 
Taming Drupal Blocks for Content Editors a.k.a. "Snippets"
Taming Drupal Blocks for Content Editors a.k.a. "Snippets"Taming Drupal Blocks for Content Editors a.k.a. "Snippets"
Taming Drupal Blocks for Content Editors a.k.a. "Snippets"
 
Web Based Development Introduction
Web Based Development IntroductionWeb Based Development Introduction
Web Based Development Introduction
 
Joomla content modal box
Joomla content modal boxJoomla content modal box
Joomla content modal box
 
Building Custom Visual Composer Elements
Building Custom Visual Composer ElementsBuilding Custom Visual Composer Elements
Building Custom Visual Composer Elements
 
Bff and GraphQL
Bff and GraphQLBff and GraphQL
Bff and GraphQL
 
jQuery UI & Mobile - The Great Merger
jQuery UI & Mobile - The Great MergerjQuery UI & Mobile - The Great Merger
jQuery UI & Mobile - The Great Merger
 
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
 
Smu bca sem 5 winter 2015 assignments
Smu bca sem 5 winter 2015 assignmentsSmu bca sem 5 winter 2015 assignments
Smu bca sem 5 winter 2015 assignments
 
AngularJS
AngularJS AngularJS
AngularJS
 
Lesson 09
Lesson 09Lesson 09
Lesson 09
 

Similar to Google Web toolkit GWT 2.0 UiBinder Talk @ South Florida Google Technology User Group (GTUG) Meetup #3

Extending GWT
Extending GWTExtending GWT
Extending GWTisurusndr
 
Typescript 102 angular and type script
Typescript 102   angular and type scriptTypescript 102   angular and type script
Typescript 102 angular and type scriptBob German
 
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
 
Valentine with Angular js - Introduction
Valentine with Angular js - IntroductionValentine with Angular js - Introduction
Valentine with Angular js - IntroductionSenthil Kumar
 
GWT 2.0 - OSCON 2010
GWT 2.0 - OSCON 2010GWT 2.0 - OSCON 2010
GWT 2.0 - OSCON 2010sullis
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web ToolkitDidier Girard
 
GWT 2.0 - December 15 2009
GWT 2.0 - December 15 2009GWT 2.0 - December 15 2009
GWT 2.0 - December 15 2009sullis
 
What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5Vinayak Tavargeri
 
Codeigniter, a MVC framework for beginner
Codeigniter, a MVC framework for beginnerCodeigniter, a MVC framework for beginner
Codeigniter, a MVC framework for beginneraminbd
 
HostBridge Virtual User Group December 2020
HostBridge Virtual User Group December 2020HostBridge Virtual User Group December 2020
HostBridge Virtual User Group December 2020HostBridge Technology
 
Best Practices - By Lofi Dewanto
Best Practices - By Lofi DewantoBest Practices - By Lofi Dewanto
Best Practices - By Lofi DewantoGWTcon
 
Inclusive Design for Web Development Teams
Inclusive Design for Web Development TeamsInclusive Design for Web Development Teams
Inclusive Design for Web Development TeamsShayne Rempel
 
Cincom Smalltalk Roadmap 2010
Cincom Smalltalk Roadmap 2010Cincom Smalltalk Roadmap 2010
Cincom Smalltalk Roadmap 2010ESUG
 
Analyzing Optimal Practises for Web Frameworks
Analyzing Optimal Practises for Web FrameworksAnalyzing Optimal Practises for Web Frameworks
Analyzing Optimal Practises for Web FrameworksIRJET Journal
 
Building an Angular 2 App
Building an Angular 2 AppBuilding an Angular 2 App
Building an Angular 2 AppFelix Gessert
 
Angular JS - Introduction
Angular JS - IntroductionAngular JS - Introduction
Angular JS - IntroductionSagar Acharya
 
Angular 2 at solutions.hamburg
Angular 2 at solutions.hamburgAngular 2 at solutions.hamburg
Angular 2 at solutions.hamburgBaqend
 

Similar to Google Web toolkit GWT 2.0 UiBinder Talk @ South Florida Google Technology User Group (GTUG) Meetup #3 (20)

Extending GWT
Extending GWTExtending GWT
Extending GWT
 
Typescript 102 angular and type script
Typescript 102   angular and type scriptTypescript 102   angular and type script
Typescript 102 angular and type script
 
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
 
Valentine with Angular js - Introduction
Valentine with Angular js - IntroductionValentine with Angular js - Introduction
Valentine with Angular js - Introduction
 
GWT 2.0 - OSCON 2010
GWT 2.0 - OSCON 2010GWT 2.0 - OSCON 2010
GWT 2.0 - OSCON 2010
 
Introduction to Google Web Toolkit
Introduction to Google Web ToolkitIntroduction to Google Web Toolkit
Introduction to Google Web Toolkit
 
GWT 2.0 - December 15 2009
GWT 2.0 - December 15 2009GWT 2.0 - December 15 2009
GWT 2.0 - December 15 2009
 
What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5What's new in Portal and WCM 8.5
What's new in Portal and WCM 8.5
 
Benefits and Features of CodeIgniter.pdf
Benefits and Features of CodeIgniter.pdfBenefits and Features of CodeIgniter.pdf
Benefits and Features of CodeIgniter.pdf
 
Codeigniter, a MVC framework for beginner
Codeigniter, a MVC framework for beginnerCodeigniter, a MVC framework for beginner
Codeigniter, a MVC framework for beginner
 
HostBridge Virtual User Group December 2020
HostBridge Virtual User Group December 2020HostBridge Virtual User Group December 2020
HostBridge Virtual User Group December 2020
 
Best Practices - By Lofi Dewanto
Best Practices - By Lofi DewantoBest Practices - By Lofi Dewanto
Best Practices - By Lofi Dewanto
 
Inclusive Design for Web Development Teams
Inclusive Design for Web Development TeamsInclusive Design for Web Development Teams
Inclusive Design for Web Development Teams
 
Cincom Smalltalk Roadmap 2010
Cincom Smalltalk Roadmap 2010Cincom Smalltalk Roadmap 2010
Cincom Smalltalk Roadmap 2010
 
codeigniter
codeignitercodeigniter
codeigniter
 
Analyzing Optimal Practises for Web Frameworks
Analyzing Optimal Practises for Web FrameworksAnalyzing Optimal Practises for Web Frameworks
Analyzing Optimal Practises for Web Frameworks
 
Building an Angular 2 App
Building an Angular 2 AppBuilding an Angular 2 App
Building an Angular 2 App
 
Azure Functions
Azure Functions Azure Functions
Azure Functions
 
Angular JS - Introduction
Angular JS - IntroductionAngular JS - Introduction
Angular JS - Introduction
 
Angular 2 at solutions.hamburg
Angular 2 at solutions.hamburgAngular 2 at solutions.hamburg
Angular 2 at solutions.hamburg
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 

Recently uploaded (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 

Google Web toolkit GWT 2.0 UiBinder Talk @ South Florida Google Technology User Group (GTUG) Meetup #3

  • 1. Google Technology User Group #3 Introduction to GWT UIBinder By Pradeep B Pillai
  • 2. 2 Quick Overview on GWT • Development toolkit, not a framework • Code in Java, run as JavaScript • One codebase, any browser • Makes Ajax a piece of cake...and faster
  • 3. Today’s Agenda A lot new in GWT 2.0 and beyond • UiBinder • ClientBundle • LayoutPanel
  • 4. What is UiBinder ? • Declarative User Interfaces • Write your HTML in HTML • Clean separation of the aesthetics of your UI from its programmatic behavior • No more Boilerplate code • Fewer widgets, smaller footprint • Easier for UI designers who are more comfortable with XML, HTML and CSS than Java source code
  • 5. UI In Java (old approach)
  • 6. UI in HTML using UiBinder approach <g:HTMLPanel> <div class='{style.logo}'/> <div class="{style.statusDiv}"> <div><b>Welcome back, foo@example.com</b> </div> <div class='{style.linksDiv}'> <g:Anchor ui:field='signOutLink'>Sign Out</g:Anchor> <g:Anchor ui:field='aboutLink'>About</g:Anchor> </div> </div> </g:HTMLPanel>
  • 9. <ui:style> element : inline css style
  • 10. <ui:style> element : external css style
  • 11. Inline Images and CSS Image Sprites
  • 12.
  • 13. Without Client Bundling Initial download Call to display images
  • 14. public interface Resources extends ClientBundle { public static final Resources INSTANCE = GWT.create(Resources.class); @Source(”common.css") public CommonCss style(); @Source(“logo.gif") public ImageResource logo (); @Source("images1.gif") public ImageResource image1(); ... } All at once using ClientBundle
  • 15. Accessing the external resource from UiBinder
  • 18. Dock Layout Panel Example from the GWT Mail Sample
  • 19.
  • 20. What’s coming up in the “Future”… GWT Designer (acquired from Instantiations) support for UiBinder
  • 22. 22 Resources Declarative Layout with UiBinder • http://code.google.com/webtoolkit/doc/latest/DevGuide UiBinder.html • GWT's UI overhaul: UiBinder, ClientBundle, and Layout Panels - Joel Webber, Ray Ryan • http://www.youtube.com/watch? v=g2XclEOJdIc&feature=player_embedded • Google Web Toolkit Best Practices Talk at Dev Nexus By Chris Ramdale of the Google Developer Relations Team • http://www.slideshare.net/cramsdale/gwt-best- practices-devnexus-2010

Editor's Notes

  1. helps productivity and maintainability — it&amp;apos;s easy to create UI from scratch or copy/paste across templates; makes it easier to collaborate with UI designers who are more comfortable with XML, HTML and CSS than Java source code; provides a gradual transition during development from HTML mocks to real, interactive UI; encourages a clean separation of the aesthetics of your UI (a declarative XML template) from its programmatic behavior (a Java class); performs thorough compile-time checking of cross-references from Java source to XML and vice-versa; offers direct support for internationalization that works well with GWT&amp;apos;s i18n facility; and encourages more efficient use of browser resources by making it convenient to use lightweight HTML elements rather than heavier-weight widgets and panels