PHP & AJAX Presentation Online
the.admin.man writes "There's been quite a bit of buzz around using PHP as a backend to AJAX-based web applications (the same development methodology on which some Google applications), lately, particularly after the release of JPSpan, a framework that helps building XML-based interfaces between Javascript and PHP apps. Just yesterday, Joshua Eichorn gave a presentation to the Arizona PHP Group on developing AJAX applications for PHP--he's posted the slides online, and will give his presentation again through a free webcast hosted by php|architect."
I got this crazy idea about becoming a web developer and I been learning all the individual technologies to put stuff together. But it seems like I'm missing the grand overview something that would tie everything together. Is AJAX the silver bullet I can use to build all those awesome Google-like websites? Or is it more alphabet soup that I'll probably end up throwing out later after I bought all the overpriced books?
...latter. Ajax, though neat, isn't going to change the world, but it will make a lot of websites a lot easier to use.
Generally, all Ajax does is replace the constant "page jumping" that occurs with past server-client web pages. For example, when you are looking for something, and you have to jump across a hundred pages to find it, or when you're filling out a form, it doesn't jump to a new page for "confirmation".
I'm sure there will be a lot of other great uses for it as well. Does anyone remember games like "Stellar Crisis"? I'm sure it'd stand to gain a LOT from Ajax.
"Victory means exit strategy, and it's important for the President to explain to us what the exit strategy is." G.W.Bush
I've been working in a prototype AJAX application for a while now and it really is a very nice idea. One cool thing that I discovered, is that javascript isn't the terrible language I always thought it was. Granted, it's not very sophisticated, but you can actually do OO programming in javascript. Notably, you can create classes, use event listeners on these classes.
However, what I'd really like to see is a good javascript library that acts as an abstraction layer that removes the browser differences in javascript, css and html support.
DNA is the ultimate spaghetti code.
Check the Python web framework from www.nevow.org (requires Twisted. It makes much more sense to implement Nevow's LivePage (which is basically the same thing as so-called AJAX approach) with Twisted Python webapps -- Twisted webapp is created once and then, runs non-stop at the server side. PHP scripts are executed on each request (so, objects are created every time you click anywhere), this gives you less possibilities of exploiting "live web page" approach.
Or, in other words: if you want your web pages to be live, make sure your webapp is also running in realtime (and is not just a script, executed on each request).
You can do "ajax" with any server-side technology, the key to ajax is doing HTTP calls via javascript instead of whenever the user clicks a link, so who cares what's on the other side?
;-)
Of course I have to plug Ruby on Rails here.. adding dynamic stuff to your app is just 1 or 2 lines of code. This is how it should be!
PHP is fine too, if you bill by the hour.
I had to go to the fellow's blog to find the slides... http://blog.joshuaeichorn.com/slides/Building_Rich _Web_Applications_With_AJAX/. Kind of buried the lead there...
And so, a month from now, I can watch the presentation? Hmm, Let me add that to my calendar. Why so far in advance?
"I have a cunning plan..."
"Was web terribly broken from the start?"
I believe it was okay by the time it was created.
"Is web terribly broken now?"
Perhaps.
"Is AJAX a way to fix that breakage a bit?"
Perhaps! Chances are it introduces more, but in fact, this is a pretty slick way to turn "one request, one web page" into "one request, one web page, lot of action later".
Right now, you don't have anything better (and, cross-browser, if we have just IE & Firefox in mind).
And, books? I don't think, that there are any... it's too fresh.
"Is AJAX the silver bullet (...) ?"
I believe it is. Only that you need to have a good library at both sides to nicely wrap it.
I've been using this technique for years - since 1998 I believe. The first application that I used it on was a kiosk. The kiosk application was done using IE and some ActiveX controls to read magcard from a reader and print to a serial port. Well, every time the page loaded, these ActiveX controls would take an eternity to init the serials ports and so on. So I put all that code into another hidden frame and used this hidden frame to control the display frame. Works great.
ayottesoftware.com
It's called Prototype, and it's available right here.
It's very well written, gets a lot of maintenance, and even has some eye candy as a bonus.
Slashdot. It's Not For Common Sense
For the love of all that's holy and good can we please stop calling it Ajax? It's one bloody JavaScript object. Great that it's being used more often, good on Google for getting it out there and popular but it just doesn't do the technology any good to overhype it. If we are going to call it something cute it should be Greasemonkey because monkeys and grease are cool.
.innerHTML = whatever). World changing or not it's more fun than a car full of fat people
In any case I've built a greasy little forum app that uses the shit out of XmlHttpRequest and it doesn't really require any special toolkits. It's just a matter of making calls to the server with JavaScript and using the response to populate your page (generally with
Check it out if you like http://beta.twelvestone.com/forum
Prototype needs docmentation badly. Probably the best way for you to learn it is to email the author and ask for some pointers.
You can also go to some Ajax-Enabled rails sites and see their source.
It's unfortunate, but that's just the way a lot of web development is these days. People just don't document they way they do in other circles.
Slashdot. It's Not For Common Sense
Ajax is just using XMLHttpRequest to get object and using Javascript DOM to update the page accordingly.
There are various ways to accomplish this, depending on what toolkits you use to make your website. But certainly, an Ajax'd web application feels a lot smoother and more friendly than a non-Ajax'd application.
It's especially useful when editing lists, tables, or groups.
Slashdot. It's Not For Common Sense