How to be an instant Web me-2.0 developer

If you're so smart, how come you ain't rich?

What does the P in LAMP stand for?

The best way to go about any small-to-medium scale web 2.0 development is to use LAMP. Others may advocate Microsoft's tools and platforms if they wish, but I have been terminally put off by the remarks of one insider.

This leads on to the question: what does the 'P' stand for? For me, it must always mean PHP. Perl is just too bizarre-looking, and carries more than a whiff of 1996. I was put off Python by an early Bayesian spam filter that ran dog slow and had the habit of irreparably corrupting its database every few weeks. PHP is easy, sensible and quick.

By the way, while we are here, I am baffled by Coding Horror's suggestion that PHP sucks because it has a lot of standard library functions beginning with 'A'.

Huh? 'Lots of functions' is surely good. It means we can call them, instead recoding them again already. That's how it is with the library thing. Would he really think it better if it only had three functions - say add() for addition, arcsin() for a bit of token trig, and aaaaargh() for throwing an error? I'd genuinely like to know.

Despite Mr Atwood, the PHP library continues to grow apace, and think it is a good thing. I believe the pester_victim_with_stupid_emails() function was added only last month, to help out everybody writing Facebook applications.

We should pause to consider Ruby on Rails




Ok, done that.

AJAX for a cleaner kitchen

Finally, having established that PHP is what you need on the server, you may be wondering what tools I recommend for client side use. That is, after all, why we are here. The following table should make my position clear.

Tools for Web 2.0 coding
Tool What is it? Pros Cons Verdict
Delphi for PHP 2.0 A PHP-generating IDE that lets you drop Javascript widgets on a form. It's better than Delphi for PHP 1.0. It's mad. It mixes PHP and Javascript event handlers in the same source code file. Something else for Embarcadero to look into.
Dojo A framework library of AJAX Javascript classes, including widgets. It has various competitors, but is a reasonable candidate for the best of the bunch. Open source, surprisingly good docs. Widgets are uniformly designed and reasonably handsome.  Hard to use. You have to build up your screen layouts by hand, one dreary <div> at a time. Get a tag or attribute wrong, and the whole thing goes spectacularly yet nearly untraceably pear-shaped. Perhaps come back in a year, if they make a design environment to go with.
GWT ie Google Web Kit AJAX and Java libraries plus a Javascript-to-Java translating tool. It's from Google. They practically invented Web 2.0. A Java-to-Javascript translator? Icky! Icky! Icky! Euuggh! What were they thinking?
Flash and Flex Adobe's ubiquitous web enricher, based on a superior flavour of Javascript. Flex is the cheaper, techie-oriented IDE. Flash programmers are often from a designer background, are easily impressed by code expertise such as knowing how to write a sort. Or indeed a loop. It's Flash. The application arrives as a big ugly lump of proprietary gunk. And have you seen how much wonga they want for the Flash development environment? No way. If I use this, the Open Source Erics will lynch me.
Java applets You remember. The status bar. 'Applet loading…' Supported by Netscape 2. If I write the word 'crapplet', does that make this article NSFW? I bet Sun hopes that everybody had forgotten.
OpenLaszlo Open source alternative to Flash that practically nobody has heard of. Sounds like a good idea. Can either use the Flash runtime, or DHTML. When I looked at the OpenLaszlo site with Firefox, the basic layout came out all wrong - a major turn off in the circs. It's one thing to go out on a limb, but this feels like going out on a twig.
Silverlight Microsoft's 'Flash killer', about to go into a new version. Version 1.0 was reputedly a weedy effort; it is said that the inclusion of .NET languages will improve version 2.0 It's Microsoft, for heaven's sake. They of the terrible websites. Apart from everything else, at time of writing it's a beta.

There, I trust that has sorted out your Web 2.0 toolchain for you. If you want more information, I found a useful-if-naturally-biased comparison on the Dojo site, and several good Wikipedia pages. But I am getting dangerously close to supplying useful information, so I had better stop. Best of British. ®

Sponsored: 5 critical considerations for enterprise cloud backup