Advantages of web applications over desktop applications [closed]

只愿长相守 提交于 2019-11-27 10:17:37
  1. Web applications avoid the burden in deploying in each client machine.

  2. Don't have to enforce version check in client machine.

  3. Updates are easier.

  4. Makes bug fixes easier.

  5. No administrator rights checking.

  6. Can access from anywhere.

  7. Platform independent.

  8. Support and maintenance are easier.

  9. Adaptability in mobile applications.

Desktop applications give a far superior user experience than web applications.

Sure every option has its pros and cons, but you need to rate these as well. Which is more important to you, user experience or platform independence? We rate user experience above many things. Yes we are making sacrifices, but that's part of life.

One way to convince your superiors is to prove to them that the user experience is lightyears ahead on a desktop application and try to convince them to create a desktop application before making the web application.

We have both at our company and our customers prefer the desktop app over the web app any day. They're quite willing to accept any disadvantages that comes with using a desktop application.

I'm not listing the advantages of a web app in my answer as others have done. Web apps and desktop apps both have pros and cons. Do both! Let your customer choose. Get back to me on the statistics. ;-)

I've done a fair bit of development writing both rich desktop apps and web sites.

Generally writing code for a desktop app is easier, there are more controls available, you have much greater control over how the app works.

Writing web applications really requires you to understand HTML, CSS and Javascript, as well as the limitations (or bugs when talking about IE) of the browsers. You have to worry about state and persisting it, and the mechanisms available to you are limited.

Having said that, over time I find myself enjoying writing web applications more and more. The limitations of the the platform makes you simplify things, and the statelessness of the web helps manage some of the complexity. My last web project went live and the business required virtually no training because non technical people are now familiar with webpages and how they work. It is also great just to put a fix in and have it go live straight away. If you've ever worked with upgrading desktop apps you will no doubt know how complicated and painful it can be.

Recently we have had some success with a mixed strategy (webtop), writing the main system as a web site, but then providing a client side application for power users who need more features. This can either host a browser control (in windows you can embed IE easily, in OS X you can do the same with safari), or use an API. Much like how Twitter gives you a web version, but power users can use TweetDeck or whatever.

  • All users always uses the latest version
  • No piracy
  • Accessible from wherever your users are
  • Cross platform
  • No installation required for the users
  • You can easily measure what your users are doing (how many are using feature XX etc)
  • You can provide easy collaboration between your users if necessary, as all data are centralized

Pro's of a web app over desktop app:-

  • Only one copy of a program will ever need to be updated.
  • 99% of the code is platform independant.
  • maintainance, support and patches are easier to provide
  • Less chance of finding restrictions that the clients computer may have imposed
  • Plus many more

Con's of a web app over desktop app:-

  • If network connectivity is down, so is the app

  • Need to learn multiple languages to successfully develop an application (server side scripting, SQL, XHTML/CSS etc)

  • Less need for security (user's are trusted in the company, no "outside threat")
  • Need of a dedicated machine(s) for webserver

All of this is just a few of the many pro's and con's that you can find in this conversation

Both web and desktop platforms have their advantages and disadvantages. Good arguments can be made for both. Hybrid apps (part web, part desktop) also have advantages/disadvantages in this regard.

Application development should always be driven by requirements, not technology trends or religious prefs or comparative generalized advantages/disadvantages.

Ever try to sell a web app to folks in areas of the US or other countries where broadband access is spotty or non-existant? :) What about mobile access? Native, web-based, or hybrid? What about local access to data when there is no Internet connection, if it is required? Etc.

Start with the application requirement and work your way back to the technology. When you do that, you make the right decisions and end up with the best platform for the project at hand.

Example: Take the comment that reads, "Desktop applications give a far superior user experience than web applications." If the requirement (A) demands anywhere/anytime access from any computer equipped with a web browser and Internet access, and (B) also demands desktop-like performance (say, live database data that doesn't require page refreshes), then (C) the developer is led to consider technologies such as AJAX, Flash, Silverlight, Java, or even native clients that load as a browser control.

I'm just saying, again, be requirements driven, not technology driven.

A lot points are already mentioned. But there are a few i cannot totally agree with:

  • Deployment of a web application is easy, but deploying a desktop app isn't much more complicated in times of Microsoft ClickOnce or Java Web Start.
  • Bug fixing is a web application is not really easy (session less, running under web server process...).
  • A web application always has some limitations when it comes to executing security critical operations or accessing hardware.

Depends of the type of the application. If you have cms application than it cannot be replaced with web (at least some parts) because the application needs to work with local resources like printer, bar code reader, fiscal printer, display and so on.
So, for this type of applications that needs local resources, desktop cannot be replaced.
Also desktop apps can be very faster than web, for cms applications.

Imagine a big supermarket with a lot of customers waiting to pay their orders and paying windows with web applications. I have not seen such thing.

But also there are web frameworks like Oracle ADF that have even more reach than desktop assp. With ADF you can build web app identical to desktop app, in a way similar to the way the desktop apps are build. But is it expensive, learning curve is high and requires "good" hardware.

But keep in mind that if for web you are not using tested components java script is not so good for mission critical apps, it is error prone.

For me, who's normally completely web-based, the factor that swings me towards desktop apps is hardware integration. Web apps are great if all you need to do is read and submit data, but if it comes to interfacing with things like label printers, or other specialist hardware, a desktop app is the only real way to go. You can link these in with web services or the like if you absolutely have to have the "Web App" tick box ticked, but specialist hardware support is for the most part out of the realm of the browser, and it makes much more sense to use existing APIs to access it.

These days with people opting for linux/osx/windows platform independence is a big feature. This helps target a much larger market

There are of course the obvious advantages that the application can be used anywhere in the world... for convenience

i agree with the points above ...

i just want to add some pro on web app : 1. it looks nice. you can change the themes as well (just change the css) may be desktop app will looks boring to some user but wep app, you can change the themes/design and it will impress you user (and boss)

  1. it is cheaper to implements. For example, if you develop application with .NET you need to have clients that install windows. but in web application, once you develop, any client can access your web apps with any platform.

  2. web app development are simple (once you know about css javascript and framework) it can make your life easier.

  3. No virus and easy to deploy/install for client.

Cons: UI in web app are more complex and need ability in javascript and css stuff to make a good quality of UI.

I recommend you not to create from scratch (that would be pain) but build the new modules in web apps. that would be wise :)

