Program Tip

데스크톱 애플리케이션에 비해 웹 애플리케이션의 장점

programtip 2020. 10. 13. 19:05
반응형

데스크톱 애플리케이션에 비해 웹 애플리케이션의 장점


제가 일하는 회사에서 갑자기 모든 애플리케이션이 웹 애플리케이션으로 포팅되어야하는 것 같습니다. 내가 이해할 수있는 한, 유일한 이유는 웹 애플리케이션 과대 광고가 마침내 일부 의사 결정권자를 오염 시켰기 때문입니다.

저는 데스크톱 응용 프로그램이 더 사용자 친화적이기 때문에 팬입니다. 제 생각에는 더 반응이 빠르고 사용자 인터페이스가 더 좋으며 사용자 정의가 가능하며 키보드 지원이 더 좋습니다. 웹 버전의 Visual Studio 또는 OpenOffice를 사용하는 것을 볼 수 없습니다. 또한 씬 클라이언트 데스크톱 응용 프로그램이 웹 응용 프로그램보다 구현하기 쉽다는 인상을 받았습니다.

웹 응용 프로그램의 일부 특성을 간과하고있을 수 있으며 위에서 언급 한 단점에 대해 잘못된 것일 수 있습니다. 따라서 내 질문 : 데스크톱 응용 프로그램보다 웹 응용 프로그램의 장점을 볼 수있는 사람이 있습니까?

업데이트 : 지금까지 흥미로운 반응이있었습니다. 그러나 씬 클라이언트 애플리케이션 과 팻 클라이언트 애플리케이션 의 차이점에 대해 말하는 것이 아니라 웹 브라우저 플랫폼과 데스크톱 플랫폼 용으로 개발 하는 것의 차이에 대해서만 이야기하고 있습니다.

업데이트 : "웹 응용 프로그램"이란 Silverlight와 같은 풍부한 인터넷 응용 프로그램이 아닌 HTML / CSS / JavaScript 조합을 의미합니다 . 이들은 데스크톱 응용 프로그램과 매우 유사하며 주된 차이점은 샌드 박스에서 실행된다는 점입니다.


  1. 웹 응용 프로그램 은 각 클라이언트 컴퓨터 배포 하는 부담을 덜어줍니다 .

  2. 클라이언트 컴퓨터에서 버전 확인 을 시행 할 필요가 없습니다 .

  3. 업데이트 가 더 쉽습니다.

  4. 버그 수정을 더 쉽게 만듭니다 .

  5. 관리자 권한 검사가 없습니다 .

  6. 어디서나 액세스 할 수 있습니다 .

  7. 플랫폼 독립적 .

  8. 지원 및 유지 관리 가 더 쉽습니다.

  9. 모바일 애플리케이션의 적응성 .


데스크톱 응용 프로그램은 웹 응용 프로그램보다 훨씬 우수한 사용자 경험을 제공합니다.

물론 모든 옵션에는 장단점이 있지만 이들도 평가해야합니다. 사용자 경험 또는 플랫폼 독립성 중 어느 것이 더 중요합니까? 우리는 많은 것보다 사용자 경험을 평가합니다. 예, 우리는 희생을하고 있지만 그것은 삶의 일부입니다.

상사를 설득하는 한 가지 방법은 사용자 경험이 데스크톱 애플리케이션에서 수 광년 앞서 있음을 증명 하고 웹 애플리케이션을 만들기 전에 데스크톱 애플리케이션을 만들도록 설득하는 것 입니다.

우리 회사와 고객 모두 웹 앱보다 데스크톱 앱을 선호합니다. 그들은 데스크톱 응용 프로그램을 사용할 때 발생하는 모든 단점을 기꺼이 받아들입니다.

다른 사람들이 한 것처럼 내 대답에 웹 앱의 장점을 나열하지 않습니다. 웹 앱과 데스크톱 앱에는 모두 장단점이 있습니다. 둘 다하십시오! 고객이 선택하게하십시오. 통계에 대해 나에게 돌아와. ;-)


풍부한 데스크톱 앱과 웹 사이트를 모두 작성하면서 상당한 개발 작업을 수행했습니다.

일반적으로 데스크톱 앱용 코드를 작성하는 것이 더 쉽고, 더 많은 컨트롤을 사용할 수 있으며, 앱 작동 방식을 훨씬 더 잘 제어 할 수 있습니다.

웹 응용 프로그램을 작성하려면 HTML, CSS 및 Javascript뿐만 아니라 브라우저의 제한 사항 (또는 IE에 대해 이야기 할 때 버그)을 이해해야합니다. 상태와 유지에 대해 걱정해야하며 사용 가능한 메커니즘이 제한되어 있습니다.

그래도 시간이 지남에 따라 웹 애플리케이션 작성을 점점 더 즐기고 있습니다. 플랫폼의 한계로 인해 작업이 단순화되고 웹의 상태 비 저장은 일부 복잡성을 관리하는 데 도움이됩니다. 저의 마지막 웹 프로젝트가 시작되었고, 비전문가가 이제 웹 페이지와 그 작동 방식에 익숙해지기 때문에 비즈니스는 사실상 교육이 필요하지 않았습니다. 수정 사항을 적용하고 즉시 적용하는 것도 좋습니다. 데스크톱 앱 업그레이드 작업을 해 본 적이 있다면 의심 할 여지없이 그것이 얼마나 복잡하고 고통 스러운지 알 것입니다.

