Head Rush Ajax 122
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.
Head first series is great. (Score:3, Interesting)
Re:Head first series is great. (Score:3, Informative)
Re:Head first series is great. (Score:2)
Re:Head first series is great. (Score:3, Insightful)
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 som
Ajax web framework support (Score:4, Interesting)
Re:Ajax web framework support (Score:5, Funny)
Re:Ajax web framework support (Score:4, Informative)
Re:Ajax web framework support (Score:1)
As buzzwords go, those are low-hanging fruit. If you were more proactive, you would have incentivised yourself to think outsize the box.
Re:Ajax web framework support (Score:1)
Re:Ajax web framework support (Score:1)
Re:Ajax web framework support (Score:1)
Re:Ajax web framework support (Score:1, Flamebait)
Re:Ajax web framework support (Score:4, Funny)
My apologies, but "FecesFlingingRhesus" is not on our list of paid shills. My best guess is that he might be a member of the cult [pathf.com].
Best regards
--Tod Liebeck (Director of Shills and Level 6 Cult Leader)
NextApp, Inc.
Re:Ajax web framework support (Score:1)
-Dietrich
Re:Ajax web framework support (Score:1)
Re:Ajax web framework support (Score:2)
However they now have a pre-beta DHTML runtim
Tree metaphor (Score:5, Funny)
Wow. A tree metaphor for the DOM! Now that's a new idea!
Invest in People, Not Skills (Score:4, Insightful)
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
Re:Invest in People, Not Skills (Score:5, Insightful)
Re:Invest in People, Not Skills (Score:2)
You're right, I don't think I'd hire Azreal, angel of death to program my system in COBOL.
Re:Save $14.80 by buying the book here! (Score:3, Insightful)
No monster.com activity for AJAX (Score:4, Interesting)
I beefed up my resume on Monster.com expecting a flood of Ajax inquiries. Although 2 recruiters have contacted me recently, neither was interested in my Ajax stuff. Just PHP, Oracle, SQL server, etc.
I'm quite surprised - either I suck (alway a possbility), or Ajax jobs are not the hot thing right now.
Re:No monster.com activity for AJAX (Score:5, Insightful)
Re:No monster.com activity for AJAX - Dead right (Score:2)
180 SQL
100 Java
50 C++
40 C#
5 AJAX
20 PHP
2 Python
To tell some Programmer that they need to learn AJAX is internet meme following BS. If you want a job now, or in the next year or so, solid Java and SQL skills are the main thing you want followed by C++.
I
Re:No monster.com activity for AJAX - Dead right (Score:1)
Re:No monster.com activity for AJAX (Score:2)
Enjoy Yourself (Score:3, Insightful)
Re:Enjoy Yourself (Score:2)
Terrible advice. Follow the market. Let your interests influence the decision.
I kinda like computers and really like girls. But, due to market forces, I didn't make enough money to retire in a reasonable time when I was a bikini inspector. So I followed the market and became a coder. Now I have financial security and its not THAT much wors than being a BI. The paperwork's a bitch in both.
Re:Enjoy Yourself (Score:2)
Re:Enjoy Yourself (Score:3, Interesting)
Re:Enjoy Yourself (Score:2)
Now what would you like on your hot dog?
Other Ajax Books (Score:3, Informative)
Ajax is kinda cool but.. (Score:3, Insightful)
10 hour days? (Score:5, Funny)
Dude, if you had just developed it in AJAX you'd get it done in half the time.
Re:10 hour days? (Score:2)
Re:10 hour days? (Score:2)
Re:10 hour days? (Score:2)
I've got mine set up todo that asyncronously while i browse slashdot.
Re:10 hour days? (Score:1)
KFG
Re:excuses (Score:1)
Re:excuses. Kids are not a hindrance to learning.. (Score:1)
Re:excuses. Kids are not a hindrance to learning.. (Score:2)
around with your fists on your hips a lot while surveying us lesser mortals
and just shaking your head in disbelief that some people just like to relax
after working their arses off in an office for 10 hours?
"Oh yeah and sleep is overrated. "
Yeah , whatever. Idiot.
Re:excuses. Kids are not a hindrance to learning.. (Score:1)
Get it straight next time fucko, it's Mr. Unbelievable not Mr Fuckin-Amazing. That's my cousin's name.
Cheers
Re:excuses. Kids are not a hindrance to learning.. (Score:1)
Amazon has it much cheaper. (Score:4, Informative)
Re:Amazon has it much cheaper. (Score:2)
Re:Amazon has it much cheaper. (Score:1, Insightful)
AJAX online tutorials [LINK] (Score:5, Informative)
http://121space.com/index.php?showtopic=1875&st=0
It's moving so fast I'd be hesitant to grab a book yet -- YMMV.
10-hour day? (Score:2)
HOUR
DAY??
is that what passes for exhausting to the new crowd of code monkeys?
Re:10-hour day? (Score:4, Funny)
I know what you mean. I put in a 10 hour day when I'm on vacation. Geesh. Slackers.
Re:10-hour day? (Score:1)
Re:10-hour day? (Score:1)
How did we get into this rut, this "I work harder than you do" bullshit that permeates the programmer culture? When did it become "ok" to work 80 hours a week?
My company realised along time ago that all this unpaid overtime is a waste -- sloppy code and unhappy employees are worthless bi-products of this mentality.
You are not permitted to stay after hours unless it is absolutely necessary for maintenance work, in which case, you can either come in late that day or take off those hours the next day.
Nobod
Re:10-hour day? (Score:2)
UNPAID
OVERTIME???
go hourly. you'll find yourself smiling through 100-hour weeks and 4-month vacations.
Re:10-hour day? (Score:1)
Re:10-hour day? (Score:1)
They're known as:
A) A life
B) A girlfriend.
Re:10-hour day? (Score:2)
c) no hope of ever making more than $29.50/hour...
Re:10-hour day? (Score:1)
Keep your basics polished (Score:1)
Once you have understood how programming languages work (the usual combo of C/C++/Java ought to teach you most of it) you will have a fair idea of what to expect from other programming environments. Once you have that you can pick up any new programming language
I haven't done much Ajax programming at all (I've used a combo of javascript and iframes once. Does that
Re:Keep your basics polished (Score:2)
Re:Keep your basics polished (Score:1)
Ajax? Head Rush? (Score:2, Funny)
Web development is simple... (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:
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.
waiting for the next bunch of reviews from barry (Score:1)
1. allergy SOAP
2. mental block SOA
3. fractured XML cast XSL
4. on rails Ruby
?
Re:waiting for the next bunch of reviews from barr (Score:1)
Basic AJAX (Score:3, Informative)
And basic AJAX skills CAN be acquired with a 10 minute tutorial if you know a little javascript and a little of any CGI-type backend (PERL, ASP, PHP, PLONE etc.)
Don't be afraid of the hype if you feel you don't have the time to learn. Any web programmer needs to know this, and it's pretty simple. Sure, you can do some weird cool stuff and get complex, but the concept is simple and you don't need to learn anything really new.
Take a tutorial now. At work. I mean, the stuff on the screen is still just magic inscriptions and incantations to the non-geeks and PHBs anyway.
Re:Basic AJAX (Score:2)
Better Ajax (Score:5, Informative)
My point is: If you want to "learn" Ajax, learn how it works, write a class that does the stuff you will typically do, then use the class. It'll save you tons of time, code, and frustration in the end. Ajax is actually worth using now and has helped my company separate PHP code and HTML in our intranet web apps without using a template engine, which makes our PHP guy happy that I'm not fudging with his code and makes me happy that our PHP guy isn't fudging with my design.
Re:Better Ajax (Score:1)
Apply that idea more generally (Score:1)
I think that should apply to pretty much anything. Whenever you encoun
Re:Better Ajax (Score:1)
"get content and put it in this div"
and via the cunning use of innerHTML instead of XML/DOM parsing all i need to do with my basic ajax framework is
fAJAXRequest( sTargetID , sURL , sPost , sWait , sError );
w
AJAX message board. (Score:2)
Please try it out before you mod me. It's not bad, if I do say so myself.
Re:AJAX message board. (Score:1)
1.) New messages don't appear on new lines in Safari. Someone on there (not sure if it was you) told me it works fine in other browsers, though.
2.) Change the 'add' hyperlink to an input type submit and add its onclick event to the onsubmit handler for the form and change the form action to an anchor reference on the current page. That way, when the user hits enter, the current message will submit to the handler without having to cli
Re:AJAX message board. (Score:2)
2. I'll look that up. As I said, I'm not too good with JS currently. More a server-side man.
3. Every post prefixes the first 2 octets of the IP - is that not what you want?
Re:AJAX message board. (Score:1)
To be blunt, Safari has such a small audience, I'm not sure the fix is worth the trouble, especially when you're new to JavaScript. If you do want to fix it, you could research DOM methods to inject new elements
Re:AJAX message board. (Score:2)
Check back now. It now greys out peoples messages that have left.
Re:AJAX message board. (Score:1)
Ah, a new member of the club (Score:3, Insightful)
It's called aging, kid. Welcome to the club!
Re:Ah, a new member of the club (Score:1)
New Pink Floyd album? (Score:1)
Examining AJAX (Score:1)
The AJAX technique appears to be pretty simple. To me, it looks just like RPC. I've been pouring over the Google Maps JavaScript. It appears to marshall (unmarshal) native data types to (from) XML, which it exchanges with the back-end server over HTTP. The hard parts, I imagine, are in developing the XML style sheet (i.e. the RPC protocol itself) and in creating the user interface (i.e. the RPC client). The only documented samples out there mimic Google Suggest, which is pretty straightforward when com
Deobfuscated Google (Score:2)
It's not enough. (Score:3, Insightful)
Re:It's not enough. (Score:1)
The issue is that existing web server frameworks generally don't support keeping connections open to clients, or perhaps they just can't scale if they do.
Of course, this technique is yet another hack (like most everything in the browser world
Don't like retraining yourself every 6 months? (Score:1)
I got out of IT completely because of the constant pressure to learn a new skillset every few months. And for what? Increasingly criminal PHBs and diminishing returns.
I'm a farmer now.
Bullshit (Score:2)
Working on Firefox and IE6 only isn't highly cross-platform (and that's the case with most of these apps). That's Medieval Internet ruled by NN+IE.
Google's apps turn out to be more challange than Acid2 test (Safari and Opera are constantly screwed by not-so-standard and not-so-valid "OMG AJAX" code).
Great Review (Score:1)
AJAX is a bandaid over a dying platform (Score:1)
Is it just me, or are highly cross-platform & browser based javascript mutually exlusive concepts? I attended the Sun Dev days here in Melb a few weeks back, where one of Sun's evangilists described AJAX as an exciting emerging technology providing rich clients to the web. I'm sorry, but it's neither exciting, nor emerging. AJAX is a bandaid over th
MOD PARENT UP (Score:2)
AJAX *can* accomplish some cool things, there's so doubt. But to pretend it's NEW and COOL and the FUTURE is sad. I won't add too much to your post - you said it very well.
Re:AJAX is a bandaid over a dying platform (Score:2)
True. Unfortunately try telling that to gullible middle management who listen
sheep fashion to all the marketing evangelists from various vested interests
trying to flog them WebBaseAppOfTheWeek and then think virtually anything can
be done easily or efficiently with a browser.
Beyond AJAX (Score:2)
AJAX is like a house of cards, and when a browser vendor screws up on a revision it'll all come tumbling down. Div tricks are nice and all, and I expect that there will be a couple javascript frameworks that rise above the rest, but if I'm going to do an app in a browser then I'll just bypass all those headaches and
Re:Beyond AJAX (Score:2)
In brief, the product allows you to code Flash in C# from Visual Studio, and you get access to a reasonable selection of the .NET framework, ported to Flash. Anyway, it made the dif
Ugh , not flash (Score:3, Insightful)
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.
Re:Ugh , not flash (Score:1)
Re:Ugh , not flash (Score:2)
Flash is fine for games, for grown up stuff its garbage.
AJAX is monkey feces for grown-up applications.
Re:Ugh , not flash (Score:1)
flash (Score:1)
Re:I was wondering (Score:1)