Friday, May 20th, 2005

Thoughts on Rich Clients and Ajax

Category: Ajax, Editorial

Flying back home in style (err, Southwest Airlines) after the recent Ajax Summit, I considered the “rich client” versus web app debate. With the emergence of Ajax, its gotten harder to choose between the two. After seeing what folks are doing with Ajax at the summit, its gotten *really* harder.

Sure, those doing crazy wild 3D stuff, heavy-duty client-side calculations, complicated off-line operations, and so forth will want to use rich client technologies. But for your average business form application, ajaxian frameworks are making it easy to create rich user interaction — the “rich” in “rich clients.” As cool as Java Web Start and .NET one-click is, nothing trumps a browser for ease-of-deployment.

And consider this. Brendan Eich, Mozilla’s rep at the summit (and the creator of JavaScript), stated that Firefox 1.1 will be including canvas, SVG, and E4X support. Wow, that’s huge. A best-of-breed XML API (on any platform or language), killer API for run-time rendering, animation, and manipulation of vector graphics, and the ability to draw anything — way beyond what we’ve been able to do before. (And don’t worry Mac heads, Brenden assures us Safari will also be doing SVG and E4X.)

If you don’t have a problem with Flash, you can actually do much of this stuff today — and you don’t have to surrender your app to the clutches of the Flash run-time. You can create individual Flash components that fit into a larger, primarily HTML webpage. These Flash components can interact with browser JavaScript just like any other DOM element. Neat.

And while we’re talking about Flash, one of the biggest holes in the browser platform, the lack of a reliable and consistent persistance store, is solvable today by using JavaScript to access the per-application cache that Flash provides — and Kevin Lynch assures me this is possible today. Wow. And if you won’t use Flash, Brenden tells me that the Firefox folks are open to doing something similar (IIRC). Hmm…

You know what? The browser is becoming a wicked interesting platform.

Posted by Ben Galbraith at 9:33 am
6 Comments

+++--
3 rating from 5 votes

6 Comments »

Comments feed

I agree that browser is becoming an interesting platform. There are still parts of the browser that remain maladjusted to browser-based clients. The back and forward buttons for instance. If you accidentally give the focus away from the application and press backspace, boum, you go back to the previous page. These are not show-stoppers but they’re annoying enough to make the browser an awkward place for applications today.

We also desperately need better API. Struggling with the DOM can be tedious for some complex UIs. Anyway, I’m glad to see that SVG and E4X are coming to our favorite browser. When I see what MacOS X Dashboard developers are capable of with plain XHTML/CSS and, sometimes, a few calls to the underlying Quartz engine, I dream of a bright future for browser-based apps :)

Comment by Romain Guy — May 20, 2005

Development is getting more interesting with all the new stuff out there and I have to agree that the browser is a pretty powerful container these days. I have heard the old argument of javascript incompatibilities between browsers and while there are a few it isn’t nearly as bad as it used to be. With all the frameworks coming out now, this is lessened even more. I used to build swing apps and really hated building web apps just because the whole request/response and session stuff was such a pain, but having built two ajax enabled apps myself I am truely excited about what I can with a browser these days. Throw in frameworks like what TrimPath has to offer along with some of the GUI stuff out there and really nice business apps are a possibility.

FYI Romain Guy: The dojo toolkit provides some libraries for handling things like the back button.

Comment by Robert McIntosh — May 20, 2005

Robert: Thanks for the tip.

Comment by Romain Guy — May 20, 2005

Presumably file intensive apps are also beyond the scope of web-based apps, even if they are trivial. My Swing apps relie on loading many large files. Can this be achieved with these web-based rich-client frameworks, i.e., utilising local files rather than uploading to a central server?

Comment by Andy Roberts — May 20, 2005

Andy:

Although a rich client may still suit your needs, the browser can read and write from the file system as long as you are granted permission from the user.

Dion

Comment by Dion — May 21, 2005

I find it great to fully exploit browser capabilities – thus turning the browser overweighted. Yet SVG manipulation support and E4X. What is the right balance…

Comment by Damien Corpataux — June 18, 2005

Leave a comment

You must be logged in to post a comment.