The main reason for developing an application into a web approach is that it is more accessible than if you would suppose to compare it to a desktop application, but when doing it so you should be well informed of what to use depending on your needs.

Web-applications are good only if you are just going to develop applications that doesn't pass extremely confidential data, due for the reason that web-applications are deployed online they are prone to hackers than if you would compare it to a desktop application, desktop application could reduce security risk than on a web-application though there are already security measures to make website secured, but over the duration of time people will discover ways of destructing this security measures and I do believe that most of use knew about that most especially those hardcore hackers existing over there. Desktop application do also have security flaws but so very minimal.

But if somebody is really eager to take web-application for providing solutions then it would be better if he is well informed of the risk it may take also the same thing for people developing desktop applications.

I'd like to nominate one advantage of web applications that is less commonly recognised. A well-designed web application usually integrates online help into the application - you don't find the usual clumsy division between the terse, incomprehensible desktop app and its verbose, disorganised help file. This is perhaps a cultural difference between web developers/designers and desktop developers.

i am also an admirer of desktop applications. Let me quote few more disadvantages of web applications:

  1. Developing a web applications presentation logic/UI is too difficult compared to desktop applications.
  2. User experience in different browsers could vary.
  3. Delayed operations: consider same transactions in web and desktops. Web application may hold the delay of seeking the web server which is higher considered to desktop applications (in most cases)
  4. Client's CPU utilization: Though this may be considered as a disadvantage of desktop apps, web app does not hold good capability in utilizing client side processor which can be considered in some cases to level the total processing work load among client/server.

You are right about those advantages that you listed for desktop applications and there are even more that you forgot to mention (such as security, maintenance etc.) The main advantage of web applications is the fact that it can be consumed via a web browser from practically anywhere.

Visual WebGui is a solution aiming exactly at this as it allows to develop desktop (Windows) applications and run them as web applications so you can still enjoy the advantages of desktop development & deployment (intuitive, responsive, user friendly) and at the same time enjoy the accessibility of web applications.

Take a look, it might save you a lot of time and hassle.

Most of the time user needs only a browser to use your application. No need to deploy all the stuff application needs, and no need to think about why your application doesn't work on a client.

  • Web applications do not require much processing requirement on client side as all the processing is happening on server side, browser is just the view part or the user interface.
  • It is easy to make changes to web applications observing the log information and user browsing patterns as every request reaches to server and can be logged.

I used to develop desktop interfaces to my apps. Over the past 3 years I've moved across to pure web interfaces. Here is how I did it:

  • I write the core application as a collection of services, which I expose through REST.
  • I wrote a "library" that approximates the WxWidgets - but not pedantically.
  • The GUI is JS code that builds the screens programmatically - just like I used to for desktop apps.
  • All styling / skinning is done using CSS classes.
  • Currently I use long polling for interaction but plan to use either WebSockets or WebRTC in the future.

All users use the latest version of Chrome and the application is only accessible from the company intranet. Most users have a desktop shortcut that connects their Chrome in full-screen mode to the in-house server. The less savvy users aren't even aware (and don't need to be) that it is no longer a desktop app.

All agree with the comments above.

The illusion of desktop apps comparability is just a waste of time & being an ignorant about what future brings. web application is a newer & better technology than desktop applications. 10 years ago nearly No one was using web applications except some smart guy out there. Because it was completely new & experimental. and there was not enough tools to develop better & professional web applications. With PHP4 & its competition, many conditions changed. we all needed to be update ourselves.

Btw professional web applications can handle browser dependency problem. and there is a missing/ignored point: you can ACCESS from ANYWHERE with any platform/browser. With SSL much more secure. I don't know any professional desktop app with this feature.

Edit: Grammar & punctuation

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!