views:

287

answers:

6

I often hear people praising web applications (as opposed to desktop apps) for their portability. Indeed, making a desktop application available on multiple operating systems is difficult. However, I'd think web-applications have to deal with portability issues equally well, only between browsers instead of operating systems. Or is it not difficult to make a cross-browser web application?

+10  A: 

Browser compatibility is far far easily achievable compared to operating systems compatibility.

For detailed info on portability you can read this.

Software portability

rahul
This is true. but one has to admit making sure you well formed pretty website shows on IE6 is a complete nightmare :P
Nuno Furtado
But flaws like this can be easily rectified with no time.
rahul
@phoenix - "with no time" - are you serious?
Dominic Rodger
If you have experience dealing with such things, then, by all means, yes. It is extremely annoying, but, really, not as hard as people make it sound. Disregard what I said, though - IE6 needs to die.
shylent
+1  A: 

It all depends on what exactly you are trying to build. Some toolkits like the QT toolkit allow quite easy and fast compilation and cross platform portability. Web Apps are quite trendy and "in" at the moment as the culture of the Net is all to do with Mashups, distribution and what not. The problem is that this was never really envisaged when most browsers were made though they are getting faster. Thin Clients such as Google Docs and what not are indeed very useful but cant quite compete head to head with a desktop version but then, they arent trying to. its mainly down to what you use them for.

Oni
+6  A: 

Of course you are right that there are cross browser compatibility issues with writing web applications. But, as with desktop application development, there are frameworks and libraries you can use that will deal with this for you (e.g. JQuery, Google Web Toolkit, Yahoo UI).

One thing that stands out as being simpler with web applications is having a consistent look and feel across platforms. Browsers all use CSS and generally have consistent looking form elements (or will use the appropriate elements for the platform). With desktop applications a cross platform native look and feel is more difficult to achieve. One of the big criticisms for using Java for cross platform GUIs is that even when you use the platform look and feel it is not native enough. I am not sure whether libraries like Qt are better in this regard.

Mark
+5  A: 

Just keep in mind that for web applications, there are two levels of portability.

First and most important, the browser portability. But if the application has to run on more webservers, there is also server side portability. Most of the time you decide linux vs windows. But there are other issues (for example php version requirements).

Gamecat
+1 for the serverside versioning and architecture remark. The cheap hosting possibilities on *nix made PHP great, while ASP.NET still required dedicated servers at the time
Marco van de Voort
+1  A: 

If a web application carefully designed according to the MVC pattern, then the view-part (pages) is ported already.

If the business layer and the data layer are well designed (not spaghetti-code) and do not intermix, then they can also easily be ported (but that's true for desktop apps as well).

Anyway, web application are ported already - you can use them in many browsers on many platforms.

User
"web application are ported already": Is that really true? I recently made a *very* simple HTML+CSS page and it already looked different on Firefox and Internet Explorer. I had to use a patch for getting it to work on both browsers.
Dimitri C.
Desktop applications will also look differently with XP and Vista as they have their controls differently styled. That's a little nuisance that can probably be ignored.
User
A: 

Yes you can often build very highly interactive and rich web apps, unfortunately the development process is much more complicated due to the tools used, browser incompatibilities and so on. But things like Silverlight are making it easier.

There are still lots of places where desktop applications are far more appropriate.

Alan B