Ext GWT 2.0: Beginner's Guide


Ext GWT 2.0: Beginner's Guide
eBook: $23.99
Formats: PDF, PacktLib, ePub and Mobi formats
$19.20
save 20%!
Print + free eBook + free PacktLib access to the book: $63.98    Print cover: $39.99
$59.19
save 7%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Overview
Table of Contents
Author
Support
Sample Chapters
  • Explore the full range of features of the Ext GWT library through practical, step-by-step examples
  • Discover how to combine simple building blocks into powerful components
  • Create powerful Rich Internet Applications with features normally only found in desktop applications
  • Learn how to structure applications using MVC for maximum reliability and maintainability

Book Details

Language : English
Paperback : 320 pages [ 235mm x 191mm ]
Release Date : December 2010
ISBN : 1849511845
ISBN 13 : 9781849511841
Author(s) : Daniel Vaughan
Topics and Technologies : All Books, Google, Web Development, Beginner's Guides, Java, Open Source


Table of Contents

Preface
Chapter 1: Getting Started with Ext GWT
Chapter 2: The Building Blocks
Chapter 3: Forms and Windows
Chapter 4: Data-backed Components
Chapter 5: More Components
Chapter 6: Templates
Chapter 7: Model View Controller
Chapter 8: Portal and Drag-and-Drop
Chapter 9: Charts
Chapter 10: Putting It All Together
Pop Quiz Answers
Index
  • Chapter 1: Getting Started with Ext GWT
    • What is GWT missing?
    • What does Ext GWT offer?
    • How is Ext GWT licensed?
    • Alternatives to Ext GWT
      • GWT-Ext
      • Smart GWT
      • Vaadin
    • Ext GWT or GXT?
    • Working with GXT: A different type of web development
    • How GXT fits into GWT
    • Downloading what you need
    • Eclipse setup
    • GWT setup
    • Time for action – setting up GWT
    • GXT setup
    • Time for action – setting up GXT
    • GWT project creation
    • Time for action – creating a GWT project
    • GXT project configuration
    • Time for action – preparing the project to use GXT
    • Differences of GXT controls
    • Time for action – adapting the GWT app to use GXT controls
    • Summary
  • Chapter 2: The Building Blocks
    • The Ext GWT Explorer Demo
    • Essential knowledge
    • GXT building block 1: Component
      • BoxComponent
      • Lazy Rendering
    • GXT building block 2: Container
      • LayoutContainer
      • FlowLayout
      • ContentPanel
    • GXT building block 3: Events
      • Sinking and swallowing events
    • Introducing the example application
      • The requirement
      • The solution
    • Blank project
    • Time for action – creating a blank project
    • Viewport
    • Time for action – adding a Viewport
    • Layout
      • BorderLayout
    • BorderLayoutData
    • Time for action – using BorderLayout
    • Loading message
    • Time for action – adding a loading message
    • Custom components
      • The onRender method
    • Time for action – creating custom components
    • First field components
    • Button
      • Size
      • Icons
      • Icon position
      • Adding a menu
      • ToggleButton
      • SplitButton
    • Creating a Link feed button
    • Time for action – adding a button
    • Tooltip
    • Time for action – adding a tooltip
    • Popup
    • Time for action – creating a popup
    • SelectionListener
    • Time for action – adding a SelectionListener
    • Field
    • TextField
    • Time for action – adding components to the Link feed popup
    • Popup positioning and alignment
    • Time for action – positioning the popup
    • Summary
  • Chapter 3: Forms and Windows
    • Change of requirements
      • The RSS 2.0 specification
    • FormPanel
    • Fields
      • TextFields
      • TriggerField components
      • ComboBox component
      • ListField component
      • CheckBox components
      • HtmlEditor component
      • Other field components
    • Expanding the example application
    • Creating a Create feed button
    • Time for action – adding a Create feed button
    • Creating a Feed class
    • Time for action – creating a feed data object
    • Window
    • FitLayout
    • Creating the FeedWindow component
    • Time for action – creating a Window
    • Creating FeedForm
    • Time for action – creating a feed form
    • Validating fields
      • Text validation
      • Numerical validation
      • Custom validator
    • Time for action – adding field validation
    • Using FieldMessages
    • Time for action – adding FieldMessages to the fields
    • Submitting a form using HTTP
    • Alternative to submitting a form using HTTP
    • Creating a Feed service
    • Time for action – creating service for feed objects
    • The Registry
    • Storing the service in the Registry
    • Time for action – using the Feed object
    • Saving a Feed
    • Time for action – saving an object to the registry
    • Creating RSS XML
    • Time for action – saving a Feed
    • Time for action – adding to the LinkFeedPopup
    • Summary
  • Chapter 4: Data-backed Components
    • Working with data
    • ModelData interface
      • Method 1: Extending BaseModel
    • BeanModel class
      • BeanModelFactory class
      • Method 2: Implementing BeanModelTag
      • Method 3: Creating a BeanModelMarker
    • Time for action – creating a BeanModelMarker for Feed objects
    • Stores
    • Time for action – creating and populating a ListStore
    • Data-backed ComboBox
    • Data-backed ListField
    • Time for action – creating a ListField for feeds
    • Server-side persistence
      • Persisting an Existing Feed
    • Time for action – persisting a link to an existing feed
    • Time for action – persisting a feed as an XML document
    • Server-side retrieval
    • Time for action – loading feeds
    • Using remote data
      • DataProxy interface
      • DataReader interface
      • ModelType class
      • Loader interface
    • LoadConfig
    • How they fit together
    • Time for action – using remote data with a ListField
    • Grid
    • ColumnConfig
    • Grid Example
    • Time for action – creating the ItemGrid
    • GridCellRenderer
    • Time for action – using a GridCellRenderer
    • Summary
  • Chapter 5: More Components
    • Trees
      • BaseTreeModel class
    • Time for action – creating a BaseTreeModel
    • Time for action – providing categorized items
      • TreeStore class
      • TreePanel class
      • ImageBundle class
    • Time for action – using an ImageBundle
      • TreeGrid class
      • TreeGridCellRenderer class
    • Time for action – replacing the Feed List with a Feed Tree
    • Advanced grid features
      • HeaderGroupConfig class
      • AggregationRowConfig class
      • Paging
      • PagingLoadResult interface
      • PagingLoadConfig class
    • Time for action – providing paged data
      • PagingModelMemoryProxy class
      • PagingLoader class
      • PagingToolBar class
    • Time for action – creating a paging grid
    • Menus and toolbars
      • Menu component
      • MenuBar component
      • MenuItem component
      • CheckMenuItem component
      • MenuEvent class
      • ToolBar component
    • Time for action – adding a toolbar
    • TabPanel class
    • TabItem class
      • Status component
    • Time for action – adding a Status component
    • Summary
  • Chapter 6: Templates
    • Time for action – adding to the Feed and Item
    • Template class
    • Time for action – creating the ItemPanel
      • Using a Template with other components
    • Time for action – using a Template with a ListField
    • XTemplate class
      • The for function
      • The if function
      • Special built-in template variables
      • Basic math function support
      • Inline code execution
      • Using an XTemplate
    • The RowExpander class
    • Time for action – using a RowExpander
    • The ListView class
    • Time for action – creating a Feed overview ListView
    • The ModelProcessor class
    • Time for action – pre-processing model data
    • Item selectors
    • Time for action – making ListView items selectable
    • CheckBoxListView
    • Summary
  • Chapter 7: Model View Controller
    • The need for good application structure
    • The classic Model View Controller pattern
    • The GXT Model View Controller
    • The AppEvent class
    • The EventType class
    • Time for action – defining application events
    • Controller class
    • Time for action – creating a controller
    • Time for action – handling events
    • The View class
    • Time for action – creating a View
    • Dispatcher
    • Incorporating MVC
    • Time for action – registering a Controller with the Dispatcher
    • Time for action – refactoring UI setup
    • Time for action – creating the navigation Controller and View
    • Time for action – creating the FeedPanel Controller and View
    • Allowing viewing of multiple feeds
    • Time for action – adding tabs
    • Wiring it together
    • Time for action – responding to selections
    • Keeping things in sync
    • Time for action – responding to a Feed being added
    • Time for action – creating a status toolbar Controller and View
    • Summary
  • Chapter 8: Portal and Drag-and-Drop
    • Portlet class
    • The Portal class
    • ToolButton
    • Time for action – creating a Portal Controller and a Portlet View
    • Time for action – creating the Navigation Portlet
    • Time for action – creating more portlets
    • Drag-and-drop
      • The Draggable class
      • The DragSource class
      • DragSource implementations
      • The DropTarget class
      • DropTarget implementations
      • Grouping sources and targets
    • Using drag-and-drop
    • Time for action – dragging and dropping of feeds
    • Time for action – dragging and dropping items
    • Summary
  • Chapter 9: Charts
    • Time for action – including the chart module
    • Time for action – including the chart resources
    • Time for action – loading the chart JavaScript library
    • Chart class
    • Time for action – creating a chart Portlet
    • ChartModel class
    • ChartConfig class
    • BarChart class
      • CylinderBarChart class
      • FilledBarChart class
      • SketchBarChart class
      • BarChart.Bar class
      • HorizontalBarChart class
    • PieChart class
    • PieChart.Slice class
    • LineChart class
    • AreaChart class
    • ScatterChart class
    • StackedBarChart class
    • Using a PieChart
    • Time for action – creating PieChart data
    • Summary
  • Chapter 10: Putting It All Together
    • Using Google App Engine
    • Time for action – registering a Google App Engine application
    • Time for action – getting the application ready for GAE
    • Time for action – using the Google App Engine data store
    • Time for action – publishing the example application
    • Google Chrome
    • Time for action – creating a Google Chrome application shortcut
    • Gears
    • Mobile applications
      • PhoneGap
      • Widgets
    • The future for GXT
    • Getting more information
      • GXT Explorer website
      • GXT sample code
      • GXT Java doc
      • GXT Help Eclipse plugin
      • GXT source code
      • GXT forums
      • Other programmer forums
    • Summary
  • Pop Quiz Answers
    • Chapter 1
    • Chapter 2
    • Chapter 3
    • Chapter 4
    • Chapter 5
    • Chapter 6
    • Chapter 7
    • Chapter 8
    • Chapter 9
    • Chapter 10

