Fog Creek Software
Discussion Board




Welcome! and rules

Joel on Software

When not to build a Web app

My boss thinks every application should be a Web App.
I disagree. I think some apps are too small, or have reports that work better as client server. I looking for some
pros and cons.

Michael Seberg
Wednesday, March 19, 2003

The biggest pro for web apps is zero deployment. You can, however, get this benefit with a web-server-served client/server application as well.

The biggest con for web apps is that it usually takes 2-3x the effort to make an app that's 75% as good. At least, that's been my experience. You take a document presentation technology like HTML and attempt to do things except present documents, and you run up against limitations all over the place.

That's not to say that web apps aren't useful, but they're hardly the be all, end all that IT departments have called them. The world changes with .NET, but only if you push it. It won't happen by default.

Brad (dotnetguy.techieswithcats.com)
Wednesday, March 19, 2003

Well, they are the be-all and end-all that IT departments wish for.  They consolidate app deployment and maintenance into one location (well, two if you count keeping the clients browsers up to date).

IT's desires don't necessarily jive with that of the programmers and users though.

The main problem I've seen with web-apps is that users have no control over the version of the software they run.  Some people are VERY visual and non-technical.  This doesn't make them stupid, but if you so much as change the color scheme of your app, they'll be hopelessly lost and require re-training.

.NET provides a nice compromise here.  You can build the UI as a native application and use Web Services to do the logic.  You pay a serious price in performance sometimes (but not much if your app was client/server anyhow), but you can update the Data and Business layers of all your clients simultaneously and let them keep the UIs that they are comfortable with (and easily add web and mobile UIs too).

<flame>You could do this in Java too, but then your app would gobble tons of RAM, be slow as hell (unless you optimize it a TON), and never quite look right.</flame>  But if you base the core functionality of your app around Web Services, then having multiple UIs (.NET for windows, Java for other platforms) isn't that hard anyways.

Richard Ponton
Monday, March 24, 2003

Thank You!

Two good answer and some extra ammo I need.

Michael Seberg
Tuesday, March 25, 2003

*  Recent Topics

*  Fog Creek Home