Product Details
Ajax in Action

Ajax in Action
By Dave Crane, Eric Pascarello, Darren James

List Price: $44.95
Price: $29.67 & eligible for FREE Super Saver Shipping on orders over $25. Details

Availability: Usually ships in 24 hours
Ships from and sold by Amazon.com

78 new or used available from $3.97

Average customer review:

Product Description

Val's Blog
"A tremendously useful field guide specifically written for developers down in the trenches...waiting for the killer solution..."

Book Description Web users are getting tired of the traditional web experience. They get frustrated losing their scroll position; they get annoyed waiting for refresh; they struggle to reorient themselves on every new page. And the list goes on. With asynchronous JavaScript and XML, known as "Ajax," you can give them a better experience. Once users have experienced an Ajax interface, they hate to go back. Ajax is new way of thinking that can result in a flowing and intuitive interaction with the user.

Ajax in Action helps you implement that thinking--it explains how to distribute the application between the client and the server (hint: use a "nested MVC" design) while retaining the integrity of the system. You will learn how to ensure your app is flexible and maintainable, and how good, structured design can help avoid problems like browser incompatibilities. Along the way it helps you unlearn many old coding habits. Above all, it opens your mind to the many advantages gained by placing much of the processing in the browser. If you are a web developer who has prior experience with web technologies, this book is for you.

What's Inside - Ajax principles
- Why Ajax design patterns matter
- How to avoid Ajax pitfalls
- Examples of Ajax in action: type-ahead suggest, live searching using XSL, and many more.
- Examples using Ajax frameworks: Prototype, Scriptaculous, x and Rico
- Ajax usability, security, and performance


Product Details

  • Amazon Sales Rank: #137048 in Books
  • Published on: 2005-10-01
  • Original language: English
  • Number of items: 1
  • Binding: Paperback
  • 650 pages

Editorial Reviews

Review
"A tremendously useful field guide specifically written for developers down in the trenches...waiting for the killer solution..." -- Val's Blog

From the Inside Flap
Preface Sometimes your destiny will follow you around for years before you notice it. Amidst the medley of fascinating new technologies that I was playing—I mean working—with in the early 1990s was a stunted little scripting language called JavaScript. I soon realized that, despite its name, it didn’t really have anything to do with my beloved Java, but it persistently dogged my every step.

By the late 90s, I had decided to cut my hair and get a proper job, and found myself working with the early adopters of digital set-top box technology. The user interface for this substantial piece of software was written entirely in JavaScript and I found myself the technical lead of a small team of developers writing window-management code, schedulers, and all kinds of clever stuff in this language. "How curious," I thought. "It’ll never catch on."

With time I moved on to more demanding work, developing the enterprise messaging backbone and various user interface components for an "intelligent," talking "House of the Future." I was hired for my Java skills, but I was soon writing fancy JavaScript user interfaces again. It was astonishing to find that some people were now taking this scripting language seriously enough to write frameworks for it. I quickly picked up the early versions of Mike Foster’s x library (which you’ll find put into occasional action in this book). One afternoon, while working on an email and text message bulletin board, I had the weird, exciting idea of checking for new messages in a hidden frame and adding them to the user interface without refreshing the screen. After a few hours of frenzied hacking, I had it working, and I’d even figured out how to render the new messages in color to make them noticeable to the user. "What a laugh," I thought, and turned back to some serious code. Meantime, unbeknownst to me, Eric Costello, Erik Hatcher, Brent Ashley, and others were thinking along similar lines, and Microsoft was cooking up the XMLHttpRequest for its Outlook Web Access.

Destiny was sniffing at my heels. My next job landed me in a heavy-duty development role, building software for big Tier 1 banks. We use a mixture of Java and JavaScript and employ tricks with hidden frames and other things. My team currently looks after more than 1.5 million bytes of such code—that’s static JavaScript, in addition to code we generate from JSPs. No, I’m not counting any image resources in there either. We use it to develop applications for hundreds of operators managing millions of dollars’ worth of accounts. Your bank account may well be managed by this software.

Somewhere along the way, JavaScript had grown up without my quite realizing it. In February 2005, Jesse James Garrett provided the missing piece of the jigsaw puzzle. He gave a short, snappy name to the cross-browser-asynchronous-rich-client-dynamic-HTML-client-server technology that had been sneaking up on us all for the last few years: Ajax.

And the rest, as they say, is history. Ajax is generating a lot of interest now, and a lot of good code is getting written by the people behind Prototype, Rico, Dojo, qooxdoo, Sarissa, and numerous other frameworks, too plentiful to count. Actually, we do try to count them, in appendix C. We think we’ve rounded up most of the suspects. And I’ve never had so much fun playing—I mean working—with computers.

We have not arrived yet. The field is still evolving. I was amazed to see just how much when I did the final edits in September on the first chapter that I wrote back in May! There’s still a lot of thinking to be done on this subject, and the next year or two will be exciting. I’ve been very lucky to have Eric and Darren on the book piece of the journey with me so far.

We hope you will join us—and enjoy the ride.

Dave Crane

About the Author

Dave Crane has 10 years+ in IT, using Java, PHP, Python, UNIX, etc. in the fields of digital TV, banking, and sustainable development. He is also a best-selling author of several Ajax books in the industry.


