Book Review: Enterprise AJAX — Strategies For Building High Performance Web Applications

By  on  

In the interest in full disclosure, I was sent this book by Prentice Hall in hopes that I would review it. I'm reviewing this book, however, in the interest of my audience.

Enterprise AJAX -- Strategies For Building High Performance Web Applications

Written By
David Johnson, Alexei White, Andre Charland

Published By
Prentice Hall / Pearson Education

Publisher Summary:
Writing for enterprise developers, architects, and user interface specialists, the authors explain why AJAX offers such great promise in large-scale development. Next, they systematically introduce today's key AJAX techniques and components.

You'll walk through developing frameworks for building AJAX applications that combine data tables, Web forms, charts, search, and filtering: the very systems businesses depend on in CRM, ERP, BI, and beyond. Then, building on this strong foundation, the authors identify proven AJAX architectural patterns, and present case studies drawn from actual .NET and Java AJAX applications. Coverage includes:

  • Using AJAX to implement Model-View-Controller (MVC) in the browser
  • Encapsulating user interface functionality to facilitate code reuse and reduce cross-browser development problems
  • Overcoming the unique security challenges associated with AJAX Web applications
  • Optimizing AJAX usability: the "back" button, caching, bookmarking, offline usage, and beyond

From security to scalability to project risk, this is the only book to cover all the issues facing AJAX developers in the enterprise. Whether you're migrating legacy HTML interfaces or building new applications from scratch, you'll find it absolutely indispensable.

The Review

Nothing is more important to me than credibility when it comes to programming and technical books. As any seasoned programmer knows, the reference / guide book gets you 30% there and the other 70% comes from banging your head against the wall for hours (until you read my blog, of course.) That's why Enterprise AJAX: Strategies For Building High Performance Web Applications started off on the right foot with me. The authors of this book are the architects of Nitobi Software, creators of AJAX Components for .NET, Java, PHP, ASP, and ColdFusion.

Enterprise AJAX starts extremely slow, covering basic internet mainstays: browsers and browser versions, JavaScript syntax, the DOM, and popular JavaScript frameworks. Boring? Yes. Helpful? Probably Not. Necessary? Per the publisher's request, probably. Luckily, the book speeds up.

The real insightful part of the book comes in when the authors begin to write about AJAX Components in chapter four, using Google Maps as its primary example. The chapter moves on to sorting tables using JavaScript and then to JavaScript templating systems.

The book then delves into design and deployment, presenting various steps of JavaScript development, including prototyping, wireframing, and other design decisions. Chapter six continues the AJAX creation process with AJAX architecture, which includes caching and other speed-related decisions that can make or break AJAX usage on your website. Other chapter six features include load balancing, clustering, and scaling.

Chapter seven, Web Services and Security, discuss keeping your AJAX scripts secure from automated and user-based attacks. Chapter eight moves on to AJAX usability. Usability is key in the web today and when it comes to AJAX, usability tends to become an afterthought. The authors of Enterprise AJAX provide many workarounds and best practices for dealing with specific browser quirks.

The book rounds out with three more useful chapters: User Interface Patterns, Risk and Best Practices, and Case Studies.

Favorite Chapter

Chapter six, AJAX Architecture, was my favorite chapter of them all. Chapter six provides strategies and examples with regards to caching and throttling AJAX code. Speed is AJAX's main purpose, in my opinion -- if not for AJAX, we could simply make clicking links refresh the page. As with most aspects of computer development and speed, caching is extremely important. For developers who obsess over optimal loading time, this book may be worth the price just for this chapter.

The Verdict

Enterprise AJAX: Strategies For Building High Performance Web Applications is a well thought out book written by experts who have been there and done that. The book starts with the foundations (boring, but necessary for web/javascript beginners and novices) and carries the developer through to the final implementation and maintenance of AJAX features.

Unfortunately for the authors of this book, JavaScript framework creators such as the MooTools, Prototype, and jQuery teams have made AJAX development so easy that starting from scratch with AJAX is no longer the norm. Most developers site on one part of the JavaScript framework fence.

This book is clearly still relevant and provides great insight into AJAX -- its power and drawbacks.

Recent Features

  • By
    Conquering Impostor Syndrome

    Two years ago I documented my struggles with Imposter Syndrome and the response was immense.  I received messages of support and commiseration from new web developers, veteran engineers, and even persons of all experience levels in other professions.  I've even caught myself reading the post...

  • By
    Introducing MooTools Templated

    One major problem with creating UI components with the MooTools JavaScript framework is that there isn't a great way of allowing customization of template and ease of node creation. As of today, there are two ways of creating: new Element Madness The first way to create UI-driven...

Incredible Demos

  • By
    Dynamic Waveform Visualizations with wavesurfer.js

    Waveform images are an awesome addition to boring audio widgets.  They can be functional as well as aesthetically pleasing, allowing users to navigate audio visually.  I recently found wavesurfer.js, an amazing waveform image utility that uses to Web Audio API to create super customizable...

  • By
    Form Element AJAX Spinner Attachment Using MooTools

    Many times you'll see a form dynamically change available values based on the value of a form field. For example, a "State" field will change based on which Country a user selects. What annoys me about these forms is that they'll often do an...

Discussion

    Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!