Big Web Five, No. 3: JavaScript…

To be honest I’m only learning about JavaScript – at least the New Way of JavaScript – at the moment myself, so I am far from a well-qualified person to speak about it in depth. However, suffice to say that modern JavaScript scripting is really, really cool.

And not just cool, but the web world as a whole seems to have grown up, and have realised that the DOM really is a standard, and that JavaScript can be used while still maintaining web standards adherence. Which is a good thing.

In fact I would go as far to say that it’s only because of the recent (last few years) recognition of web standards that modern JavaScript has been able to happen at all. After all, people must have thought “If we’re getting rid of the extraneous code in pages, and abstracting out presentational information from content then surely we can do that with interactive scripting as well?” But these are web-heads we’re talking about, so they probably thought “Isn’t it time to go to the pub yet?”.

I won’t bore you with waffling on about the possibilities modern JavaScript affords us, you’ve all seen GMail and Google Maps and other shining lights of this technology. However one interesting thing I saw today got me thinking. Several people have mentioned the possibility of JavaScript/DOM being the new Flash. I’m unsure about that, but it does say reams about how people are thinking about the potential capabilities of modern scripting.

So, if you want to see all this in action, you could do worse than to look at this nifty application which interrogates information from Delicious. Fantastic use of JavaScript from Johnvey.

And, of course, as I’ve said about HTML and CSS so far, as JavaScript is executed on the client-side it can be generated by anything you want on the server-side – PHP, ASP, ASP.NET, ColdFusion, Perl, Python etc etc. And that, dear friends, is where the real power of this comes in, and when I must move onto – perhaps – the most juicy part of this tasty technology quintuplet, server-side scripting. Watch this space…