최근 우리는 메인 시스템을 웹 사이트로 작성하는 혼합 전략 (웹탑)으로 약간의 성공을 거두었지만 더 많은 기능이 필요한 고급 사용자를 위해 클라이언트 측 애플리케이션을 제공했습니다. 이것은 브라우저 컨트롤을 호스팅하거나 (윈도우에서는 IE를 쉽게 포함 할 수 있고, OS X에서는 safari에서도 동일하게 수행 할 수 있음) API를 사용할 수 있습니다. Twitter가 웹 버전을 제공하는 것과 비슷하지만 고급 사용자는 TweetDeck 등을 사용할 수 있습니다.


  • 모든 사용자는 항상 최신 버전을 사용합니다.
  • 불법 복제 금지
  • 사용자가 어디에 있든 액세스 가능
  • 크로스 플랫폼
  • 사용자에게 설치가 필요하지 않습니다.
  • 사용자가 무엇을하고 있는지 쉽게 측정 할 수 있습니다 (기능 XX 등을 사용중인 사용자 수).
  • 모든 데이터가 중앙 집중화되므로 필요한 경우 사용자간에 손쉽게 공동 작업을 제공 할 수 있습니다.

데스크탑 앱보다 웹 앱의 장점 :-

  • 프로그램의 사본 하나만 업데이트하면됩니다.
  • 코드의 99 %는 플랫폼에 독립적입니다.
  • 유지 관리, 지원 및 패치를 제공하기가 더 쉽습니다.
  • 클라이언트 컴퓨터가 부과했을 수있는 제한을 찾을 가능성이 적습니다.
  • 더 많은 것

데스크톱 앱보다 웹 앱의 단점 :-

  • 네트워크 연결이 끊어지면 앱도

  • 애플리케이션을 성공적으로 개발하기 위해 여러 언어를 배워야 함 (서버 측 스크립팅, SQL, XHTML / CSS 등)

  • 보안 필요성 감소 (사용자는 회사에서 신뢰하며 "외부 위협"없음)
  • 웹 서버 전용 머신 필요

이 모든 것은 이 대화에서 찾을 수있는 많은 장단점 중 일부불과 합니다.


웹 및 데스크톱 플랫폼에는 모두 장점과 단점이 있습니다. 둘 다 좋은 주장을 할 수 있습니다. 하이브리드 앱 (파트 웹, 파트 데스크톱)도 이와 관련하여 장단점을 가지고 있습니다.

응용 프로그램 개발은 항상 기술 추세 나 종교적 선호 또는 비교 일반화 된 장점 / 단점이 아닌 요구 사항에 따라 이루어져야합니다.

광대역 액세스가 불안정하거나 존재하지 않는 미국 또는 기타 국가의 사람들에게 웹 앱을 판매하려고 시도한 적이 있습니까? :) 모바일 액세스는 어떻습니까? 네이티브, 웹 기반 또는 하이브리드? 필요한 경우 인터넷에 연결되어 있지 않을 때 데이터에 대한 로컬 액세스는 어떻습니까? 기타.

응용 프로그램 요구 사항부터 시작하여 기술로 돌아가십시오. 그렇게하면 올바른 결정을 내리고 당면한 프로젝트에 가장 적합한 플랫폼을 얻게됩니다.

예 : "데스크톱 응용 프로그램은 웹 응용 프로그램보다 훨씬 우수한 사용자 경험을 제공합니다."라는 주석을 사용하십시오. 요구 사항 (A)가 웹 브라우저 및 인터넷 액세스가 장착 된 컴퓨터에서 언제 어디서나 액세스를 요구하고 (B) 데스크톱과 같은 성능 (예 : 페이지 새로 고침이 필요하지 않은 라이브 데이터베이스 데이터)도 요구하는 경우 ( C) 개발자는 AJAX, Flash, Silverlight, Java 또는 브라우저 컨트롤로로드되는 기본 클라이언트와 같은 기술을 고려하게됩니다.

다시 말하지만, 기술 중심이 아니라 요구 사항 중심이어야합니다.


이미 많은 점이 언급되었습니다. 그러나 내가 완전히 동의 할 수없는 몇 가지가 있습니다.

  • 웹 응용 프로그램 배포는 쉽지만 데스크톱 앱 배포는 Microsoft ClickOnce 또는 Java Web Start 시대에 그다지 복잡하지 않습니다.
  • 버그 수정은 웹 응용 프로그램이 정말 쉽지 않습니다 (세션이 덜하고 웹 서버 프로세스에서 실행 됨 ...).
  • 웹 애플리케이션은 보안에 중요한 작업을 실행하거나 하드웨어에 액세스 할 때 항상 몇 가지 제한이 있습니다.

응용 프로그램 유형에 따라 다릅니다. cms 응용 프로그램이있는 경우 응용 프로그램이 프린터, 바코드 판독기, 회계 프린터, 디스플레이 등과 같은 로컬 리소스와 함께 작동해야하기 때문에 웹 (적어도 일부)으로 대체 할 수 없습니다.
따라서 로컬 리소스가 필요한 이러한 유형의 응용 프로그램의 경우 데스크톱을 교체 할 수 없습니다.
또한 데스크톱 앱은 cms 애플리케이션의 경우 웹보다 매우 빠를 수 있습니다.

많은 고객이 주문을 기다리고 있고 웹 애플리케이션으로 창구를 지불하는 대형 슈퍼마켓을 상상해보십시오. 나는 그런 것을 본 적이 없습니다.

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

참고URL : https://stackoverflow.com/questions/1072904/advantages-of-web-applications-over-desktop-applications

반응형