Daniel Vaughan

Daniel Vaughan has worked with enterprise web applications for over 12 years. He is currently a software architect for a UK financial institution. An experienced Java developer, Daniel first started working with Google Web Toolkit soon after it was released in 2006 and loved the power and simplicity it bought to web application development. When Ext GWT came along he was an early adopter and has used it as part of several large projects.

Daniel currently splits his time between the beautiful tranquility of the Cotswolds, England and the fast-moving city state of Singapore. He enjoys travel, scuba diving, and learning new ideas.

Sorry, we don't have any reviews for this title yet.

Code Downloads

Download the code and support files for this book.


Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.


Errata

- 8 submitted: last submission 02 Aug 2013

Errata type: Typo | Page number: 48 | Errata date: 12 Apr 11

"toogleGroup" should read "toggleGroup" (third line, third word)

 

Errata type: Typo | Page number: 51 | Errata date: 12 Apr 11

"setContrainViewport" should read "setConstrainViewport" (list item 2) - it is correct in the code snippet but not in the explanatory text.

 

Errata type: code | Page number: 212-216

The creation of the StatusController class is missing some steps. This results in the statusbar not displaying when the application is run after following the printed instructions. The downloaded source code is correct. The missing steps are the creation of the line private StatusView statusView; and the creation of the methods @Override public void handleEvent(AppEvent event) { forwardToView(statusView, event); } and @Override public void initialize() { super.initialize(); statusView = new StatusView(this); }

