Consider an application that relies heavily on the internet. It constantly talks to a remote server. However it’s UI is a desktop program that doesn’t live in a browser.
Would you consider such a thing – a ‘desktop application’ (or a native mobile one, etc.) that relies heavily on the internet – a web app?
Wikipedia says:
A web application or web app is any application software that runs in
a web browser…
A lot of applications might do the majority of the heavy lifting in a remote server (and some lighter stuff on the client machine). But they don’t run in a browser. Are those not ‘web apps’?
1
A desktop application is not a web application.
A native mobile application is not a web application.
The fact that a desktop/mobile applications relies heavily on internet resource doesn’t change anything. Nowadays, most applications do, since they need to empower their users with centralized online storage, off-site backups, the power of cloud computing, etc.
Note that it doesn’t matter where the web application performs most of processing. There is a distinction to make between a website (something which displays mostly static content and provides only basic interactivity) and a web application, but a web application may run entirely on client side (though JavaScript), store all the data on client side as well, and use a server only to retrieve source files (HTML, CSS and JavaScript).
Are web applications really different from desktop ones?
The distinction between a desktop/mobile application on one hand and a web application on the other hand matters for the following reasons:
-
Desktop and native mobile applications have usually more permissions than web applications. Web applications are run in sandbox and have no or low permissions on client side. They can eventually store their data (given that even this can easily be overridden by the user) on client machine, but cannot access hardware and person’s files in the same way desktop applications do.
This applies as well to RIA (Flash and Silverlight), which have a limited set of privileges compared to a desktop application.
-
Desktop and native mobile applications can benefit more in terms of performance for being close to the hardware. This tend to be less true recently, especially given the advance in terms of performance of V8 JavaScript engine, but still true for anything computationally intensive or something which pushes the hardware to its limits. If you’re not convinced, imagine Crysis 3 rewritten in JavaScript and fed trough a browser.
-
Desktop and native mobile applications can provide much more in terms of user experience (UX). Even with HTML 5 and CSS 3, web applications are very, very far from the capabilities, in terms of UX, of desktop applications. Shortcuts are a good example: if you’re not convinced, try to respond to shortcuts such as Ctrl+Shift+N in your web application and don’t forget to test how well it works in Chrome.
-
Some companies make a difference between web programmers and other programmers when hiring people. Web development requires slightly different knowledge compared to the one needed to develop applications for PCs or mobile devices.
On the other hand, the gap tends to shrink considerably with the efforts of companies such as Microsoft to bring a common set of tools and paradigms for both worlds. For instance, writing an application in WPF is not very different from writing one for Silverlight.
-
The way of distribution is different. Usually, a desktop application is downloaded and installed by the user, and the user has to make an additional effort in order to get a more recent version of the application. The effort can be as large as a new purchase (for example buying Microsoft Office 2013 to replace Microsoft Office 2007) or as small as a mouse click (for example installing a security update for Microsoft Office 2007). On the other hand, the user has usually no control over the updating and upgrading of a web application; those are often done silently.
Note that recently, more and more products tend to follow the model of web applications. Google Chrome is an excellent example: updates are done automatically (like Firefox) and in a non-intrusive way (unlike Firefox). Pay-per-month subscriptions also contribute to this movement for paid applications.
The world wide web is a system of interlinked hypertext documents you access via the internet.
A web-application is an application that uses this structure.
Any application that doesn’t use this structure but does rely heavily on the internet, is not a web-application it’s an internet application.
The world wide web and the internet are not the same. The web runs on top of the internet but so do a lot of other things.
7