Thin Vs. Thick Clients

Basically, a thin client is a web based application and most of the processing is done on the server side.

A thick client is installed into the client side. It is still connected to the server, but most of the processing is done on client side. With thick client, there won't be much processing via the network. In a way, it will be a much faster option if your network is slow or congested.


The codes are different for thick and thin clients. I think if you code in components, you can reuse the code about 60% - 80% of the time depending on the requirements.

More specific..

Thin Client: Is a Web Application, and runs on Internet Explorer. You access the application using http://hostname:portNumber/iSupport=20 Here you have a webserver and database in the background. It can be 2-tier or N-tier.

List of protocols used with thin clients

* Appliance Link Protocol
* Citrix ICA
* Remote Desktop Protocol
* Secure Shell or SSH, an encrypted replacement for telnet.
* Virtual Network Computing
* X11, central to Unix windowing
* XML, HTML, or JSON over HTTP (Ajax)
* DisplayLink over USB
* NFS

Thick Client: Is the Application which runs on Windows. It's like any other Windows based program/software. It can be accessed on the same system on which you have it installed.

Advantages of thick clients

1. Fewer server requirements. A thick client server does not require as high a level of performance as a thin client server (since the thick clients themselves do much of the application processing). This results in drastically cheaper servers.
2.Offline working. Thick clients have advantages in that a constant connection to the central server is often not required.
3.Better multimedia performance. Thick clients have advantages in multimedia-rich applications that would be bandwidth intensive if fully served. For example, thick clients are well suited for video gaming.
4.More flexibility. On some operating systems software products are designed for personal computers that have their own local resources. Running this software in a thin client environment can be difficult.
5.Using existing infrastructure. As many people now have very fast local PCs, they already have the infrastructure to run thick clients at no extra cost.
6.Higher server capacity. The more work that is carried out by the client, the less the server needs to do, increasing the number of users each server can support.

Comments

Harish said…
good article for dummies. thanks!

Popular posts from this blog

The model backing the 'MyDBContext' context has changed since the database was created. Either manually delete/update the database, or call Database.SetInitializer with an IDatabaseInitializer instance. For example, the DropCreateDatabaseIfModelChanges strategy will automatically delete and recreate the database, and optionally seed it with new data.

How can I get a value of a property from an anonymous type (C#)

Check/Uncheck all items in a CheckBoxList using Javascript