HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Rough Cuts are manuscripts that are developed but not yet published, available through Safari. Rough Cuts provide you access to the very latest information on a given topic and offer you the opportunity to interact with the author to influence the final publication.
This is the Rough Cut version of the printed book.
In Essential App Engine, Adriaan de Jonge shows Java developers how to rapidly build complex, productionquality, performance-driven cloud applications with Google App Engine. Using a start-to-finish case study and extensive Java example code, De Jonge covers the entire lifecycle, from application design and data modeling through security, testing, and deployment.De Jonge introduces breakthrough techniques for creating applications that respond within two seconds, even on cold startup, and allow server responses in hundreds of milliseconds or less throughout the rest of the session. He also demonstrates how to avoid common mistakes that can dramatically reduce cloud application performance and scalability. He thoroughly covers state-of-the-art user interface development and shows how to make the most of Google App Engine’s extensive set of APIs. Coverage includes
Introduction xix
Acknowledgments xxvii
About the Author xxix
Part I: An App Engine Overview 1
Chapter 1: Setting Up a Development Environment 3
Working with Eclipse Tools 3
Deploying from the Command Line 14
Summary 16
Chapter 2: Improving App Engine Performance 17
Performing in the Cloud 17
Measuring the Cost of Class Loading 18
Avoiding Cold Startups 24
Improving Performance in General 25
Summary 27
Part II: Application Design Essentials 29
Chapter 3: Understanding the Anatomy of a Google App Engine Application 31
Uploading Files for Dynamic Deployment 31
Setting Up the Directory Structure 33
Configuring the Administration Panel 41
Summary 44
Chapter 4: Data Modeling for the Google App Engine Datastore 45
Moving Away from Relational Storage 45
Modeling Data 47
Working with Data 52
Summary 55
Chapter 5: Designing Your Application 57
Gathering Requirements 57
Choosing a Toolkit 58
Making Design Choices 61
Summary 65
Part III: User Interface Design Essentials 67
Chapter 6: Presenting the User Interface with HTML5 69
Introducing HTML5 69
Using Basic HTML5 Elements 70
Drawing Images Using the Canvas 72
Dragging and Dropping Items into Pages 74
Improving Form Elements 76
Detecting a User’s Geolocation 77
Storing Data on the Client Side 78
Summary 83
Chapter 7: Fine-Tuning the Layout Using CSS3 85
Selecting Elements Using CSS3 85
Using New Graphical Effects in CSS3 92
Summary 98
Chapter 8: Adding Static Interactions Using JavaScript 99
Setting Up a Simplistic Example 99
Cleaning Up HTML Using Unobtrusive JavaScript 102
Reducing JavaScript Dependence by Progressively Enhancing the HTML 106
Optimizing Performance Using Event Delegation 109
Avoiding Global Variables 110
Summary 112
Chapter 9: Adding Dynamic Interactions Using AJAX 113
Using Classic AJAX without Frameworks 113
Using Google App Engine’s Channel API 120
Summary 125
Part IV: Using Common App Engine API