The Fat Client Returns! Air, Flex, Silverlight and AJAX

by jon on April 4, 2008

Call it what you will, the fat client is making a come back. In the late 90s, I thought that the Java applet would never rear it's ugly head again and at the time I was right. What I was wrong about, however, was assuming that Flash would essentially become the virtual machine with the greatest ubiquity. Adobe's pushing itself into the enterprise and competing for the fat client against the emergence of open source javascript frameworks and Silverlight. While I haven't seen a compelling reason to take Silverlight seriously on the web, Microsoft still has a prominent place in the enterprise and they'll likely shoehorn their shiny new virtual-machine-in-a-browser into company intranets due to the strong momentum behind C# and it's tight integration into the Microsoft technology stack.

Adobe's Flex and Air (the deployable runtime version of Flex) seem to stem from an opposite strategy: Instead of using an existing market share that consists of a heavy technology stack (MS SQL - MS Office - .NET - Reporting Services - BizTalk - etc..), they've managed to catch the adoration of the web through their already entrenched flash runtime and by laying out a language roadmap similar to C# and Java for Actionscript (while they still appear to be suffering from the growing pains of their MovieClip, Stage-driven birth.)

I have to give credit to Adobe for implementing the WebKit rendering engine inside their AIR runtime and providing support for the latest DOM querying language - E4X. This will help propagate Apple's open source code base which does wonders with Javascript (particular when dealing with animation). Especially since WebKit recently passed ACID3 (along with Opera) while Internet Explorer is still struggling to make it to the ACID2 finish line. I think they've made the best partnership possible for pushing a mature browser into an embedded runtime.

Whatever Happened to Statelessness?

Web developers love and hate statelessness. Managing session judiciously makes you ever-conscious about how you store and what you store of a particular user's interaction with your application. Everything is explicit, whereas when you develop a desktop application (or any runtime), statelessness goes out the window and you're left with an inverse architecture, where objects can be left behind or that panel you wrote can be caching private members and causing data inconsistencies and concurrency issues. As we start writing fat clients, data structures and concurrency issues will become ever more prevalent. Whether it's a local instance of an sqlite database that synchronizes with the mother site (the AIR / Microsoft OneClick model) or using the YUI Data structure and mapping it back to a database through an AJAX call to a web service.

In short, the next wave of web applications will likely involve web services, some XML / JSON, a light database on the client and a whole bunch of client-side processing. I'm still waiting for Adobe to start touting the Flash Virtual Machine as a potential competitor to NetBeans and JSP Servlets. After all, it makes sense to capitalize on the Flash or Flex client interacting with a robust Java back-end via web services.

{ 3 comments… read them below or add one }

Stephen James April 4, 2008 at 8:41 am

Adobe already do, it’s called “AVM” ActionScript Virtual Machine.

It’s like putting a piece of cardboard onto the back of a bicycle and calling it a motorbike, simply because it kind of sounds like one.

Good post though, Fat client never really left it was just lying dorment for a while until the web industry decided to go through another GetRichQuick.dot.com boom (v2.0 underway, lets say the words acquisition together, only this time with meaning in your voice).

Oh, I was told that majority of developers using Adobe products still are on ActionScript 2.0

jon April 4, 2008 at 8:48 am

Good point about the AVM… I’d like to see it catch on but I think you’re dead on about how most people are stuck writing derivatives of Kirupa sample apps. I just downloaded the 60 day trial for Flex Builder 3 and it’s promising… it’s not nearly as mature as the Microsoft offering, but I can only hope that this will be a half decent underdog.

M April 15, 2008 at 10:36 pm

i’m just stalking your blog bc i miss you, even though I don’t understand half of this stuff.

Leave a Comment

Previous post:

Next post: