Differences Between Desktop and Web Applications
Desktop applications traditionally have been restricted by hardware on which they run. They should be developed & installed on specific operating system (OS) and have strict requirements of hardware that must be met in order to be sure that they function correctly. Updates to desktop applications should be applied by user directly to installation, & it will also require hardware and other changes in order to work. This dependency of hardware along with the legacy of mainframe terminal applications, have limited level of complexity in user interfaces for desktop applications.
When it comes to Web applications, they are more comparable with the original mainframe applications, or later client-server model that is very common for the earlier desktop business applications. User accesses application with the help of web browser and normally works with the resources available over internet, including the storage & CPU processing power. This approach allows the machines with restricted hardware capabilities to provide access to complicated applications delivered from centralized infrastructure. Additionally, use of existing web browsers & their multimedia capabilities have allowed developers to create more responsive and media-rich user interfaces. Some of these capabilities have reintroduced to desktop applications as well, but they are largely driven by ubiquity of web and way in which the users had been habitual to interact with computers.
Both the desktop and the web applications have their own pros and cons, desktop and web applications are at the end just the tools that helps people to solve problems. For example, we can work with electronic spreadsheets on our laptop using Microsoft Excel desktop or web application e.g Google Docs. Both of these allows for basic spreadsheet editing, but at the same time Google requires a live Internet connection in order to work. To overcome these types of shortcomings, most web applications have developed the capabilities to work offline once we start to work online & then continue later even if our application is disconnected from the internet. Some desktop applications nowadays make use of technologies which were originally created to build web applications.
So, each and every type of application have its own benefits & weaknesses and can be utilized best within its own niche.