United.
The Holy Grail of web development is a language and development environment that unites client-side and server-side programming into one. There has been progress on this front - ASP.NET (using Visual Studio) is probably the best-known, allowing HTML page elements to be directly accessed from the server-side as server controls. It’s a shame the language has so many development overheads, and is, to be blunt, rather bloated, and, of course, being a Microsoft product, requires proprietary server technology. And we like open-source solutions here at Ego Id (as well as solutions that run on a Mac).
So, what do us open-source and Mac advocates have to play with? Well, there’s the new kid on the block, Ruby On Rails. It’s an impressive framework that makes prototyping website features incredibly quick, but, again, we run into that lack of support on the server side. There aren’t many hosts that support RoR yet (our own hosting certainly doesn’t), and there’s still a question of scalability. That leaves us with some of the new PHP-based frameworks, such as CakePHP, Symfony and so on. In some ways, they’re great, combining client-side AJAX functionality and server-side code nicely. But the code you need is still quite messy, non-intuitive and smacks of trying to squeeze extra functionality into something that wasn’t designed for it. Not to mention, if you try to use features from more than one framework, you run into compatability issues. It’s almost easier to hand-code everything.
The truth is, right now, there is no single solution that takes care of both the client and server sides. So we have to settle for a system that simplifies the interface between the two as much as possible. So, I’m forced to conclude that the Holy Grail for this sort of thing is staring us in the face, and, apparently, all us so-called “proper” web designers and developers are supposed to hate it.
It’s Flash.
Flash, on its own, offers the web developer pretty much the ultimate in customisation straight off the bat in terms of user interface design, and AJAX-style out-of-band functionality has been available since Actionscript first reared its head, and you were able to do a “tellTarget” to any Flash element. And, of course, provided you’ve got the Flash player installed, there’s no issues with browser compatability. With the introduction of Flex, Adobe have a full user interface development environment that ensures you can make the most of this customisability. What’s more, all the SEO arguments against Flash have now been silenced, since Google can now index SWF files, and server-size integration is easily achieved, since only the data layer really needs to be on the server-side. Flash sends a variable to a PHP page, the PHP page returns XML, which Flash interprets natively. That’s it.
Sure, Flash is closed-source, but the player is now so ubiquitous that it’s almost irrelevant. All we need now is for Apple to allow Adobe to release the Flash player for the iPhone. Oh, and while they’re at it, a version of AIR would go down well too - imagine how easy iPhone apps would be to develop if the iPhone supported AIR!