Slashdot Mirror


Head Rush Ajax

barryhawkins writes " Programmers are flooded with choices about which technologies to pursue in order to maintain a marketable skillset. Even in a particular area of programming like web applications, one must choose carefully where to invest time. Ajax, to the regret of some and delight of others, has emerged as a means of providing rich, responsive web applications that are highly cross-platform. However, when arriving home after a 10-hour day at the office programming, who has the energy to plow through yet another new facet of emerging technology? If a developer is going to invest their free time in self-driven career development, should it not be at least remotely enjoyable? Judging from the content of O'Reilly's new release Head Rush Ajax, their answer is yes." Read the rest of Barry's review. Head Rush Ajax author Brett McLaughlin pages 413 publisher O'Reilly Associates rating 9 reviewer Barry Hawkins ISBN 0-596-10225-9 summary A learner's introduction to Ajax, Asynchronous JavaScript and XML for web application programming

Like its forerunner the Head First series, the Head Rush line approaches learning a given technical topic with the principles derived from studies in cognitive science, neurobiology, and educational psychology. It comes as no surprise that the classic approach of turgid, monotonous, visually-fatiguing tomes is not the ideal way to have someone learn a topic. Learning is aided by having variation in the way content is presented. This book moves between presentation of information, application through interactive exercises, and review questions that stimulate the reader and invite them to continue in the book's journey through Ajax. Each exercise is also tied to a storyline, where the reader has a person with an application that needs to be enhanced by the application of the skills being learned.

Head Rush Ajax scales well. Ready-to-run scripts for the more technical components of the sample applications are provided so that a reader with only a background in HTML and CSS will not experience barriers to participation early in the book. This facility does not come at the expense of the experienced web developer; anyone who knows their way around a PHP script and databases is free to write the server-side code on their own. Some readers may look upon the choice of PHP for the back-end scripts as regrettable, particularly those with Java and .Net backgrounds. However, the focus is on Ajax itself, and not the particular back-end platform providing the HTTP responses. Those who look upon that sort of thing with scorn typically view Ajax as a novelty itself, so the number of complaints about using PHP should be relatively low; the dissenting voices will have probably passed over Ajax for the time being anyway.

The author never takes himself too seriously; the informal tone of the book is comfortable, like having a conversation with one's colleagues at the office. The balance of levity and solid technical content is refreshing, making this volume of some 400 pages reach its end surprisingly soon. Retro cartoon graphics and narrative comments like "Now, everyone hates you. You're an idiot, and all this Ajax stuff was a waste of time" when a URL caching error is uncovered make for a genuinely enjoyable read.

The Document Object Model, or DOM, has long had a reputation for being an unwieldy and problematic interface to manipulate. The tree metaphor used in this book along with the series of progressive exercises present the DOM in a refreshingly approachable manner. By the end of the DOM-specific coverage, an entire application has been created that is highly dynamic yet involves no Ajax-specific coding. The critical role of the DOM in effective use of Ajax is driven home without being heavy-handed.

The choice between using XML and JavaScript Object Notation (JSON) for receiving data via HTTP responses is another entertaining treatment of a topic that is often grounds for argument between practitioners of web development. The author comes across with a pragmatic viewpoint, preferring JSON as the simpler choice that is most often adequate and does not bear the high ceremony that accompanies proper handling of XML via the DOM. Two of the sample applications choose opposite means of receiving their data, once again fleshing out a topic in a concrete manner rather than pontificating about the virtues of either approach.

The progression of the book is masterful. The types of issues that typically plague web applications are addressed in the order they tend surface during the lifecycle of a real-world application. Proper functionality is the first stage, followed by enhanced functionality, then onto issues with synchronicity, security, and more complex domain model requirements. A reader can pass through an encapsulated representation of application lifecycles by working through the book from start to finish.

The goal of Head Rush Ajax is to have the reader learn Ajax, not master it. At the conclusion, the author appropriately offers topics for further exploration in the form of two appendices. The first appendix covers Ajax toolkits, user interface libraries, DOM utilities (most of which are built plugins for the browsers in use on desktops every day), and JSON libraries. Links to the project sites provide easy access to pick up where the book's coverage leaves off. The second appendix provides deeper insight on the internals of two JavaScript utilities provided for use in the exercises throughout the book. One is an Ajax-specific set of common infrastructure for typical Ajax applications, while the other provides convenient methods for DOM manipulation. Head Rush Ajax is a most enjoyable launchpad into the world of Ajax web applications, well worth the investment in time and money."

You can purchase Head Rush Ajax from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

