24 May 2014: New revision is now available. Fully revised and re-edited.
HTML5 web applications are now capable of matching or exceeding the scale and sophistication of desktop applications, but with the unique advantage of running natively inside the web browsers on billions of desktop computers, phones, TVs and tablets.
This revolution (or more correctly - evolution) has happened for a number of reasons:
- Browsers have introduced new standards-based APIs allowing web applications to (amongst other things) store data offline, retrieve data from the server dynamically, spawn background processes and interact with the filesystem.
- The jQuery library has eased the pain of interacting with Document Object Model, and therefore writing applications that dynamically respond to user interaction.
- The HTML markup language has been overhauled and extended to provide more semantic meaning, and many additional elements and attributes.
This book is not a simple introduction to the subject matter: it guides you through the process of building a feature-rich web application. The application begins simple, and becomes gradually more complex as additional APIs and features are introduced. This book includes the following content:
- An introduction to the HTML5 markup language, and how it differs from HTML4 and XHTML.
- An introduction to jQuery selection, traversal, manipulation and events.
- An in-depth look at the Web storage and IndexedDB APIs for client side data storage.
- A guide to implementing offline web applications with the Application Cache API.
- A guide to the use of Web Workers in web applications.
- An introduction to AJAX, and the jQuery API supporting AJAX.
- An introduction to Server Sent Events and Web Sockets.
This book is intended for anyone with at least a superficial knowledge of HTML and programming (in any language).
Table of Contents
Chapter 1: Introduction
Chapter 2: About This Book
Chapter 3: A Brief Overview Web Applications
Chapter 4: HTML5 Markup Language
Chapter 6: jQuery
Chapter 7: Debugging
Chapter 8: Moving to a web server
Chapter 9: Building the Web Application
Chapter 10: Managing Client-side Data
Chapter 11: Tidy up the Application
Chapter 12: Offline Web Applications
Chapter 13: Working with Files
Chapter 14: Web Workers
Chapter 15: AJAX
Chapter 16: Server Sent Events and Web Sockets
Chapter 17: Error Handling
Chapter 18: Conclusion
Appendix A: Cascading Style Sheets
Appendix B: Recommended Libraries