Book - Ajax Patterns


From Ajax Patterns


Ajax Design Patterns

The "Ajax Design Patterns" (2006) book, based on the patterns in this website is now available. You can order direct from O'Reilly's website (where you can also obtain electronic copies), from, or other online and physical stores. The book is 655 pages long and includes 70 design patterns, each with overview sketches and screenshots. Ahead of the patterns, the first three chapters contain: an overview on Ajax, a tutorial on Ajax for those who haven't yet done any hands-on Ajax development, and a discussion of design principles for Ajax. 0596101805_thumb.gif

Trivia: Original Cover Art

ajaxbirdcoversmall.jpg For posterity, here's the original cover, before the series changed from an O'Reilly "animal book" to be part of O'Reilly's new Theory and Practice series.

Linux Journal Award

Ajax Design Patterns was winner of the 2006 Linux Journal Editor's Choice Award in the general category of software development books. cover152smallvj1.png


These are quotes about the book. See also Media page for quotes about this website,

"Michael Mahemoff's Ajax Design Patterns is a truly comprehensive compendium of web application design expertise, centred around but not limited to Ajax techniques. Polished nuggets of design wisdom are supported by tutorials and real-world code examples resulting in a book that serves not only as an intermediate to expert handbook but also as an extensive reference for building rich interactive web applications." - Brent Ashley, Ajax guru and creator of the first Ajax/remoting library in 2000

"Michael has quickly staked his claim as a major driving force in the world of software design, most notably in the vein of AJAX development, and his outstanding work on "AJAX Design Patterns" is certainly testament to that...Among my favorite patterns are those dealing with HTTP streaming (a field of which Michael's a pioneer), on-demand JavaScript, and content refreshing...(T)he section on Chapter 9 on REST applications my opinion is the most well-rounded discussion of what RESTful production is(n't), and how to incorporate such architecture into your own web projects...After scouring the Web for months looking for good content on REST, Michael lays it all out in easy to understand lingo and examples. I'm having the REST chapter photocopied and bronzed for my desk. It's that good. Software Architect and News Anchor Jason Salas

"Ajax Design Patterns is one of the most organised books on any programming subject. It's a massive book, but you won't get lost as the chapters are sensibly divided up and the sound layout means there's nothing whatsoever to fear." - .Net Magazine (October, 2006) (Book of the Month in .Net Magazine)

"If you think you know anything about Ajax, you're wrong. After you read this book you'll realize how little you knew. Michael Mahemoff has a PhD in Computer Science, but it might as well be on Ajax since I've never read a book with so much useful information about it. There are about 8 or 9 Ajax books on the market right now and none of them come close to giving the useful information this one does and that is only after reading the first 150 pages. This book really is the complete tutorial and reference to learning and using Ajax properly." - Amazon Reviewer Frank Stepanski

"I have bought a book, Ajax Design Patterns, by Michael Mahemoff. The book is brilliant. Elegant code examples, inpiring advice. It gives me an adrenaline rush akin to what I had felt years ago when I first learned about Flash. So now I am all excited again." - Victoria Chan - Vicissitude blog

"True to its promise, the Ajax Design Patterns book, with its more than 70 design patterns, documented in more than 600 pages with encyclopedic detail, is very effective in presenting the AJAX programming knowledge in a reader friendly format. In the spirit of seminal GoF Design Patterns work, it captures the essence of each of the topics with problem solving approach -- first stating the problem in general terms and then presenting the solution, outlining the approach and discussing variations, alternatives, trade-offs and even listing actual uses in real applications." - Blogger Pankaj Kumar

