This blog is subject the DISCLAIMER below.

Friday, February 02, 2007

Smart Client Applications Part 1

Hey all that’s the first technical article to me, so I hope it is good.

First of all, we have 2 kinds of applications:
Thin Clients ->Browser Clients that deal with Server Network
Rich Clients -> Windows Applications –Desktop Applications

So the smart client technology do the following take the advantage of the thin client applications and the advantage of the rich client applications integrated with XML webservices.

Smart Client: Applications and devices that can take advantage of the power of local processing, but have the flexibility of Web-based computing.

So because of the flexibility of smart client applications , we have to talk about the characteristics of the smart client. If any application have these characteristics so it can be called smart:

Utilizes Local Resources

A smart client application always has code artifacts on the client that enable local resources to be utilized. What do we mean by local resources? We mean everything from hardware to software resources. A smart client may take advantage of the local CPU or GPU, local memory or disk, or any local devices connected to the client, such as a telephone, bar-code/RFID reader, and so on. But it may also take advantage of local software, such as Microsoft Office applications, or any installed line-of-business (LOB) applications that interact with it.


Smart client applications are never standalone and always form part of a larger distributed solution. This could mean that the application interacts with a number of Web services that provide access to data or an LOB application. Very often, the application has access to specific services that help maintain the application and provide deployment and update services.

Offline Capable

Because they are running on the local machine, one of the key benefits that smart client applications offer is that they can be made to work even when the user is not connected. For applications running in occasional or intermittent connectivity situations, such as those used by traveling workers or even those running on laptops, tablets, PDA's, and so on, where connectivity cannot be guaranteed at all times, being able to work while disconnected is essential. Even when the client is connected, the smart client application can improve performance and usability by caching data and managing the connection in an intelligent way.

Intelligent Install and Update

Smart client applications manage their deployment and update in a much more intelligent way than traditional rich client applications. The .NET framework enables application artifacts to be deployed using a variety of techniques, including simple file copy or download over HTTP. Applications can be updated while running and can be deployed on demand by clicking on a URL. The Microsoft® .NET Framework provides a powerful security mechanism that guarantees the integrity of the application and its related assemblies. Assemblies can be given limited permissions in order to restrict their functionality in semi-trusted scenarios.

Client Device Flexibility

The .NET Framework together with the .NET Compact Framework provides a common platform upon which smart client applications can be built. Often, there will be multiple versions of the smart client application, each targeting a specific device type and taking advantage of the devices unique features and providing functionality appropriate to its usage.


Ahmed Essawy said...

Congraulation Hanaa (first first technical article ) .It was useful .

Mohamed Gamal El-Den said...

Well Done Hanaa , Great Post
but i have one Question..
one of the properties of Smart Client is "Offline Capable" Plz if you Can Give an Example it will be more useful.
Thanks Alot
and we are Waiting more more
Good Luck

sh@dy said...

salamo 3aliko, Great start, keep it up Hanaa...

May I answer, & plz Hanaa correct me if I'm wrong...consider ya gemmy 4 eg the different between accessing your mail through a web browser or through a mail client (eg: Mozilla Thunderbird, or Ms Outlook) case of a web browser if you are not connected you have know chance to do can only make use of the application when you are online....while in the case of the mail client you can write new mail msgs, review previous msg, etc; while you are can even trigger your mail client to send your pending mail as soon as it's connected (even if you are not there to do so)...

Hanaa Tag el Dain said...

@ Essway thnx so much really ya rab tkon fhmt mny 7aga.

@ Mohamed thnx so much and i guess shady have answer your Q and i think u can not get better than that and i am sorry for being late i just check comments now.

@ Shady thnx so so much i will try to keep it up :) and thnx for your answer (mnkom nstfeed) i really appreciated :)

Mohamed Gamal El-Den said...

:D i didn't Use MS Out Look in my LIFE , any way thanks alot Not for Your Answer But ...:)) .. Coz ana kont 3awez a3mel Program this days Do ele enta 2olt en el out look by3melo :D .. realy i didn't use it be4 .. bas kewayes enk le7e2tny :))

anyway Thanks 4 all