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
    JavaScript Promise API

    While synchronous code is easier to follow and debug, async is generally better for performance and flexibility. Why "hold up the show" when you can trigger numerous requests at once and then handle them when each is ready?  Promises are becoming a big part of the JavaScript world...

  • By
    Vibration API

    Many of the new APIs provided to us by browser vendors are more targeted toward the mobile user than the desktop user.  One of those simple APIs the Vibration API.  The Vibration API allows developers to direct the device, using JavaScript, to vibrate in...

Incredible Demos

  • By
    CSS Gradients

    With CSS border-radius, I showed you how CSS can bridge the gap between design and development by adding rounded corners to elements.  CSS gradients are another step in that direction.  Now that CSS gradients are supported in Internet Explorer 8+, Firefox, Safari, and Chrome...

  • By
    Create a Simple Dojo Accordion

    Let's be honest:  even though we all giggle about how cheap of a thrill JavaScript accordions have become on the web, they remain an effective, useful widget.  Lots of content, small amount of space.  Dojo's Dijit library provides an incredibly simply method by which you can...

Discussion

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