Preface
Introduction
Part Ⅰ. BuildingYourApplication
1. Mocking Up the Save The Child Application
Considering Mobile First
Introducing Balsamiq Mockups
The Project Owner Talks to a Web Designer
Creating First Mockups
Turning Mockups into a Prototype
Single-Page Applications
Running Code Examples from WebStorm
Our First Prototype
Our Main Page JavaScript
The Footer Section
The Donate Section
Adding Video
Adding the HTML5 Video Element
Embedding YouTube Videos
Adding Geolocation Support
Geolocation Basics
Integration with Google Maps
Browser Feature Detection with Modernizr
Search and Multimarkers with Google Maps
Summary
2. Using Ajax and JSON
Understanding Ajax
Understanding JSON
Working with Ajax
Retrieving Data from the Server
Ajax: Good and Bad
Populating States and Countries from HTML Files
Using JSON
Populating States and Countries from JSON Files
Using Arrays in JSON
Loading Charity Events by Using Ajax and JSON
Using JSON in CMS
Handling JSON in Java
Compressing JSON
Adding Charts to Save The Child
Adding a Chart with the Canvas Element
Adding a Chart by Using SVG
Loading Data from Other Servers by Using JSONP
Beer and JSONP
Summary
3. Introducing the jQuety Library
Getting Started with jQuery
Hello World
Using Selectors and Filters
Testing jQuery Code with JSFiddle
Filtering Elements
Handling Events
Attaching Event Handlers and Elements by Using the Method on()
Delegating Events
Using Ajax with jQuery
Handy Shorthand Methods
Programming Save The Child by Using jQuery
Login and Donate
Loading HTML States and Countries by Using jQuery Ajax
Loading JSON States and Countries by Using jQuery Ajax
Submitting the Donate Form
Using jQuery Plug-ins
Validating the Donate Form by Using a Plug-in
Adding an Image Slider
Summary
Part Ⅱ. Enterprise Considerations
4. Developing Web Applications in the Ext JS Framework
5. Selected Productivity Tools for Enterprise Developers
6. Modularizing Large-Scale JavaScript Projects
7. Test-Driven Development with JavaScript
8. Upgrading HTTP to WebSocket
9. Introduction to Web Application Security
Part Ⅲ. Responsive Web Design and Mobile Devices
10. Responsive Design: One Site Fits All
11. jQuery Mobile
12. SenchaTouch
13. Hybrid Mobile Applications
14. Epilogue
A. Selected HTML5 APIs
B. Running Code Samples and IDE
Index