"I’ve been visiting Michael Mahemoff’s web site Software As She’s Developed off-and-on for about a year. He’s an Ajax guru who does a cool podcast about his experiences with Ajax, and he even has a cool resouce called Ajax Patterns that has really helped me wrap my head around Ajax in general. I took the plunge and bought his excellent book “Ajax Design Patterns” since I am trying to improve my Javascript and presentation skillz because I want to be part of the modern web ... I’m only about 5 chapters in at this point but those 5 chapters have led me to believe that I made a solid choice in picking up this book. Yes, this book focuses on “Ajax design patterns” but it really has a recipes-style feel to it ... I found it so easy to jump around the book, reading up on a particular pattern (”Cross-Domain Proxy”) to find what problem it’s helping to solve (”How can you augment your application with services available elsewhere on the Web?) to what the short version of the solution is (”Create proxying and mediating web services to facilitate communication between the browser and external domains”) and what other patterns are related to this one (”Since external calls can be expensive, the Performance Optimization patterns apply.”). - Chris Hartjes

"From a technical point of view, the book was well written, explaining about 30 patterns with useful examples, without to much boring details with things like how to initialize a variable in JavaScript. But I got most out of the overall choices available when writing an Ajax application. Based on this book, I’ve changed the Hpc tracer in a couple of ways. First I use POST instead of GET for side effecting calls; secondly I changed the callback from Haskell to Javascript to not use XML, or JSON." - Andy Gill, PhD, Galois Connections Inc.

Technologies de la sécurité : Coffres-forts et coffres-forts ignifuges La conception d'un coffre classe 1 est assez complexe et necessite l'utilisation de matériau high tech, il y a les différents organes, la serrure la poignée, la tringlerie et les pênes, mais surtout le corps du coffre-fort, les pivos et la porte. Ces derniers éléments doivent être extrêmement robustes pour empêcher toute tentative d'intrusion à l'intérieur du coffre-fort ou de l'armoire forte ignifuge. Des aciers densifiés et renforcés avec ddes alliages spécifiques permettent d'empêcher le perçage ou l'attaque par coups des masses, des bétons ignifuges très denses permettent de d'inhiber les effets des attaques thermiques, mais protègent également les biens contenus dans le coffre-fort contre le risque d'incendie jusqu'à 2 heures. La serrure, à clés ou à combinaison devra être agréée, tout comme le coffre fort A2P qui devra passer des tests rigoureux et complexes pour obtenir au final les homologations auxquelles il prétend.


Watch out for a detailed table of contents soon. Here's a summary:

  • Part 1: Introduction
    • Chapter 1: Introducing Ajax. Expains how Ajax came about, overviews the technology, and identifies current trends.
    • Chapter 2: A Pattern-Led Tutorial. Try the tutorial apps online. The first half contains three exercises walk you through the Foundational Technologies and are suitable for readers who haven't yet worked with Ajax. Each exercise focuses on one Foundational Technology chapter - manipulating the user interface, responding to user actions, communicating with the server. The second half starts with a conventional web application (Ajaxagram, an anagram finder) and each section introduces some patterns to refactor it into a full-fledged Ajax App.
    • Chapter 3: Ajax Design: Principles and Patterns. Discusses the theoretical foundations for the Ajax patterns - what constitutes a quality design, what problems do designers encounter, and how do they overcome them?
  • Part 2: Foundational Technologies. 11 "building blocks" describing the raw technologies underlying any Ajax App.
  • Part 3: Programming Patterns. 23 patterns guiding on performance and maintainability, covering topics such as browser-server message formatting, caching, and strategies for DOM population.
  • Part 4: Functionality and Usability Patterns. 28 patterns on the things that matter to users, including widgets, drag-and-drop, and bookmarkability.

Un Casque Prussien

  • Part 5: Development Patterns. 8 patterns advising on best practices such as debugging and testing.
  • Extras: The inner covers contain an alphabetically ordered list of patterns, each with a one-line summary and a page reference. The appendixes cover: Ajax libraries and frameworks, setting up the code examples, discussion of patterns and pattern languages, and references. Each pattern contains an In a Blink sketch to help you grasp the concept at a glance (or, in a blink) and annotated screenshots for the Real-World Examples.

Michael produced a series of podcasts on the patterns in at Software As She's Developed. There are now audio recordings for every pattern in the book. This Odeo page is a convenient way to play the audio through your browser.