View Full Version : Web Applications Vs Desktop Applications

29-08-09, 07:43 AM
Web Applications Vs Desktop Applications:

Web applications as the name suggests are the applications which run under web browser as compared to Desktop applications which are run on the user machine. One will argue that browser is also running on users machine, true but web applications typically inside run inside a so called sandbox. This sandbox forces web applications with very limited access to resources on users machine.

Web applications:

Web Applications are run inside web browser.
Web Applications offer very limited functionality and interactivity.
Security is the main concern when writing web applications.
Web applications run very slow as they have to fetch the information from a server, and the server resources are shared by all the user currently log in to the server..
Updating the web application is very easy, you have to only update the server and every body immediately gets the updates.
In order to run a web application, the user needs an internet connection.
Web applications are much easier to write, though offer very limited functionality
Web applications are portable, so you can run them on all platforms, cross browser port can be an issue which is due to the fact that nearly all modern browsers implement a different standard of Javascript. While writing the web application, you have to make sure that it supports all modern browsers such as Internet Explorer, Fire Fox, Safari and Opera.
Web application are prone to all sort of server attacks such as SQL injection and DoS(Denial of Service).
Web applications are deployed on powerful servers. The user of web applications expects that the application is available 24/7.

Examples of typical web applications are

Webmail such as hotmail, yahoo and gmail.
Social networking such as Facebook, myspace, LinkedIn and Twitter.
Payroll or inventory system.
Google Search Engine.
Google Maps.
Google Earth (Can be either web or desktop application)

Desktop applications:

Desktop applications has full access to user machine resources.
Desktop applications are far more faster and offer much more functionality than web applications.
In order to update the desktop application the user have to explicitly install the new version of the software.
Security can still be an issue on desktop applications as they have full access to user machine resources.
Desktop applications does not require internet connection.
Desktop applications requires a hefty amount of space to install.
Desktop applications are prone to viruses.
Desktop applications are hard to write as they offer much more functionality and features than web applications.
The resources on user machine dictates the performance of desktop applications.

Examples of typical desktop applications are

The OS (Operating System).
Adobe Acrobat Reader.
Web browser.
Half Life 2 (PC game)
Microsoft Office.
Instant Messaging application such as msn messenger, yahoo messenger, Skype.
Google Earth (Can be either web or desktop application)
3D Studio Max, Maya, Poser
Winrar, Winzip

Although web applications offer very limited functionality and interactivity, the gap between web and desktop applications is closing, these days web applications are becoming more powerful than before, although still offering a fraction of services offered by desktop applications.

What languages and platform to use to write web applications:

You can virtually use any language to write a web application, but the most popular of them are PHP, JSP, Perl, Python, ASP and ruby. You can also deploy them on all linux and windows platforms, although ASP can only be hosted on windows based platforms.
What languages and platform to use to write desktop applications:

Well, the type of application you are writing dictates what language and platform is to be used. If you are writing a computer game then your most obvious language will be C++ on windows. If you are writing a paint application then you can either write it purely in Java or with C++ and Java, where Java will handle the GUI side of the application and C++ will handle all the core functionality. If you are writing a scientific application then your most obvious choice will be C++. C++ does not offer GUI component compared to Java, although you will get something by using Windows GUI API, but then your application can only work on windows platform. C++ can use other GUI toolkit such as Motif, qt, Interviews, wxWidgets and GTK+. All those GUI toolkits are platform independent, so your application can then be platform indpendent. If you are planning to use Windows then just use stuff offered by Windows.

30-08-09, 12:37 PM
Mozilla Prism !! I use it for my most visited sites like Pakgamers, Google, Wikipedia, Facebook and Gmail ... It looks good and is fast...