12 of 122 comments (clear)

  1. Invest in People, Not Skills by neuraljazz · · Score: 4, Insightful

    Reviewer says:
    Programmers are flooded with choices about which technologies to pursue in order to maintain a marketable skillset.

    A better skillset is the standard:
    - Bathe frequently
    - Show up on time
    - Learn people skills (don't assume less experience is stupidity)
    - Learn how to LEARN

    Buy the book if you need to learn AJAX, not because you're afraid you're no longer on the bleeding edge of programming languages.
    -nj

    1. Re:Invest in People, Not Skills by jbellis · · Score: 4, Insightful

      Like it or not, the majority of employers do at least some screening by skill-set. You could be God's Own Lead Developer, but if all you know is COBOL, you won't be getting a call.

  2. Re:No monster.com activity for AJAX by CastrTroy · · Score: 5, Insightful

    I don't think you'll find a lot of jobs that will employ you just for your ajax skills. If you're a web developer, than you'd better learn how Ajax works. Just like it's probably a good idea to know HTML, Javascript, PHP, ASP.Net and other web technologies. Getting into that rut where you only know one thing is where a lot of people go wrong. There isn't a whole lot to learn about AJAX. If you know Javascript, and understand XML, Stylesheets, and HTML, you pretty much know everything you need to know. You just have to learn how to put them together.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  3. Enjoy Yourself by cerelib · · Score: 2, Insightful

    If Ajax does not seem enjoyable to you, don't try to learn it as a career skill. If somebody hires you because you know Ajax then you might get stuck doing something that you don't enjoy. I do not have a large interest in web apps, but I do have interest in digital audio. So I do digital audio and MIDI stuff on my spare programming time and hope to make a career out of it some day. Follow your interests.

  4. Ajax is kinda cool but.. by Kranfer · · Score: 3, Insightful

    While I tend to agree that you need to keep your skillset up, as not to appear at the bottom of the development ladder, I must say from what we have used of AJAX here at work, it is something that I would have to recommend to any developer out there that works with web applications. However, jumping on the bandwagon and learning AJAX just because its the newest and greatest thing does seem rather stupid. Keep your skill setup by Learning to learn new and exciting things while incorporating it into work. Why learn something on your own time when it can make you more productive at work, while learning it on the job?

    --
    -- Josh
    "Whoopie! Man, that may have been a small one for Neil, but that's a long one for me!" - Pete Conrad
  5. Web development is simple... by reebmmm · · Score: 3, Insightful

    ... and just about any paradigm will do. However, the problem is that most developers don't have the basic skills in the basic tools of their trade:

    • html
    • javascript
    • css

    If you need a new book every time some new acronym for a combination of those three things, you'd better check your skill set.

  6. Ah, a new member of the club by Catbeller · · Score: 2, Insightful

    However, when arriving home after a 10-hour day at the office programming, who has the energy to plow through yet another new facet of emerging technology?

    It's called aging, kid. Welcome to the club!

  7. It's not enough. by stonecypher · · Score: 2, Insightful

    Ajax doesn't matter until we get raw headers and server push. Until then, it's limited to server-pull, polling, and web servers.

    --
    StoneCypher is Full of BS
  8. Re:Save $14.80 by buying the book here! by stonecypher · · Score: 2, Insightful

    Yes, let's all click your shop link, kaleidojewel-20. Did you know that Amazon's terms of service explicitly prohibit forum spamming?

    --
    StoneCypher is Full of BS
  9. Re:Head first series is great. by JulesLt · · Score: 2, Insightful

    It's taken me a few years and a lot of tech books to appreciate what they're doing; most books make the mistake of trying to mix tutorial with reference.

    That means you end up with a very bloated reference book, and a poorly structured learning experience - i.e. my general experience is that authors will try and structure a book so that they start with simple concepts - primitive types, basic conditional control - before building up to collections, iteration, etc - but suffering from needing to introduce some features too early in order to get full coverage.
    Do you cover iterating over a collection in the chapter on collections? Or iteration?

    Perhaps a neat marketing idea would be if they sold them with a matching slim reference volume.

    --
    'Capitalists of the world, unite! Oh ... you have' (League Against Tedium)
  10. Re:Amazon has it much cheaper. by Anonymous Coward · · Score: 1, Insightful

    Nice affiliate link you troll. Come up with your own original idea for earning quick bucks. You are less worthy than the lowly disgusting piece of slime at the bottom of my shoe.

  11. Ugh , not flash by Viol8 · · Score: 2, Insightful

    Flash might make your life easier but its a pain for us users. Slow to low and
    startup , usually with some irritating intro the spotty faced adolescent who
    programmed it thought look "Kool", not to mention the fact that flash on certain
    platforms has bugs that stop it working properly and worst of all , NO HISTORY!
    If I've spent 10 mins navigating something I DO NOT want to end up back at the
    start just because I pressed the back button!

    Flash is fine for games, for grown up stuff its garbage.