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."
...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
Well... Funny thing, I was researching AJAX earlier today. It certainly looks cool, particualry if you read this article: http://www.adaptivepath.com/publications/essays/ar chives/000385.php
that's linked in the Wikipedia article and look at the cool stuff that Google's been doing with it. But I'm not convinced that it's far enough along for companies that don't have a ton Phds on staff to jump into... Has anyone here implemeted AJAX?
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.
After reading the article, it sounds like they are using a Javascript processor on the client side instead of using a PHP processor on the server side. Whether you use AJAX is really dependent on whether you believe processing should be done on the server, client or both. This is more alphabet soup. I'll stick with PHP on the server and Javascript on the client for now.
I have, on private sites, and I use xmlrpc rather than xml+xslt, but otherwise the same. I use virtual cowboys js lib for that. on the client, in ASP, i use the lib I worked over from Carter-Todd. In php, i don't, and I use Python's xmlrpclib to test the client-side stuff. I do database updates, retrieve values, settings, and html blocks (escape/unscape is your friend, since xmlrpc can't pass xml docs)
Should also say that it's not easy, but it's doable. Use firefox + webdeveloper toobar by Chris Pederick to get info on the page, and check that javascript console for error messages.
Finally, writing down on old fashioned paper what the beast will look like is invaluable.
"Piter, too, is dead."
Yeah, I've implememted it on our intranet for certain types of reporting.
:/
Personally, I love it. Once I figured it out, it struck me at how clunky my old code was. There are many areas where I went through WAY too much trouble putting things into JS arrays and whatnot because I didn't want the visitor to have to refresh. But now I can use common PHP code to get the data when I need it.
The one thing I will say is that there seems to be a lot of needlessly complicated example code out there. I've implemented the entire system in 3 JS functions, and it works flawlessly. I'd post it here, but somehow I feel I'd either be looked at as a karma whore or a redundant post.
Either way, you should try it. It's not that hard, and the results are definitely useful.
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..."
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
So except for the lack of XML or remote server calls that was just like AJAX?
Agreed... You can use callback IFRAMES to generate a lot of the same functionality as AJAX. You don't actually need the XML results to do the work, hidden iframes work just as well. They can also be more flexible, since you can embed javascript in the hidden frame to make a callback to the parent. The only down side is if the user is too "click-happy". You may not have time to load the hidden iframe's page...
I don't know exactly if/how AJAX style XML requests get around this.
"If we knew what we were doing, it wouldn't be called research." - Einstein
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
So AJAX - JA - X = A? So the guy wrote A Application. At least he removed an acronym, except now the grammar is wrong.
The dangers of excessive individualism are nothing compared to the oppressiveness of excessive collectivism
There is no silver bullet. To make a non-trivial web application you will need to write in the following languages/technologies:
SQL for the database.
A server-side application language like PHP, Coldfusion, Java/JSP, Ruby, etc.
HTML for the client-side layout.
Javascript for the client-side application program.
AJAX just refers to a Javascript programming technique.
> I got this crazy idea about becoming a web developer
I got this sane idea to STOP being a web developer... you know, what with having to pay rent and buy food and stuff...
- For the complete works of Shakespeare: cat
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