Table of Contents
Preface xv Acknowledgments xix
About the Author xxi
Chapter 1: Developing Your Application 1
Rich Internet Applications 1
Advantages of GWT 4
Software Methodologies to Apply 5
Summary 8
Chapter 2: Getting Started with GWT 2 9
Why Use GWT? 9
The GWT Components 12
Setting Up GWT 17
Summary 20
Chapter 3: Understanding Projects and Development 21
Creating a Project 21
Project Structure 23
Running Your Application: Development Mode 27
Summary 30
Chapter 4: Working with Browsers 31
The Back Button Problem 31
Detecting the User’s Browser 43
Summary 53
Chapter 5: Programming the User Interface 55
Thinking About UI Patterns 55
Implementing MVP 59
Some Extensions 67
Declarative UI 69
Summary 76
Chapter 6: Communicating with Your Server 77
Introduction to RPC 77
RPC Patterns of Usage 84
Summary 118
Chapter 7: Communicating with Other Servers 119
The Same Origin Policy (SOP) Restriction 119
Our City Update Application 121
Receiving and Processing XML 125
Producing and Sending XML 131
Summary 137
Chapter 8: Mixing in JavaScript 139
JSNI 139
JSON 146
JSONP 153
Summary 155
Chapter 9: Adding APIs 157
A Weather Vane 157
Dashboard Visualizations 162
Working with Maps 168
Summary 175
Chapter 10: Working with Servers 177
The Challenges to Meet 177
Cryptography 179
Stateless Versus Stateful Servers 183
Common Operations 185
Summary 193
Chapter 11: Moving Around Files 195
Uploading Files 195
Downloading Files 204
Summary 209
Chapter 12: Internationalization and Localization 211
Internationalization (i18n) 211
Localization (l10n) 223
Summary 227
Chapter 13: Testing Your GWT Application 229
Why Testing? 229
Unit Testing with JUnit 231
Integration Testing with GWTTestCase 247
Acceptance Testing with Selenium 253
Summary 257
Chapter 14: Optimizing for Application Speed 259
Design Patterns for Speed 259
Speed Measurement Tools 277
Summary 286
Chapter 15: Deploying Your Application 287
Compilation 287
Modules 289
Code Splitting 291
Deployment 297
Summary 300
Index 301