Errata type: Typo | Page number: 51

"setContrainViewport" should read "setConstrainViewport" (list item 2) - it is correct in the code snippet but not in the explanatory text.

Errata type: code | Page number: 147

The last line in the code snippet of step 5 reads: menu.add(miCreateFeed)add; It should read: menu.add(miCreateFeed);

Errata type: Typo | Page number:128

URL string is not enclosed in quotes and line is missing semi-colon - first line of code snippet in step 3. Should be final String TEST_DATA_FILE = "http://feeds.feedburner.com/extblog";

Errata type: Typo | Page number: 189

Step 1 reads "...remove all the existing code apparent from the line...". This could be interpreted as "everything after the line...". Based on the sample code, the text should actually read "apart from"

Errata type: Typo | Page number:48

Typo - "toogleGroup" should read "toggleGroup" (third line, third word)

Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Frequently bought together

Ext GWT 2.0: Beginner's Guide +    Joomla! 1.5 Top Extensions Cookbook =
50% Off
the second eBook
Price for both: $37.50

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book

  • Get a development environment up and running quickly
  • Understand the working of Ext GWT and avoid common pitfalls
  • Make web applications behave like desktop applications by using the many UI widgets of Ext GWT
  • Design powerful, flexible forms to capture data
  • Easily load and manipulate data in the browser from multiple sources
  • Present information elegantly using templates
  • Structure larger applications using the Model-View-Controller pattern to ensure that different components are independent of each other
  • Create intuitive interfaces using drag and drop: a feature usually found only in desktop applications
  • Display plenty of information in a very simple way with the wide range of charts available in EXT GWT
  • Deploy applications to the world using Google App Engine

 

