Bulletproof Ajax (Voices That Matter) (英語) ペーパーバック – 2007/2/9
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
Step-by-step guide reveals best practices for enhancing Web sites with Ajax
- A step-by-step guide to enhancing Web sites with Ajax.
- Uses progressive enhancement techniques to ensure graceful degradation (which makes sites usable in all browsers).
- Shows readers how to write their own Ajax scripts instead of relying on third-party libraries.
Web site designers love the idea of Ajax--of creating Web pages in which information can be updated without refreshing the entire page. But for those who aren't hard-core programmers, enhancing pages using Ajax can be a challenge. Even more of a challenge is making sure those pages work for all users. In Bulletproof Ajax, author Jeremy Keith demonstrates how developers comfortable with CSS and (X)HTML can build Ajax functionality without frameworks, using the ideas of graceful degradation and progressive enhancement to ensure that the pages work for all users. Throughout this step-by-step guide, his emphasis is on best practices with an approach to building Ajax pages called Hijax, which improves flexibility and avoids worst-case scenarios.
Amazon.com で最も参考になったカスタマーレビュー (beta)
Chapter 1 answers the question "What is AJAX?" and gives a brief introduction and history lesson as to it's origins. This is very basic, but begins to get your feet wet understanding that AJAX is not a new technology - but one that has recently hit the spotlight.
Chapter 3 dives into the XMLHttpRequest object, its origins, and how to create a bulletproof instance of the object. This handles the differences between IE and other browsers and how they implement the request. He creates a wrapper for use (and use through the rest of the book) that allows us to send requests, receive responses, and then position it accordingly in the DOM.
Chapter 4 covers the Data Formats that are returned by our request. These include XML, JSON, and HTML. He covers each data format, and creates another wrapper for retrieving the different data formats.
Chapter 6 forces us to hit a wall (briefly). This chapter discussed the challenges that AJAX faces (and has faced in the past). Some of the challenges revolve around web services and connecting to remote API's, making your application backwards compatible, how to work around browser inconsistencies and consistencies (The back button and bookmarking), and how to wireframe an application that will change in each section.
Chapter 8 starts to wrap things up. Taking everything we have learned to this point, he discusses planning, applying, and bulletproofing your application.
Chapter 9, the final chapter, looks to the future of AJAX. Not only did it discuss the future - it covered many of the current frameworks available. He does a great job of discussing the good and bad of using frameworks - and where frameworks are best suited.
Ok, enough about how much I like this book, on with some details about the book:
Chapter 1: A nicely illustrated introduction of what Ajax is what pieces comprise it, who started using it, how it is used and why it is so "hype" right now.
Chapter 3: XMLHttpRequest - The "meat-and-potatoes" of how Ajax works. Jeremy does a great job of explaning the history of how this object got first developed (IE 5 - XMLRequest) and is used with proper object detection.
Chapter 4: Jeremy discusses the good and bad of using XML and JSON to transport data. Very helpful.
Chapter 6: Tough obstacles when developing Ajax apps such as: Bookmarking, Back button, user feedback are discusses to make sure the user experience continues to be a good one.
Chapter 7: Screen readers and Ajax - A tough sell.
Chapter 8: Putting it all together - A nice complete Ajax web app (Book Shopping Cart) that takes everything Jeremy has talked about up till now
Chapter: The Future? A discussion of the different frameworks available: Dojo, prototype, script.aculo.us, Y! UI, JQuery and mochikit.
As I've said before even though this book is short, the bang for the buck is more than any other Ajax book on the market today, hands down. Go out and buy it!
I found that "Bulletproof Ajax's" greatest strength is presenting ways to evaluate why and how a project should or shouldn't include Ajax:
1. Is Ajax appropriate for the project?
2. If yes, how will we most effectively implement Ajax?
4. How will we address accessibility issues?
Simply put, "Bulletproof Ajax" will allow YOU (the front-end guys and gals) to communicate with THEM (the back-end guys and gals) about Ajax and its implementation. This book can help you and your team clarify expectations about Ajax, implement user-centered solutions, and, in all likelihood, save you time and money too.
Thankfully, Jeremy Keith has stepped up to fill the void with Bulletproof Ajax. This book does not presuppose a heavy programming background. Instead, it is geared towards the web designer who wants to become more of a front-end developer. The prerequisites are: understanding of semantics, HTML and CSS. If that's you - good news! You already have a working knowledge of the Document Object Model, an essential piece of the Ajax puzzle. Who better to explain it, than co-lead of the DOM Scripting Task Force himself.
1. Plan for Ajax from the start.
2. Implement Ajax at the end.
"Just because you've hired a waiter doesn't mean you can fire the cook. Yet this is exactly what some Ajax applications attempt to do. Not content with having a waiter take orders and bring food, they get the waiter to do all the cooking too. Cooking should happen in the kitchen. Application logic belongs on the server. It's better for everyone that way. Your application will work more consistently when it's server-based. The browser environment is simply too unpredictable."
I also appreciated Jeremy's subtle sense of humor throughout the book: telling of the origins of the name Ajax, dating back to Greek mythology, and adding a tie-in with the name Jason when referring to JSON. If you didn't know, he's quite a trivia guru, especially when it comes to Star Wars Trivial Pursuit.
I applaud that Jeremy is using XHTML 1.0 Strict throughout this book, as opposed to XHTML 1.1 as in DOM Scripting. It avoids confusion over content-type: text/html vs. application/xhtml+xml. After all, the W3C themselves serve XHTML 1.0 Strict as text/html.
Overall, this book was a delight to read. It covers all the important aspects of Ajax, and even shows a few server-side examples written in PHP. Multiple techniques are addressed, including XML, JSON and innerHTML.
It gets you thinking, rather than ignorantly assuming that you're working in a controlled environment. Many server-side developers neglect accessibility and usability because they're too busy using bloated frameworks without understanding the underlying client-side principles. Quite frankly, I'm sick of it. Luckily, there's finally a book teaching the right way.
"Question the way you implement Ajax. Question the impact Ajax will have on your users. Question the need to use Ajax at all."
Jeremy also presents JSON scripting which he explains is a way to perform defacto Ajax without the limitation of same-site sources. JSON permits, in essence, cross-site ajax.