google web toolkit gwt 2.0 uibinder talk @ south florida google technology user group (gtug) meetup...

23
Google Technology User Group #3 Introduction to GWT UIBinder By Pradeep B Pillai

Upload: pradeep-pillai

Post on 13-Jan-2015

2.527 views

Category:

Technology


2 download

DESCRIPTION

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

TRANSCRIPT

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

Google Technology User Group #3Introduction to GWT UIBinder

By Pradeep B Pillai

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

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

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

Today’s Agenda

A lot new in GWT 2.0 and beyond

• UiBinder

• ClientBundle

• LayoutPanel

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

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

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

UI In Java (old approach)

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

UI in HTML using UiBinder approach

<g:HTMLPanel>

<div class='{style.logo}'/>

<div class="{style.statusDiv}">

<div><b>Welcome back, [email protected]</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>

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

Wiring up everything…

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

Wiring up everything…

Owner Java Class

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

<ui:style> element : inline css style

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

<ui:style> element : external css style

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

Inline Images and CSS Image Sprites

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

Without Client Bundling

Initial download

Call to display images

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

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

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

Accessing the external resource from UiBinder

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

After Bundling

Initial download

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

Layout Panels

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

Dock Layout Panel Example from the GWT Mail Sample

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

What’s coming up in the “Future”…

GWT Designer (acquired from Instantiations) support for UiBinder

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

21

Questions ?

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

22

Resources

Declarative Layout with UiBinder• http://code.google.com/webtoolkit/doc/latest/DevGuideUiBinder.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

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

23

ood Bye!