Cloud development have some advantages over Desktop Development: They can be less expensive, simpler to manage, and easier to update and use. On the other hand, there may be reasons to keep your application on your desktop, including network bandwidth. The basic differences between applications that run on your desktop and similar applications optimized for the cloud, to help you choose how to access your applications.
- Software installation
One of the biggest advantages to cloud applications is that no installation is required. You can avoid the time and effort required to download software. The cloud application is rendered in the browser, thereby exploiting the browser capabilities such as flash content rendering and CSS.
- Resource utilization
In cloud applications, most of the heavy processing is handled by the service provider, which minimizes the requirements on your system configuration. Desktop applications require high memory and processing speed for complex applications like graphic design.
- Software updates
Desktop applications need to be updated periodically. The desktop application prompts you to download updates or you need to manually update the software. Cloud applications are updated by the application service provider.
- Platform independence
Desktop applications have to be developed for multiple platforms, such as Windows, Linux, Mac, and specific hardware. Since most cloud applications are developed to be used in a browser, they run on various platforms.
- Networking capabilities
One of the key advantages of the desktop application is its independence from internet connectivity and bandwidth considerations. Cloud applications rely upon the internet infrastructure for data transport and content rendering.
You'll likely encounter advertisements in cloud based applications, while few desktop applications display ads within the application. This is not a technical issue, but the fact that bandwidth is a very important consideration in cloud application makes us consider wasted bandwidth that ads rack up.
- Authentication and authorization
Cloud applications use end-user information for a variety of reasons, such as tracking usage or delivering quality of service. We find many cloud applications offer premium users improved bandwidth, additional storage and other value added features compared to the features offered to users who do not have premium service. Most desktop applications require little if any authentication, and if they do, they will rely on the operating system to determine the privileges, with system administrator having full access.
- Data storage
In desktop applications the data is stored on your own computer, whereas in SaaS applications data resides in the server space allocated to you. Since most of the processing is handled on the server side, data needs to be transported to and from the cloud application service provider. This can impose a requirement for high bandwidth to accommodate frequent and large data calls to the cloud server.
Desktop applications have information on the internal details of a system, such as data storage location, encryption used, and user privileges. One of the biggest challenges in cloud computing is having lack of proper information on location of the data, recovery policy used, encryption method, and trustworthiness of the cloud service provider. Owing to these factors, users may hesitate to place highly sensitive information on the servers of third party cloud service providers.