In Detail

Ext GWT, also known as GXT, takes Google Web Toolkit one step further by providing a wide range of powerful user interface components. It allows a developer to create powerful web applications that are almost like desktop applications. However to leverage all the features of this powerful Java library for creating desktop-style web applications, you need to learn how and when to use the right user interface component.

Ext GWT 2.0: Beginner's Guide is a practical book that teaches you how to use the EXT GWT library to its full potential. It provides a thorough and no-nonsense explanation of the Ext GWT library, what it offers and how to use it through practical examples. This book provides clear, step-by-step instructions for getting the most out of Ext GWT and offers practical examples and techniques that can be used for building your own applications in EXT GWT

This book gets you up and running instantly to build powerful Rich Internet Applications (RIA) with Ext GWT. It then takes you through all the interface-building widgets and components of Ext GWT using practical examples to demonstrate when, where, and how to use each of them. Layouts, forms, panels, grids, trees, toolbars, menus, and many other components are covered in the many examples packed in this book. You will also learn to present your data in a better way with templates and use some of the most sought-after features of Ext GWT in your web applications such as drag-and-drop and charts. Throughout the book a real application is built step by step using Ext GWT and deployed to Google App Engine.

Imagine how great you'll feel when you're able to create great-looking desktop-style user interfaces for your web applications with Ext GWT!

A comprehensive beginner's guide to building powerful rich internet applications using the Ext GWT library

Approach

This is a hands-on beginner's guide that builds a complete Ext GWT application through the book visiting a new set of features in each chapter. You will learn the entire range of features available in the Ext GWT library. At every point you will be given practical examples and techniques that can easily be adapted for your own applications.

Who this book is for

If you are a Java developer aspiring to build intuitive web applications with Ext GWT, then this book is for you. It assumes that you are familiar with HTML and CSS. Developers who wish to add an RIA look to their existing GWT applications with Ext GWT will find this book extremely useful.

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software