News for hackers. Stuff that matters.
Re:Flash vs. Ajax (merits of platforms building 'Buzzword' w... by mxh on Monday June 18, 2007 @02:06AM (#28812)
My definitions:

Web App: Application developed entirely using open standards, which (aims to) run in any browser, requiring no additional vendor plugins.

Desktop App: Application designed to launch from the user's desktop, without reference to a web browser.

Thick Client: Any desktop app that makes heavy use of the Internet, or any "Web App"-like thing that makes use of non-standard extensions to the browser.

Reasonable people may disagree on this, and the differences are pretty fuzzy, but my distinctions are based upon the development problems I feel each type of approach must address.

Web App: Works on (most any) platform, no installation, but you have to deal with cross-browser issues, and you're limited by the technology of the web (no local FS access, for instance.)

Desktop App: Tied to one architecture (or worry about JVM incompatibilities), installation hassles, but you get an incredibly rich set of capabilities.

Thick Client: If it's a desktop app that talks to the network, you've got all the desktop tradeoffs, plus richer data, plus worries about what happens when the user works offline. If it's a "Web App" using non-standard extensions (Flash, Silverlight) you've got to worry about whether the user has the right version installed, and licensing hassles and/or fees on the server side and/or in the toolchain. You're also constrained by the capabilities of the extensions, but, in practice, development seems easier than for a pure Web App.

I realize that these definitions mean that lots of things (YouTube) people think of as Web Apps aren't (to me, anyway), but I'm okay with that. It seems a crucial distinction that, once you're targeting the Flash client, you're not really solving the same set of (technical) problems as someone targeting a browser.

There are no comments on this comment yet.