Eric Pascarello graduated from Penn State University in 2002 with a B.S. in Mechanical Engineering. Since then, Eric has been employed in the industry developing applications, primarily in VB.NET. The applications Eric develops focus on helpdesk support, management reporting, document management, and data recovery. In his spare time, Eric volunteers at www.JavaRanch.com, a friendly online community dedicated to helping people learn Java and Web technologies. Eric also enjoys wasting people's free time by developing JavaScript games that incorporate Artificial Intelligence.


Customer Reviews

Outstanding platform-generic look at real Ajax development5
Let me first preface this review by saying this is the first technical book that I've read cover to cover TWICE prior to posting a review. I had to make sure the stuff stuck, because the material covered in Manning's very excellent "Ajax in Action" is really deep. But bringing the next evolution of user experience, giving your web applications a rich client feel, isn't completely easy. This won't scare you away from using Ajax in your existing applications, but make you aware of exactly what to expect.

The book first starts out by presenting a healthy discussion of the key components of remote scripting - CSS, the DOM, JavaScript's XmlHttpRequest object and client callbacks - and how they interact within the scope of your project. Before diving into full-on Ajax development, authors Dave Crane and Eric Pascarello discuss the need for object-oriented JavaScript programing, which will be foreign and awkward to most developers, even those coming from procedural backgrounds like Java and C++. The authors familiarize you with the various ways of composing the unconventional constructs available (JSON-RPC, prototypes) for optimizing remote scripting.

Best practices are encouraged throughout the chapters and enforced in all code snippets. The use of patterns like Observer, Command and MVC and refactoring and module-based programming (mainly .NET assemblies and Java servlets) permeate the entire work. The actual meat of the book doesn't get started until Chapter 9, which the authors clearly state, dealing with the aforementioned discussion of raw JavaScript programming that'll be completely new to most people. But for those not wanting to engage in the massive task of writing syntax by hand, the major libraries available are thankfully referenced.

The book also isn't a "copyist's" title, one that can provide working code right out of the gate. Also, the audience for this work should be fairly sopisticated and experienced with modern-day web programming, as the book assumes a certain level of competency and doesn't waste time with rudimentary concepts or examples. Crane and Pascarello take a platform-agnostic look at incorporating Ajax-style programming into web applications, citing examples in PHP, Java and .NET, and accordingly the examples are all partial and abstracted, to be implemented in whatever platform the developer/reader is familiar with.

This is also one of the few books that I've ever recommended people read the appendices in addition to the chapters. Most titles have supplementary info that doesn't match the flow of the chapters, or exclusionary stuff you can skip, but this book is really a tome of good reading. Appendix B is an outstanding discussion on JavaScript OOP, providing an introduction to and examples in JSON.

Ajax programming is a lot more complex than it lets on, but not as daunting as you might think. This book is critical in your understanding of how to make the next big thing in web development to work for you. A must-have.

Viva La Revolución!5
Ajax is a Web programming technique that lets you develop rich, dynamic, interactive interfaces using nothing but JavaScript, HTML and CSS on the desktop. It's changing the landscape of the Web, and this book will help you gear up to be part of the revolution. Renaissance men David Crane and Eric Pascarello show you how to weave together the many pieces that make up an Ajax application: JavaScript, server-side components, HTML, CSS, and XML. More importantly, they teach you the tools and techniques you'll need to develop industrial-strength applications using JavaScript, a language that doesn't always get as much respect as it deserves.

This is really two books in one: first, it's a look at the Ajax technologies and prescriptions for their effective use. There are detailed discussions of relevant design patterns and of strategies for designing usable and secure applications. There are substantial discussions of a number of Ajax frameworks, libraries, and development tools, as well as developer features of Web browsers that you've probably never learned about but can't live without.

The second half of the book is a cookbook, a compendium of detailed blueprints for concocting your own versions of a trifecta of Ajax showcases: dynamic double combo boxes, typeahead select boxes, and Web portals with selectable, draggable portlets. There are even recipes for assembling standalone Ajax applications that use existing third-party Web services as a back-end. I liked that the cookbook built on the earlier parts of the book by deliberately applying the design patterns and refactoring techniques therein described.

If you're serious about helping to revolutionize the Web, you need this book.

get this one for Ajax or JavaScript5
"Ajax in Action" is not only an excellent book on Ajax, but the best JavaScript book I have ever read. The authors note early on that Ajax is a process, not a technology. This theme permeates the book. There is an emphasis on requirements, design, implementation, testing and maintenance. So the book shows how to do a real project, not just how to code.

Keeping with the real project theme, there is information throughout on refactoring and design patterns. The authors present low level coding idioms as well. All this creates a language for coding Ajax applications. The second half of the book walks you through the entire development process for five sample applications.

The book targets a wide audience range, from enterprise developers to self-taught scripters. Basic concepts are explained concisely for newcomers and experienced developers may skim certain sections. However these sections are a very small part of the 600+ page book.

An appendix covers an introduction to JavaScript. While you would want to supplement it with materials from the web, it clearly covers the advanced topics that are hard to find elsewhere. There are also introductions and tips on CSS and DOM. In short, I learned a ton about non-Ajax development and page manipulations too.

And the book even has a screenshot of JavaRanch! I was expecting a good book when I saw Bear and Ernest's comments on the back. But it still managed to exceed my expections!